Я пытаюсь создать функциональность «тега», которая позволяет пользователю «маркировать» элементы, которые ему интересны. Вот моя модель
class tag
belongs_to :user
belongs_to :item
end
Соответствующая таблица БД имеет обязательные поля :user_id
и :item_id
.
В списке :items
я хочу ссылку рядом с каждым :item
, которая позволяет пользователю пометить :item
. Поскольку я знаю :user_id
и :item_id
, я хочу создать новую запись :tag
, установить поля идентификатора и сохранить запись - и все это без вмешательства пользователя. Я попытался выполнить следующий вызов 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 действителен.)
Этот 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 для создания и сохранения новой записи тега?