はので、私は一つ一つのコントローラとの二つのモデルを持っています。今私はlocalhost/projects/new
とうまく動作するプロジェクトを追加することができ、私はlocalhost/themes/new
でテーマを追加することができます。しかし、それは私が望む方法ではありません。RoRの他のモデルに関連してコンテンツを追加
私はプロジェクトに関連するテーマを追加したいだけです。これを行うにはどうすればよいでしょうか?私はこのような何かを試しました:match "projects/:project_id/themes/new" => 'themes#new', :as => 'themes'
が動作するようですが、私の新しいフォームを提出した後に何も起こりません。新しいフォームは、エラーメッセージやそのようなものなしで、再度レンダリングされます。
<form accept-charset="UTF-8" action="/projects/3/themes/new" class="new_theme" id="new_theme" method="post">
あなたは何が悪かったのか任意のアイデアを持っています:HTMLでの私のフォームタグには以下のようレンダリングされますか?そのようなものにはベストプラクティスがあります。なぜなら、それはしばしば欲しいモデルだと思うからです。
よく見えます! 'rake routes'ヒントも素晴らしい追加です。もう1つ:これを追加しても問題ありません。今私の新しいアクション '<%form_for @theme do | f | %> 'エラーが発生しました'ルートは一致しません{:controller => "themes"、:action => "create"} '私は私のform_forアクションを変更する必要がありますか? – choise
あなたは 'form_for [@project、@theme] do | f |'を使う必要があります。ネストされたリソースの仕組みについて詳しくは、このレールキャストをご覧ください: – Andrew
レールで楽しく過ごせません! – Andrew