Ruby on rails Rails没有方法错误关联

Ruby on rails Rails没有方法错误关联,ruby-on-rails,associations,models,Ruby On Rails,Associations,Models,第一次呼叫,长时间监听。我对我的Rails协会有意见。我的目标是建立一个活动网站,用户可以在其中创建活动和参加活动。我已经创建了我的模型、用户、事件和关联,例如: class Event belongs_to :creator, :class_name => "User" ... end class User has_many :created_events, :foreign_key => "creator_id", :class_name => "Event"

第一次呼叫,长时间监听。我对我的Rails协会有意见。我的目标是建立一个活动网站,用户可以在其中创建活动和参加活动。我已经创建了我的模型、用户、事件和关联,例如:

class Event
  belongs_to :creator, :class_name => "User"
  ...
end

class User
  has_many :created_events, :foreign_key => "creator_id", :class_name => "Event", dependent: :destroy
  ...
end
我的事件模型只有一个描述和创建者id外键,其中我的用户只有一个名称字段。但是当我尝试使用
@event=current\u user.events.build
时,我得到了一个无方法错误<代码>当前用户仅使用会话返回用户id

我一辈子也弄不明白为什么我会犯这样的错误


我有一个完整的项目。

用户
有很多:创建的事件
,而不是
有很多:事件
。因此,尝试
current\u user.created\u events.build
而不是
current\u user.events.build

请务必查看,您应该始终尝试尽可能最好地格式化代码。如果
current\u user
只是用户id,那么它是一个数字,而不是类user的实例,这就是为什么没有
events
方法。使用该id获取所需的用户,例如
user.find(当前用户)
。class
user
有许多:已创建的事件
,而不是
有许多:事件
。因此,尝试
current\u user.created\u events.build
而不是
current\u user.events.build
@jvillian您的评论应该是一个答案。添加到这个答案中,不要忘了通过调用来保存新事件:
@event.save
在操作事件属性(
日期/描述
),因为
build
方法只创建内存中的实例<代码>保存将使其保留在数据库中。