Я читал темы о маршрутах снова и снова, но ни один из них не мог мне помочь. Итак, поскольку я еще новичок в Ruby, моя попытка:Вложенные маршруты маршрутов.rb
Я хочу, чтобы у пользователей были свои проекты. Эти проекты должны иметь склады, клиентов и транкванты. Я хочу, чтобы URL-адрес был как ~/user/1234/project/1/warehouse/..., так что эксклюзивное использование предоставляется. Это как мой routes.rb выглядит следующим образом:
resources :users do
resources :projects do
resources :transquans
resources :warehouses
resources :clients
end
end
Это, как я пытаюсь вызовом проектов от пользователей/show.html.erb [уже пробовал различные варианты, которые все дали мне сообщения об ошибках]
<strong>Projects</strong> <%= link_to project_path(@user) %>
Попытка вызова данного пользователя дает мне сообщения, как
No route matches {:action=>"show", :controller=>"projects", :id=>#<User id: 64810937, name: "Tester 1", email....
То есть, хотя я создал проекты через леса и никогда не прикоснулся к «шоу» действие ...
Попытка выяснить, как исправить это, стоит мне дней, в то время как я думаю, что решение не может быть так сложно.
EDIT: Я теперь выполнил первые шаги в Райан Бэйтс Screencast до 4: 52мин. Тем не менее, при ударе http://localhost:3000/users/768773789/projects
я получаю еще одно сообщение об ошибке, что я не понимаю, говоря
SQLite3::SQLException: no such column: projects.user_id: SELECT "projects".* FROM "projects" WHERE ("projects".user_id = 768773789)
в то время как schema.rb выглядит так
create_table "clients", :force => true do |t|
t.string "name"
t.string "codename"
t.integer "demand"
t.datetime "created_at"
t.datetime "updated_at"
end
create_table "projects", :force => true do |t|
t.string "name"
t.datetime "created_at"
t.datetime "updated_at"
end
Тем не менее благодарен за любые вид помощи. Меня это смущает.
Запустите команду 'rake routes', чтобы просмотреть текущие маршруты. – taro
Я добавил тег Ruby on Rails в предположении, что это веб-фреймворк, который вы используете. (Ruby - это язык программирования, Rails - это веб-платформа, использующая его.) Если это неверно, исправьте теги и уточните свой вопрос. – Phrogz
Вы должны опубликовать свои 'rake routes' – Zepplock