我正在尝试在 Rails 中构建一个表单构建器,为它添加一个disabled
属性text_field
和select
助手。这是我的代码的简化版本:
class LabelFormBuilder < ActionView::Helpers::FormBuilder
%w[text_field select].each do |method_name|
define_method(method_name) do |name, *args|
super(name, :disabled => true, *args)
end
end
end
随着text_fields
属性被正确添加,但selects
事情变得有点棘手,我不断收到undefined method merge for #<Array:0x10b5229a0>
错误。
这是我的视图代码(再次简化):
<%= f.label :name %>
<%= f.text_field :name %> # works!
<%= f.label :person %>
<%= f.select(:person_id, current_user.person_names, :prompt => 'Please select...') %> # does not work!
我怎样才能让我上面班级的第 4 行也能在select
帮手上工作?
谢谢你的帮助!