如何在Rails中将button_to生成的
方法一:自定义辅助方法(推荐,不影响全局)
在app/helpers/application_helper.rb中添加自定义的按钮辅助方法:
def bx_button_to(text, path, options = {})
if options[:method] == :delete
# DELETE请求依赖表单提交,保留Rails的CSRF验证逻辑
form_tag(path, method: :delete) do
concat tag.bx_btn(text, type: 'submit', **options.except(:method))
end
else
# GET/POST请求直接生成bx-btn标签,通过onclick跳转
tag.bx_btn(text, onclick: "window.location.href='#{path}'", **options.except(:method))
end
end
之后在视图中直接调用这个新方法即可:
<%= bx_button_to "Destroy this post", @post, method: :delete %>
创建初始化文件config/initializers/button_to_overrides.rb,重写Rails内置的button_to方法,将生成