我動態創建的形式username.users.example.com
的網址:Ruby on Rails的路線通配符子域控制器/動作
bob.users.example.com
tim.users.example.com
scott.users.example.com
所有*.users.example.com
請求應該去一個特定的控制器/動作。我如何在routes.rb
中指定此項?
www.example.com
的所有其他請求轉到我的routes.rb
文件中的正常路由列表。
UPDATE:我看railscast about subdomains,它顯示下面的代碼位,它似乎是正是我需要(改變控制器和子域):
match '', to: 'my_controller#show', constraints: {subdomain: /.+\.users/}
的問題是它只匹配根網址。我需要這個來匹配每個可能的網址和一個*.users
子域名。所以顯然我會把它放在我的routes.rb
文件的頂部。但是,我如何指定一個全通路線?難道只是'*'
?或'/*'
?
這railscast可以幫助你:http://railscasts.com/episodes/221-subdomains-in-rails-3?autoplay=true –
軌3導軌3.2導軌4 hmhmmmm ......究竟哪一個?就像一個側面說明,如果你打算有大量的JavaScript,請記住跨子域的ajax是一個PITA。 – phoet
@phoet - 我應該更清楚Rails的版本。我使用的是3.2,但如果這意味着此解決方案會更容易,則會升級到4.0。 –