Rails passing form_for object to partial

前端 未结 3 879
情歌与酒
情歌与酒 2020-12-29 03:03

I would like to pass the form_for object to a partial:

<%= form_for @price do |f| %>
   ...
   <%= render :partial => \"price_page\"         


        
相关标签:
3条回答
  • 2020-12-29 03:41

    You can pass form builder object as a local variable like below,

    <%= form_for @price do |f| %>
         <%= render :partial => "price_page", :locals => { :f => f } %>
    <% end %>
    

    in your partial file you will be receiving form builder as a local variable "f", you can use like below,

      <% f.radio_button, {} %>
    
    0 讨论(0)
  • 2020-12-29 03:53

    I ran across this question trying to figure out how to get a form builder into a partial without an additional form tag. That's the primary use case I could think of for this question, so I'm adding this answer for future visitors.

    To solve my problem, I have my form_for in my layout and I render my partial passing only the model. In my partial I use fields_for.

    Looks (something) like this:

    = form_for @price do |f|
       ...
       = render partial: "price_page", object: @price, as: 'price %>
       ...
    

    Then, my partial has this:

    = fields_for price do |f|
       ...
    
    0 讨论(0)
  • 2020-12-29 03:58

    Try passing form object as local <%= render :partial => "price_page", :locals=>{:f=>f} %>

    0 讨论(0)
提交回复
热议问题