3


RailsがコントローラーアクションスタイルのURLを使用していることは知っています。www.myapp.com/home/indexたとえば
、RailsアプリにこのようなURLを設定したいのですが、www.myapp.com/my_page_hereこれは可能ですか。

4

2 に答える 2

6

ファイル内の任意のまたはブロックのget外側を使用するだけです。resourcesnamespaceroutes.rb

get 'my_page_here ', :to => 'home#index'

Rails 3+を使用していると仮定して、を使用しないでくださいmatch。ページがフォームからのデータを受け入れる場合、POSTリクエストを受け取る必要があるため、危険な場合があります。match副作用のあるアクションでGETリクエストを許可します-これは良くありません。

get可能な場合は、常に、、、またはこれらのバリアントを使用putpostてください。

パスヘルパーを取得するには、次のことを試してください。

get 'my_page_here ', :to => 'home#index', :as => :my_page

そうすれば、あなたの見解でmy_page_pathは、http://{domain}/my_page_here

于 2012-09-07T10:29:06.403 に答える
4

そのURLに一致するルーティングルールを作成する必要があります。この場合は次のようになります。

match 'my_page_here' => 'your_controller#your_action'

コントローラとアクションは、そのページの動作を指定します

だからあなたはすることができます

match 'my_page_here' => 'home#index'

また

get 'my_page_here', :to => 'home#index'

他の回答で示唆されているように。

あなたがそのようなコントローラーを持っているなら、ホームコントローラーのインデックスアクションのために

詳細については、http: //guides.rubyonrails.org/routing.htmlを参照してください。

Ruby onRailsRoutes-getとmatchの違いも参照してください

于 2012-09-07T10:25:56.433 に答える