今、私はビデオのサムネイルファイルを扱っています。 私はポリモーフィックな関連使いたい:多型関連について
class Picture < ActiveRecord::Base
belongs_to :pictureable, :polymorphic => true
end
class Video < ActiveRecord::Base
belongs_to :videoable, :polymorphic => true
has_many :pictures, :as => :pictureable # I want to use has_one :picture, :as => :picturealbe, it make sense to let each video have a single picture as thumbnail but it doesn't work for me, video.picture return a nil
end
class Drummer < ActiveRecord::Base
has_many :videos,:as => :videoable
has_many :pictures, :as => :pictureable
end
をし、私は開発のログファイルに、このエラーを得たことは、サムネイル
<% @drummer.videos.each do |v|%>
<li>
<%= link_to video_path(v) do %>
<%= image_tag(v.pictures.find(1).url) %>
<h4><%= v.title %></h4>
<h5><%= v.desc %></h5>
<h6>event place</h6>
<% end %>
</li>
<% end %>
だと、すべてのビデオを表示するために、これを使用する:
ActionView::Template::Error (Couldn't find Picture with ID=1 [WHERE ("pictures".pictureable_id = 3 AND "pictures".pictureable_type = 'Video')]):
92: <% @drummer.videos.each do |v|%>
93: <li>
94: <%= link_to video_path(v) do %>
95: <%= image_tag(v.pictures.find(1).url) %>
96: <h4><%= v.title %></h4>
97: <h5><%= v.desc %></h5>
98: <h6>event place</h6>
app/views/drummers/show.html.erb:95:in `block (2 levels) in _app_views_drummers_show_html_erb___754323413_3886850_892596806'
app/views/drummers/show.html.erb:94:in `block in _app_views_drummers_show_html_erb___754323413_3886850_892596806'
app/views/drummers/show.html.erb:92:in
`_app_views_drummers_show_html_erb___754323413_3886850_892596806'
私の解決策は全くエレガントではありませんが、私は良いアイデアを考え出すことができません 提案はありますか? おかげでみんな
うわー、それは意味があります。ありがとう – mko