I have a location model and a post model. I want to allow the user to create new posts from the index page of the location model. How do I do that? I tried rendering the post new.html.erb as a partial in location index.html.erb, but this leads to errors as post new.html.erb references the @post variable.
How should I accomplish this?
Try something like this
LocationController
def index
@location = Location.find(:all)
@post = Post.new
end
Now ur location view would have access to the instance variable @post. Render a partial using that
render :partial => 'posts/post', :object => @post
You can start the form like this:
<%= form_for Post.new do ... %>
Just create a @post variable in your action in the LocationsController.
来源:https://stackoverflow.com/questions/7188999/rails-show-form-from-different-model-in-a-view