1

当我在 form_for 中使用 Form Builder 生成一个按钮(使用 f.button)时,它会生成一个标题为“”的按钮。我想要做的是为这个标题添加一个前缀:“MyPrefix”。所以基本上我需要做的就是覆盖按钮方法(https://github.com/rails/rails/blob/488699166c3558963fa82d4689a35f8c3fd93f47/actionpack/lib/action_view/helpers/form_helper.rb#L1402)。但是我该怎么做呢?

谢谢!

4

1 回答 1

2

您可以使用自定义表单构建器来执行此操作(在该页面上搜索“自定义表单构建器”)。

代码大致如下所示(您必须决定前缀的确切位置):

class PrefixedFormBuilder < ActionView::Helpers::FormBuilder
   def button(value=nil)
      super(value, :title => 'MyPrefix')
   end
end

在 ApplicationHelper 中使用自定义助手:

def prefixed_form_for(record, *args, &block)
   options = args.extract_options!
   options.merge!(:builder => PrefixedFormBuilder)
   form_for(record, *(args + [options]), &block)
end

然后使用:

prefixed_form_for(@model) do |f|

在你看来。

于 2013-03-31T20:22:57.563 回答