我创建了帮助程序,以我想要的方式打印输入,目前方法如下:
def code_input(builder, method, is_disabled)
builder.input method.to_sym, as: :string, label: t("activerecord.attributes.#{builder.object_name}.#{method}"),
input_html: { class: 'input-medium', value: is_disabled ? '*****' : builder.object.method, disabled: is_disabled }
end
我遇到的问题是is_disabled
为false
时的输入值。 Rails打印出这样的错误:
wrong number of arguments(0 for 1)
使用方式如下:
= code_input(f, :random_code, @code.locked)
但是,如果我将直接在表单中执行此操作,而不是通过这样的帮助:f.object.random_code
我得到正确的值而没有错误...你能解释一下我做错了什么我正在使用formtastic和Rails 3.
答案 0 :(得分:0)
我设法实现了我想要的目标:
builder.input method.to_sym, as: :string, label: t("activerecord.attributes.#{builder.object_name}.#{method}"),
input_html: { class: 'input-medium', value: is_disabled ? '*****' : builder.object.attributes["#{method}"], disabled: is_disabled }