2017-02-22 4 views
0

は誰も私を伝えることができ、アクション、含まれません。その代わりレンダリングページは右ページを示していますが、URLは、例えば、レールにページをレンダリングするとき、なぜ

render 'controller/action' 

URLが表示さ

/domain/controller 

/domain/controller/action 

右ページが表示されますが、URLはコントローラです。

これは私のアプリのどこかにあるエラーですか?例えば

私がやった場合:

render 'users/show' 

は、ユーザーがページが表示されますが、URLは以下のようになり示しています。代わりに私が期待するものの

/mydomain/users 

/mydomain/users/show 
+0

私はちょっと混乱していると思います。ルートとコントローラを投稿できますか? – rogelio

+0

私は仕事になると確かにします。乾杯。 –

答えて

0

これは、RailsがURLルーティングにRESTを広く使用しているためです。例えばのために

:アプリケーションがGET users/1として要求を受信すると

routes.rbは対応controlleractionを見つけるために呼ぶことにします。仮定 、あなたのルートファイルはusersコントローラのshow作用によって対処される要求し、その後

get '/users/:id', to: 'users#show' 

が含まれています。使用して定義されているRESTfulなルートと呼ば

あなたの質問に答えるために、why doesn't the "show" action appear in the url、 Railsアプリケーションは、アーキテクチャ制約を残りの部分に付着、:レールのルーティングの詳細については

Guide.

EDITを参照してください。 HTTP動詞とURLを組み合わせてコントローラの動作にする

+0

はい、私の質問ですが、どうして "show"アクションがURLに表示されないのですか? urlは/ usersであり、/ users/showではありません。私はそこにポイントを見逃している場合は申し訳ありません。 –

+0

showアクションのurlは '/ users /:id'です。デフォルトのレールリソースルートを上書きしない場合、 '/ users'はインデックスページを表示します。 – Pramod

+0

私の質問を理解しているかどうか分かりません。 users_show_pathリンクをクリックすると、urlはusers/showになります。私が 'users/show'をレンダリングすると、urlは/ users –

関連する問題