私はRuby on Rails 3.0.9を使用していますが、この問題が発生しました:Trouble on setting the ':controller' parameter for a 'link_to' statement。誰も解決策に答えなかったが問題を見つけようと再試行しようとしたが、私は「古いスタイル」のパラメータを渡すと(controller
とaction
という名前のルートパスではなくオプションを使用)、いつかlink_to
doesn予想どおりに動作しません(コントローラーとルートが正しく記述されていればActionView::Template::Error - No route matches
エラーが発生します)。とにかく次のようなものを設定することができます:'ActionView :: Template :: Error - ' link_to 'ステートメントの'旧スタイル 'パラメータを渡す経路がありません
<%= link_to("New article", {:controller => '../', :action => 'new'}) %> # Note the "'../'"
と動作します。
私はは、一般的には、それがなぜ起こるかときとを知っていただきたいと思います:controller
オプションを使用すると、渡されたコントローラパラメータに相対パスまたは絶対パスを参照していないために「強制」ようだ
:controller => articles
を設定し、私は次のエラーを取得するcontrollers/article/categories_controller.rb
によって管理ビューファイルに上記のコードを使用している場合、ある :
`ActionView::Template::Error (No route matches {:controller=>"articles/categories/articles", :action=>"new"})`
上記の言ったように、コントローラはを参照しているようだ、ので、 /articles
パスの代わりに/articles/categories
パスを使用してください(この例では、コントローラをarticles
に設定しているため)。それはルータの問題になりますか?