Ruby on Rails:如何在form_tag中实现Cancel按钮

fre*_*set 13 ruby forms ruby-on-rails

我有一个基本的表单使用form_tag帮助工作正常,但我想添加一个取消按钮,这样做的语法是什么?我希望取消按钮显示为按钮,而不是链接,然后将用户带到另一个URL(表示他们不想提交表单).

TY,弗雷德

dch*_*cke 25

如果您的意思是重置按钮,请在表单中粘贴以下内容:

<%= button_tag "Reset", type: :reset %>
Run Code Online (Sandbox Code Playgroud)

测试它,它工作正常并重置表单中的所有字段.


99m*_*les 25

如果要清除/重置表单字段,请执行dchacke建议的操作.

但是,我通常希望取消按钮不会清除表单,而是将我从表单中删除,这意味着我不打算提交表单.

如果你想要后者,我只需要在取消时为你要去的页面建立一个链接(或按钮),例如:

=link_to 'Cancel', my_page_path
Run Code Online (Sandbox Code Playgroud)

或者如果你想要一个按钮:

= button_tag "Cancel", :type => 'button'
Run Code Online (Sandbox Code Playgroud)

然后将其添加到您的控制器:

before_filter :check_for_cancel, :only => [:create, :update]

def check_for_cancel
  if params[:commit] == "Cancel"
    redirect_to my_page_path
  end
end
Run Code Online (Sandbox Code Playgroud)