我有2个模型,User
和Queue
。我希望能够在@user.id
内将users_controller
添加到队列表中。
我的模特是:
class Queue < ActiveRecord::Base
has_many :users
end
class User < ActiveRecord::Base
belongs_to :queue
end
我在users_controller
的功能是:
def addToQueue
queue_entry = Queue.new(user_id: @user.id) # where things go wrong
if queue_entry.save
redirect_to user_path(@user), notice: "#{@user.name} has been successfully added to the queue."
else
redirect_to user_path(@user), :flash => {:error => "Error: #{@user.name} was NOT added to the queue."}
end
end
我在show.html.erb
的{{1}}视图中有此功能的链接:user
由于某些原因,我不断获得:<%= link_to 'Add to queue', addToQueue_path(@user) %>
指向wrong number of arguments (1 for 0)
我该怎么做?
答案 0 :(得分:1)
您设置关系的方式意味着users表具有外键queue_id
,而不是相反。
由于User
belongs_to
和Queue
实例的实例必须queue_id
必须在User
实例上指定为C:\>tree
。