通过link_to更新单个属性

时间:2014-02-03 11:35:30

标签: ruby-on-rails

我想通过链接更新单个属性(单击“设置为默认帐户”,将is_default列设置为true)。我有以下链接:

<% @accounts.each do |account| %>
.
.
  <%= link_to 'Set as default', account, method: :put %>

...正如您所见,我正在使用“帐户”对象来设置网址。这导致类似"/accounts/7"的内容。但是,我不知道如何传递is_default = true参数。我应该在这里做点什么吗?我应该使用* _path吗?另外我猜我想要一个地址,如"/accounts/7?is_default=true"(或"/accounts/7/setdefault",并配置控制器和routes.rb来处理这个?)

在这种情况下,如何在字符串中传递参数?另外,最佳做法是什么?我看过其他问题但是找不到具体的东西,然后我再次成为新手:(

由于

2 个答案:

答案 0 :(得分:0)

你可以这样做,例如

<%= link_to 'Set as default', account_path(account, is_default: true), method: :put %>

文档:link_to

答案 1 :(得分:0)

试试这个

<%= link_to 'Set as default',{:controller => "" ,:action=>"" ,:id => ,:is_default=>true} %>