DRYing up a helper: wrap form_for and access local form variable

后端 未结 2 1857
终归单人心
终归单人心 2021-01-16 18:29

I am trying to DRY up a bunch of forms code that has a repeating set of fields appearing at the end of each form. I wrote a helper that wraps around the form_for rails helpe

2条回答
  •  渐次进展
    2021-01-16 18:48

    pretty sure this would work

    def simple_form_helper(record_or_name_or_array, *args)
       options = ... # overriding some options, not relevant
       form_for(record_or_name_or_array, *(args << options.merge(:option => "blah"))) do |f|
           yield f if block_given?
           concat f.text_field :foo
           concat f.hidden_field :bar
           concat f.submit "Save"  
       end
    end
    

    and you can also call simple_form_helper :object without a block if you don't need to add any fields

提交回复
热议问题