in my routes.rb I have a route
resources :projects do
member do
put “change_photo”
end
end
checked with rake routes CONTROLLER=projects
change_photo_project PUT /projects/:id/change_photo(.:format)
projects#change_photo
from my projects#show I render a partial with a form in it
def show
@project = Project.find(params[:id])
…
end
VIEWS
projects/show.html.haml
.span4= render :partial => “projects/right_show”
projects/_right_show.html.haml
…
= form_for @project, :url => change_photo_project_path, :html =>
{ :multipart => true , :method => :put} do |f|
= f.file_field :photo
= f.submit t(:update)
this is working fine
Now I am trying to display the same partial from another controller ,
orders#new
orders_controller.rb
def new
@project = Project.find(params[:project_id])
end
VIEWS
orders/new.html.haml
.span4= render :partial => “projects/right_show”
but then I get a routing error
No route matches {:action=>“change_photo”, :controller=>“projects”}
Try running rake routes for more information on available routes
I tried to pass the @project object
= render :partial => “projects/right_show”, :object => @project
but no way , Routing Error …
and the rake routes doesn’t show me anything wrong or missing …
where am I wrong ?