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)
为每个按钮使用不同的形式:
<%= 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)
| 归档时间: |
|
| 查看次数: |
5447 次 |
| 最近记录: |