2016-06-12 105 views
-2

電影型號:Ruby on Rails的ActiveRecord_Associations_CollectionProxy未定義的方法

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

由於movie有很多trailerlinks和我相信Drama是電影的STI協會,然後@link = @drama.trailerlinks將在CollectionProxy對象,它不具有'id屬性返回一個對象陣列

要獲得id屬性,環路通過陣列或獲取對象離開那裏:

在控制器: @link = @drama.trailerlinks.first

OR

鑑於

<% @link.each do |l| %> 
    <%= l.id %> 
<% end %> 
相關問題