我正在尝试创建一个“标签”功能,允许用户“标记”他们感兴趣的项目。这是我的模型
class tag
belongs_to :user
belongs_to :item
end
对应的DB表有必要的:user_id
and :item_id
字段。
在列表中:items
我想要每个旁边都有一个链接:item
允许用户标记:item
。因为我知道:user_id
和:item_id
,我想创建一个新的:tag
记录、设置 ID 字段并保存记录 - 所有这些都无需用户干预。我尝试了以下调用link_to
,但数据库中没有保存任何记录:
<%= link_to 'Tag it!', {:controller => "tracks",
:method => :post,
:action => "create"},
:user_id => current_user.id,
:item_id => item.id %>
(此代码位于:@item.each do |item|
语句,因此 item.id 有效。)
This link_to
调用创建此 URL:
http://localhost:3000/tags?method=post&tag_id=7&user_id=1
这不会创建一个Tag
记录在数据库中。这是我的:create
行动于tags_controller
def create
@tag = Tag.new
@tag.user_id = params[:user_id]
@tag.tag_id = params[:tag_id]
@tag.save
end
如何让 link_to 创建并保存新标签记录?