0

指定したルビーオンレールで安らかなルートを描くとき

  1. コントローラーのアクションがメンバーまたはコレクションに適用される場合、および
  2. どの http 動詞が使用されているか。http://guides.rubyonrails.org/routing.html

コントローラーインスタンス内から 1 を確認するにはどうすればよいですか? (HTTP 動詞は で確認できますrequest.method)

醜いハックは、名前付きルートが単数形または複数形で存在するかどうかを確認することですが、ルートには別の名前を付けることができます。

もう 1 つは、メンバーの識別に使用されるリクエスト パラメータをチェックすることですが、コレクション ルートは同じ (オプションの) パラメータを持つことができます。

4

2 に答える 2

0

ルートが安らかな規則に従っている場合、実行rake routesすると探している答えが得られるはずです。

期待される http 動詞 (2 への回答) が表示され、パスは 1) の質問に回答する必要があります。メンバー アクションの場合は ID が必要なので、通常、パスには ID が含まれます。

このルート構成:

resources :photos do
  member do
    get 'preview'
  end
end

パスが表示されますphotos/:id/preview->単一の写真をプレビューする

そしてルート構成:

resources :photos do
  collection do
    get 'preview'
  end
end

パスが表示されますphotos/preview ->写真のリストをプレビューする

アクションのコード内からこの情報を取得する必要がある場合:

  • params[:id] を調べて、意図を識別します。メンバーの場合、その値は nil ではありません。
于 2012-11-12T12:47:00.687 に答える
0

そのような方法について Journey gem を見たことがありますか? 3.2 を想定すると、リクエスト パラメータではなく、どこにでもあるとします。そうなってからでは遅いですよね?

于 2012-11-12T13:29:28.963 に答える