Bra*_*sen 5 ruby-on-rails ruby-on-rails-3
我正在编写一个将使用basecamp样式子域的应用程序(参见文章).
应用程序的某些部分应始终位于子域中,而部分应永远不应位于子域中.例如,"主页"页面永远不应位于子域中,但博客和帖子资源应该始终存在.请注意,我不知道子域名,因为每个帐户都有一个子域名.
我设置了这样的路线(例子).它运行良好,因为它匹配路线,但我很难强迫我的应用程序链接到正确的位置.
MyApp::Application.routes.draw do
# these should all route to mysubdomain.myapp.com
# Clicking on a post from myapp.com/categories/12 should take you to mysubdomain.myapp.com/posts/14
constraints(Subdomain) do
resources :blogs { resources :posts }
end
# these should all route to myapp.com (clicking on one of these links from mysubdomain.myapp.com should go to myapp.com/categories/12)
constraints(NoSubDomain) do
resources :categories
end
end
Run Code Online (Sandbox Code Playgroud)
问题是,一旦我在子域中,所有到其他页面(类别等)的链接都包含子域.我不确定最好解决这个问题.非常感谢你的帮助.
看起来可以通过覆盖url_for方法来包含:subdomain选项来完成.
请参阅清理代码以更改 RailsCasts#221 的子域部分.
Railscasts:http: //railscasts.com/episodes/221-subdomains-in-rails-3
ASCIIcasts:http://asciicasts.com/episodes/221-subdomains-in-rails-3
然后你可以这样做:
<p><%= link_to "All Blogs", root_url(:subdomain => false) %></p>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3072 次 |
| 最近记录: |