Tru*_*oft 5 routing ruby-on-rails
我希望我的2.3 Rails应用程序中的所有页面都有以前缀为url的URL:
www.example.com/app/
Run Code Online (Sandbox Code Playgroud)
我routes.rb按以下方式写了这篇文章:
# I named the first part of the url ':appl'
map.root :appl => "app", :controller => "home"
# Default routes
map.connect ':appl/:controller/:action/:id'
map.connect ':appl/:controller/:action/:id.:format'
Run Code Online (Sandbox Code Playgroud)
这一切都很好,除了map.resources我所拥有的
map.resources :pages
Run Code Online (Sandbox Code Playgroud)
现在无论我在哪里,edit_page_path或者page生成的url都不正确,因为app在开头没有插入.我试着namespace和scope,像我见过这里章节2.6,但没有成功.
我该怎么做?是:appl在路由的坏主意?
如果要在Passenger上部署,则只需设置(在您的Web服务器配置中):
RailsBaseURI /app
然后在你的应用程序配置中:
config.action_controller.relative_url_root = '/app'
Run Code Online (Sandbox Code Playgroud)
你不应该担心除此之外的任何子项目.它应该工作.有关更多详细信息,请参阅Passenger文档.
对于mongrel,您可以使用--prefix选项
script/server mongrel -P /app
Run Code Online (Sandbox Code Playgroud)
我是这样写的routes.rb:
map.resources :pages, :as => 'app/pages'
Run Code Online (Sandbox Code Playgroud)
现在,edit_page_path其他人返回正确的路径,前缀为'app'
| 归档时间: |
|
| 查看次数: |
2524 次 |
| 最近记录: |