Ruby on rails 在创建记录时传递多个关联ID

Ruby on rails 在创建记录时传递多个关联ID,ruby-on-rails,ruby,activerecord,Ruby On Rails,Ruby,Activerecord,我现在有一个模型叫Problem。这与用户通过所属对象关联,并且用户有许多问题。用户可以就问题进行投票。有了这个,我就有了一个投票模型,其中问题和用户都有一个归属/索引 这段代码创建了我的投票,但是它也没有携带用户ID。最终,我想让一个用户只能对一个问题投票一次。我怎样才能让它在创建时接受两个参数,而不仅仅是问题id Conerns/Vote.rb def upvote @problem = Problem.find(params[:id]) @problem.votes.create

我现在有一个模型叫Problem。这与用户通过所属对象关联,并且用户有许多问题。用户可以就问题进行投票。有了这个,我就有了一个投票模型,其中问题和用户都有一个归属/索引

这段代码创建了我的投票,但是它也没有携带用户ID。最终,我想让一个用户只能对一个问题投票一次。我怎样才能让它在创建时接受两个参数,而不仅仅是问题id

Conerns/Vote.rb

def upvote
  @problem = Problem.find(params[:id])
  @problem.votes.create
  redirect_to(problem_path)
end
routes.rb

resources :problems do
member do
  post 'upvote'
end
index.html.erb

  <%= button_to '+1', upvote_problem_path(problem), method: :post %>

我假设您可以使用
current\u user.id
获取当前用户的id(如果您使用的是designe),并且
投票表中有一个
user\u id
列(如果没有,则通过迁移创建),然后您可以这样编写操作:

def upvote
  @problem = Problem.find(params[:id])
  @problem.votes.create :user_id => current_user.id
  redirect_to problem_path(@problem)
end

工作完美。我确实在使用Desive,而且我的身份证已经在投票表上了。非常感谢鲍德里克。