开发者

How to redirect in routes.rb for root?

I have the following at the bot开发者_JAVA百科tom of my routes file:

root :to => 'threads#index', :constraints => lambda {|r| r.env["warden"].authenticate? }

The problem with this is the url is just /, not /threads

How can I get the above to redirect to threads#index or /threads ?

Thanks


If I understand your question correctly, you simply want to change the URL of the root of your site from http://....com/ to http://....com/threads.

In this case, you simply have to add this line:

config.action_controller.relative_url_root = '/threads'

to any of the standard config files, such as config/application.rb, config/development.rb or config/production.rb depending on whether your app is in production mode or development mode.

There is some more information about this on a rails guide: here

EDIT:

It seems that the above solution may not work. Here is one I tried myself. You can simply wrap all your pre-existing routes in a scope, inside your routes.rb file. i.e:

scope "/threads" do
  ..All your preexisting routes inside this..
end

Note that this will prepend /threads to EVERY path in your app. If you only want this to happen with root, then make sure only the root :to => ... line is wrapped in the scope.

Here's a simple explanation of scopes: here

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜