I want to share a partial between 2 or more controllers.
I have a "location" partial that I want users to enter "Address, City,
State, Zip" information in however I have "Payees", "Institution", and
"Event" models that can have "location" information stored with them.
Since I don't want to duplicate the partial across each controller, I've
placed the partial in a "shared" folder however I'm having problems
rendering it with the appropriate model object.
A sample of my renders look like this:
<%= render :partial => 'shared/location', :object => @payee %>
A sample of my partial looks like this:
<%= location.text_field :address, :size => 60 %>
Obviously rails is complaining that the object is not related to a form
since I'm not using "form_for" or "fields_for" (see below for error).
"undefined method `text_field' for #<Payee:0x4472530>"
I want to share a partial between 2 or more controllers.
I have a "location" partial that I want users to enter "Address, City,
State, Zip" information in however I have "Payees", "Institution", and
"Event" models that can have "location" information stored with them.
Since I don't want to duplicate the partial across each controller,
I've
placed the partial in a "shared" folder however I'm having problems
rendering it with the appropriate model object.
A sample of my renders look like this:
<%= render :partial => 'shared/location', :object => @payee %>
A sample of my partial looks like this:
<%= location.text_field :address, :size => 60 %>
Obviously rails is complaining that the object is not related to a
form
since I'm not using "form_for" or "fields_for" (see below for error).
"undefined method `text_field' for #<Payee:0x4472530>"
Could you just call fields_for and pass through the yielded object
instead of passing through @payee ?
"undefined method `text_field' for #<Payee:0x4472530>"
Could you just call fields_for and pass through the yielded object
instead of passing through @payee ?
Fred
How would I pass through the yielded object? I can't write
"fields_for
:payee" since this partial is used by the other two models (events,
institutions) as well.
<% fields_for :location do |l| %>
<%= l.text_field :address, :size => 60 %>
<% end %>
The rendered HTML is showing the field ids as such "location_address",
when they need to ultimately be "payee_address"
I was actually thinking of something along the lines for
<% fields_for @payee do |f| %>
<%= render :partial=> 'shared/location', :object => f %>
<% end >%
I was actually thinking of something along the lines for
<% fields_for @payee do |f| %>
<%= render :partial=> 'shared/location', :object => f %>
<% end >%
I follow you now. A much simpler way of doing it and it solved my
problem.