mag*_*e f 7 ruby ruby-on-rails form-for ruby-on-rails-3
如何在form_for提交时传递网址?我正在尝试使用一个表单,每个按钮指向每个控制器操作,一个是搜索,另一个是创建.是否有可能在同一表单上有2个提交按钮和不同的操作?
<%= form_for @people do |f| %>
<%= f.label :first_name %>:
<%= f.text_field :first_name %><br />
<%= f.label :last_name %>:
<%= f.text_field :last_name %><br />
<%= f.submit(:url => '/people/search') %>
<%= f.submit(:url => '/people/create') %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
Tro*_*roy 20
根据按下的按钮,没有简单的Rails方法将表单提交到不同的URL.您可以在每个按钮上使用javascript来提交到不同的URL,但处理这种情况的更常见方法是允许表单提交到一个URL并检测控制器操作中按下了哪个按钮.
对于第二种方法,使用这样的提交按钮:
<%= form_for @people do |f| %>
# form fields here
<%= submit_tag "First Button", :name => 'first_button' %>
<%= submit_tag "Second Button", :name => 'second_button' %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
你的行动看起来像这样:
def create
if params[:first_button]
# Do stuff for first button submit
elsif params[:second_button]
# Do stuff for second button submit
end
end
Run Code Online (Sandbox Code Playgroud)
另外,请参阅多按钮表单上的Railscast第38集.
| 归档时间: |
|
| 查看次数: |
12270 次 |
| 最近记录: |