电影模特:
class Movie < ActiveRecord::Base
has_many :trailerlinks
end
预告片型号:
class Trailerlink < ActiveRecord::Base
belongs_to :movie
end
在我的电影控制器中使用此
class MoviesController < ApplicationController
def show
@drama = Drama.find(params[:id])
@link = @drama.trailerlinks
end
end
在我看来,我用这个来表明:
<%= @link.id %>
显示如下错误:
undefined method `id' for #<ActiveRecord::Associations::CollectionProxy []>
怎么解决呢?可以教我吗?
答案 0 :(得分:0)
由于movie
有很多trailerlinks
,我认为Drama
是电影的STI关联,然后@link = @drama.trailerlinks
将返回数组对象在CollectionProxy
对象中,它没有`id属性。
要获取id
属性,请遍历数组或从中获取对象:
在控制器中:
@link = @drama.trailerlinks.first
OR
在视图中
<% @link.each do |l| %>
<%= l.id %>
<% end %>