ruby rails 使用按钮编辑属性

oky*_*eni 4 ruby-on-rails ruby-on-rails-3

假设我有一个对象 @transaction 显示 /transactions/id

def show
    @transaction = Transaction.find(params[:id]);
end
Run Code Online (Sandbox Code Playgroud)

在 show.html.erb 中,我想要一个按钮,按下时会更改事务的属性之一。我怎么做?

在 show.html.erb 中,我有

<%= form_for @transaction do |t| %>
    <%= t.label :id %> : <%= @transaction.id %><br />

    <%= t.submit "pay" %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

编辑:我想我可能误导了这个问题。上面的按钮代码生成了这个 html:

<input id="transaction_submit" name="commit" type="submit" value="pay" />
Run Code Online (Sandbox Code Playgroud)

当我单击按钮时,将调用控制器中的“更新”方法。如何将值从按钮传递到更新方法中的特定操作?例如,假设button1将 transaction.name 更改为“lalala”。我该怎么做呢?

def update
  // if button1 is pressed, change transaction.name to lalala
  // if button2 is pressed, change transaction.amount to bobobo
end
Run Code Online (Sandbox Code Playgroud)

Mat*_*ani 5

为每个按钮使用不同的形式:

 <%= form_for @transaction do |t| %>
     <%= t.hidden_field :name, :value=>"mike" %>
     <%= t.submit "change_name_to_mike" %>
   <% end %>

   <%= form_for @transaction do |t| %>
     <%= t.hidden_field :name, :value=>"john" %>
     <%= t.submit "change_name_to_john`" %>
   <% end %>
Run Code Online (Sandbox Code Playgroud)