从链接更新ActiveRecord属性的最佳方法

时间:2011-01-19 16:45:59

标签: ruby-on-rails ruby-on-rails-3

我有一个Model,其属性为votes。我在视图中有一个链接需要增加votes的值 - 这是最好的方法吗?

我目前正在尝试以下链接:

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

voteup中的model_controller方法,但这不起作用。

2 个答案:

答案 0 :(得分:3)

我认为最好的方法是:

config/routes.rb

resources :quotes do
  member do
    post :upvote
  end
end

您的链接:

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

请注意,我们使用POST请求,这比修改记录时的GET请求更合适。

答案 1 :(得分:1)

:方法仅用于在POST,GET,DELETE和PUT请求之间进行指定。 link_to的第二个参数应该是您想要在控制器中执行的操作。

<%= link_to "Up", :action => :voteup %>