ルーティングに関するトピックを何度も読んだことがありますが、それらのどれも私を助けないでしょう。だから私はまだRubyを初めて使っているので、私の試行はネストされたルーティングroutes.rb
私はユーザーが自分のプロジェクトを持ってほしいと思っています。これらのプロジェクトは、倉庫、顧客、トランククワンを持つことです。 〜/ user/1234/project/1/warehouse/...のようなURLを使用して、排他的使用を許可します。これは私のroutes.rbをがどのように見えるかです:
<strong>Projects</strong> <%= link_to project_path(@user) %>
を[すでにすべては私にエラーメッセージを与えたさまざまなバリエーションを試してみました]
resources :users do
resources :projects do
resources :transquans
resources :warehouses
resources :clients
end
end
これは私がユーザー/ show.html.erbからプロジェクトを呼び出してみてください方法です
指定されたユーザーを呼び出そうとすると、私が足場を経由してプロジェクトを作成し、「ショー」アクションに触れたことはありませんが、ある
No route matches {:action=>"show", :controller=>"projects", :id=>#<User id: 64810937, name: "Tester 1", email....
のようなメッセージを与える...
解決方法を見つけようとすると、その日の費用がかかりますが、解決策はそれほど難しくないと思います。
編集:私は今、Ryan BatesのScreencastで最初のいくつかの手順を4:52分まで続けました。 http://localhost:3000/users/768773789/projects
を打ったときにそれにもかかわらず、私は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
のように見えながら
SQLite3::SQLException: no such column: projects.user_id: SELECT "projects".* FROM "projects" WHERE ("projects".user_id = 768773789)
を言って、私は理解していないさらに別のエラーメッセージが表示されます助けの一種。これは私を怒らせる。
'rake routes'コマンドを実行すると、現在のルートが表示されます。 – taro
これは、使用しているWebフレームワークであることを前提として、Ruby on Railsタグを追加しました。 (Rubyはプログラミング言語であり、Railsはそれを使用するWebフレームワークです)。これが正しくない場合は、タグを修正して質問を明確にしてください。 – Phrogz
'rake routes'を投稿する必要があります – Zepplock