CustomInput < SimpleForm::Inputs::Base
属性値が空白の場合、レンダリングを避けたいというものがあります。IOW、すべてのラッパーとコンポーネントをレンダリングすることは避けたいです。if model.attribute.blank?
テンプレート内の各コントロールへの書き込みを回避するために、コントロール内でこれを行うことはできますか?
1 に答える
0
をサブクラス化し、メソッドFormBuilder
をオーバーライドするだけですinput
class MyFormBuilder < SimpleForm::FormBuilder
def input(attribute_name, options = {}, &block)
if @template.my_action_show?
return if @object.send(attribute_name).blank?
end
super
end
my_action_show?
ApplicationHelper
かどうかをチェックする単なるカスタムメソッドです
params[:action]=='show'
于 2012-12-10T15:24:54.627 に答える