Rails 3 - Как создать новую запись из link_to

Я пытаюсь создать функциональность "тега", которая позволит пользователю "тегировать" интересующие его элементы. Вот моя модель

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 %>

(Этот код находится в пределах a: @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 для создания и сохранения новой записи тега?

8
задан Don Leatham 28 August 2011 в 06:12
поделиться