I am trying to build simple_form_for in Rails 3.2 for @objects with a double-nested route, for example:
/users/1/projects/2/objects
The form:
<%= simple_form_for @object, :url => user_project_objects_path(@user, @project), :html => { :class => 'form-horizontal' } do |f| %>
In routes.rb:
resources :users do resources :projects do resources :objects do collection { post :import } end end end
My question is: what happens in the new and create actions of the Object controller?
So far - and I am getting a routing error - I have:
def create @user = current_user @project = Project.find_by_user_id(@user) @object = @project.objects.build(params[:object]) if @object.save flash[:notice] = "Object was successfully created" redirect_to user_project_objects_path else render 'new' end end def new @user = current_user @project = Project.find_by_user_id(@user) @object = @project.objects.build end
Any advice is greatly appreciated.
In response to Greg W:
No route matches {:action=>"edit", :controller=>"objects", :user_id=>
owner_id (User, i.e. current_user) is not updated - and this could be a problem (?)
source share