得到一个未定义的方法`id&#39;对于#<activerecord :: relation> </activerecord :: relation>

时间:2014-06-04 17:57:55

标签: ruby-on-rails ruby-on-rails-3 activerecord

我是ROR的新手,我似乎无法解决以下错误消息:

GolfClubsController#show中的NoMethodError

未定义的方法`id&#39;对于#

以下是我的模特。

class GolfClub < ActiveRecord::Base
  attr_accessible :name
  has_many :course_nines
  validates :name, presence: true, length: { maximum: 150 }
end

class CourseNine < ActiveRecord::Base
  attr_accessible :name, :golfclub_id
  belongs_to :golf_club
end

这是我的控制者:

def show
  @golf_club = GolfClub.find(params[:id])
  @courses = CourseNine.where(golfclub_id: @golf_club.id)
end

和我的show.html.erb

<% provide(:title, @golf_club.name) %>
<h1><%= @golf_club.name %></h1>

<% @courses.each do |course| %>
  <li>
    <%= course.name %>
  </li>
<% end %>

1 个答案:

答案 0 :(得分:0)

我发现错误是由于我命名我的fk的方式。它应该在CourseNine模型中命名为golf_club_id而不是golfclub_id。似乎rails总是寻找golf_club_id。