【发布时间】:2015-03-14 18:12:17
【问题描述】:
我几个小时前才这样做,现在我无法让它再次尝试。有许多用户和许多事件目标。用户有很多 EventGoals 和 EventGoals 有很多用户,两者都通过名为 EventGoalClaims 的连接表。 @event_goal 正在正确传递,但我得到一个 `
undefined method `event_goal_claims' for #<EventGoal:0x007fd11b0ce178>`
这是视图(第一行出现错误):
<%= form_for([@event_goal, @event_goal.event_goal_claims.build]) do |f| %>
<%= f.hidden_field :user_id, :value => current_user.id %>
<%= f.hidden_field :user_last_name, :value => current_user.last_name %>
控制器
def create
@event_goal = EventGoal.find(params[:event_goal_id])
@event_goal_claim = @event_goal.event_goal_claims.build(eventgoalclaim_params)
@event_goal_claim.event_goal_id = @event_goal.id
@event_goal_claim.user_id = current_user.id
@event_goal_claim.user_last_name = current_user.last_name
...
private
def eventgoalclaim_params
params.require(:event_goal_claim).permit(:event_goal_id, :user_id, :user_last_name, :approved)
end
编辑
class EventGoal < ActiveRecord::Base
belongs_to :event
has_many :users, through: :event_goal_claims
end
【问题讨论】:
-
你能粘贴你的 event_goal.rb 吗?
标签: mysql ruby-on-rails join has-many-through