0

Rails アプリを開発していますが、質問があります。

私のroutes.rbでは:

map.connect 'admin', :controller => "/admin/users", :action => "index"

そのため、「 http://mydomain.com/admin 」にアクセスすると、「http://mydomain.com/admin/users/index」にリダイレクトされます。ただし、アドレスは「http://mydomain.com/admin」のままです。したがって、ページ内のリンクは「 http://mydomain.com/admin 」に基づいて作成されているため、間違っています。

この問題の解決策は何ですか?

サム

4

4 に答える 4

1

これを試して:

map.connect'admin /:action /:id'、:controller =>'admin / users'

于 2009-06-16T00:25:51.137 に答える
0

link_toとbutton_toを使用します(UrlHelper内

于 2009-06-16T07:25:55.753 に答える
0

ページ上の同じドメインのリンクが / で始まることを確認し、フル パスを使用します。通常、可能であれば、Rails ルート メソッドを使用してリンクを生成する必要があります。image_tagおよびstylesheet_link_tagヘルパーを使用する場合も同様です。

したがって、「privacy.html」へのリンクがある場合は、それを「/privacy.html」に変更すると、ルート構造のどこにいても問題ありません。これは、ビュー コードを再利用可能なパーシャルに抽出し始めるときに非常に便利です。

于 2009-06-16T01:34:06.077 に答える
0

あなたのコードはブラウザをリダイレクトしていません。同じアクションをトリガーするように /admin と /admin/users を設定しているだけです。

あなたは試すことができます:

map.connect 'admin', :controller => "/admin/users", :action => "redirect_to_index"

次に、コントローラーに次のように記述します。

def redirect_to_index
  redirect_to :action => :index
end

これにより、ブラウザにリダイレクトが送信され、正しい URL が表示されます。

願わくば、routes.rb のみを使用するより良い方法があることを願っています。このサイトが役立つかもしれません -> redirect-routing-plugin-for-rails

于 2009-06-16T13:43:31.417 に答える