0
我有一個CustomInput < SimpleForm::Inputs::Base
,如果屬性值爲空,我想避免渲染。 IOW,我想避免渲染所有的包裝和組件。我可以在控件中做到這一點,以避免爲我的模板中的每個控件編寫if model.attribute.blank?
?避免渲染基於屬性值的simple_form組件
我有一個CustomInput < SimpleForm::Inputs::Base
,如果屬性值爲空,我想避免渲染。 IOW,我想避免渲染所有的包裝和組件。我可以在控件中做到這一點,以避免爲我的模板中的每個控件編寫if model.attribute.blank?
?避免渲染基於屬性值的simple_form組件
只要繼承了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'
我貼這個simple_form谷歌組以及https://開頭組.google.com/d /主題/ plataformatec-simpleform/d-_u2LHmTHw /討論 –