неопределенная локальная переменная или метод f в Rails 3.1 - PullRequest
1 голос
/ 07 августа 2011

Я использую рельсы в течение месяца, в основном люблю его, иногда приводя в бешенство (я еще не стал особенно эффективным в отладке с помощью магии).

У меня есть страница галереи, которая простирается отто, что называется просто страница.На каждой странице галереи есть много изображений галереи.

class Gallery < Page
  belongs_to :page, :dependent => :destroy
  has_many :gallery_images, :dependent => :destroy
  accepts_nested_attributes_for :gallery_images
end

class GalleryImage < ActiveRecord::Base
  has_attached_file :image, :styles => { :medium => "600x600>", :thumb => "100x100>" }
  belongs_to :gallery
end

Я пытаюсь редактировать галерею через контроллер страниц.

  def edit
    @page = Gallery.find(params[:id])
    @house = @page.house
  end

Через страницу / edit.html.erb я отображаючастичная форма галереи

<%= form_for @page do |f| %>
  <p><b>Images</b></p>
    <% for image in @page.gallery_images %>
        <%= image.image.url(:thumb) %>
    <% end %>

  <%= f.fields_for :gallery_images do |builder| %>
    <% render :partial => "galleries/gallery_image_fields", :f => builder %>
  <% end %>

  <p><%= f.submit %></p>
<% end %>

В galleries / gallery_image_fields у меня есть

<p class="fields">
  <%= f.label :image %><br />
  <%= f.file_field :image %>
</p>

Теперь распечатаны URL-адреса вышеупомянутого изображения, поэтому кажется, что relashionship работает нормально, однако я получаюсообщение об огромном разочаровании.

неопределенная локальная переменная или метод `f 'для # <#: 0x210eb34> Отображение mypathblahblah / app / views / galleries / _gallery_image_fields.html.erb, где поднялась строка # 2:

Если у кого-то есть решение, которое, очевидно, было бы идеальным, в противном случае некоторые мысли о том, как можно отладить эту проблему, были бы также хороши.Я попытался вывести Debug Builder, но он мне не очень помог.

Спасибо

1 Ответ

12 голосов
/ 07 августа 2011

Попробуйте изменить:

<% render :partial => "galleries/gallery_image_fields", :f => builder %>

в

<% render :partial => "galleries/gallery_image_fields", :locals => { :f => builder } %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...