У меня есть несколько моделей, которые используют полиморфную модель Photo.Это все хорошо и хорошо для сохранения или доступа к атрибутам фотографий через консоль или проверку или регистратор, но если я пытаюсь вызвать их непосредственно в представлении, например, @banner.photo.file
, он возвращает undefined method 'file' etc for nil:Nil
Фотографии загружаются с помощью скрепки, и для всех моделей установлены значения has_one :photo, :as => :imageable
и accepts_nested_attributes_for :photo, :allow_destroy => true
.И модель Фото установлена как belongs_to :imageable, :polymorphic => true
и has_attached_file :file
.
. Это столбцы для модели Фото:
id:integer
file:string
imageable_id:integer
imageable_type:string
file_file_name:string
file_content_type:string
file_file_size:integer
(кроме созданного_т.д. и т. Д.)
На мой взгляд:
<% @banners.each do |b| %>
<%= b.inspect %><br />
<%= b.photo.inspect %><br /><br />
<% end %>
Вы можете увидеть инспекцию на http://bdyvu2.hospedagemweb.net/
Большое спасибо заранее !!