我想按照以下方式设置我的路线:
subdomain.mydomain.com/VAR
我希望VAR成为一个变量,如果子域作为记录中的值存在,则会传递该变量。换句话说,该show动作的控制器将能够获取params [:id]作为值“VAR”
答案 0 :(得分:0)
我不确定你到底需要什么。但是从你看来你正试图获得一个基于子域的记录,并根据发现的记录,你想进一步处理作为VAR传递的值。
一条简单的路线就像:
map.posts_with_slug "/:slug", :controller => "posts", :action => "show"
子域的处理需要单独完成:
class ApplicationController
before_filter :ensure_domain
APP_DOMAIN = 'myapp.mydomain.com'
def ensure_domain
if request.env['HTTP_HOST'] != APP_DOMAIN
# HTTP 301 is a "permanent" redirect
redirect_to "http://#{APP_DOMAIN}", :status => 301
end
end
end
Heroku Docs用于处理自定义域的源代码示例。
http://devcenter.heroku.com/articles/custom-domains
希望这有帮助。