0
У меня есть следующие в моей projects_controller
:Ошибка в Rails 3 маршрута?
def edit
@project = Project.find(params[:id])
@project.current_step = @project.first_step
@user = current_user
end
И следующий маршрут в мой routes.rb
:
resources :users do
resources :projects
end
В моей views/users/show.html.erb
у меня есть:
<%= link_to image_tag('img_blank.png'), edit_user_project_path, :class => "btn_edit_project" %>
и rake routes
дает me:
...
edit_user_project GET /users/:user_id/projects/:id/edit(.:format) projects#edit
...
Я все еще получаю ошибку:
`Routing Error: No route matches {:action=>"edit", :controller=>"projects"}`
Я в конце остроумия на этом. Любая помощь?
Да, что постоянные проблемы. Забавно, у меня был этот раздел кода, работающий в течение 3 недель и никогда не видел эту ошибку раньше. Возможно ли, что объявление нового ресурса в файле routes.rb могло сделать необходимым включение аргумента? – Matteo
Хорошо, теперь, когда я нахожусь на самом деле, нажмите кнопку «NoMethodError in ProjectsController # edit» со следующим выходом: '{" user_id "=>" 1 ", " id "=>" # "}' Я не понимаю, почему Rails возвращает ссылку на ActiveRecord вместо id проекта. –
Matteo
Вместо этого вы можете попробовать '@ product.id'. Хотя с кодом '@project = Project.find ... 'он не должен назначать ActiveRecord :: Relation для' @ project' - вы вообще изменили свой код контроллера? –