Лучший способ обновить атрибут ActiveRecord по ссылке - PullRequest
0 голосов
/ 19 января 2011

У меня есть Model с атрибутом votes.У меня есть ссылка в представлении, которое должно увеличивать значение votes - каков наилучший способ сделать это?

В настоящее время я пробую ссылку типа:

<%= link_to 'Up', '#', :method => :voteup %>

и voteup в model_controller, но это не работает.

Ответы [ 2 ]

3 голосов
/ 19 января 2011

Я думаю, что лучшим способом было бы это:

В config/routes.rb:

resources :quotes do
  member do
    post :upvote
  end
end

И ваша ссылка:

<%= link_to 'Up', upvote_quote_path(@quote), :method => :post %>

Обратите внимание, что мы используемPOST-запрос, который более уместен, чем GET-запрос при изменении записи.

1 голос
/ 19 января 2011

: метод должен использоваться только для указания между запросами POST, GET, DELETE и PUT.Ваш второй параметр link_to должен быть действием, которое вы хотите выполнить в вашем контроллере.

<%= link_to "Up", :action => :voteup %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...