2009-06-16 17 views
0

私はレールアプリを開発しており、質問があります。私のroutes.rbをでrails redirect_to problem

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」に基づいて作成されているため、間違っています。

この問題の解決方法を教えてください。

サム

答えて

0

あなたのコードでは、それだけで同じアクションをトリガするために管理者/ユーザー/ /管理者を設定してのブラウザをリダイレクトされていません。

あなたは試みることができる:

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

1

はこれを試してみてください。

map.connectにadmin /:アクション/:ID '、:コントローラ=>'管理者/ユーザーの

0

が上の任意の同じドメインのリンクを確認してくださいページは/で始まり、フルパスを使用します。一般的に、Railsのルートメソッドを使用して、可能な限りリンクを生成する必要があります。 image_tagstylesheet_link_tagヘルパーを使用する場合も同じです。だから、

あなたが「privacy.html」へのリンクを持っている、「/privacy.html」に変更し、あなたはすべての良い関係なくどこにあるルート構造であってはならない場合。これは、再利用可能な部分集合にビューコードを抽出し始めると非常に便利です。 (UrlHelper中)

0

使用のlink_toとbutton_to

関連する問題