【发布时间】:2011-11-29 19:35:35
【问题描述】:
我的应用程序使用 Devise 进行登录。我根据 wiki 安装了它并让它正常工作。我最近在“http://127.0.0.1:3000/tos”向我的应用程序添加了一个“服务条款”页面,它通过静态控制器路由:
match ':action' => 'static#:action'
我在 application.html.erb 文件的底部放置了一个链接。我希望在每一页的底部都有一个指向服务条款和隐私政策的链接。但是当我转到users/sign_in 页面时,它不会显示到 TOS 页面的链接——而是出现错误(如下)。
我已经删除了我的应用程序中的所有路由,除了这些(为了追踪这个问题):
root :to => 'home#index'
#devise routes
devise_for :users, :admins
#static
match ':action' => 'static#:action'
链接指定如下:<%= link_to "Terms of Service", :controller => "static", :action => "tos" %>
错误是:
No route matches {:controller=>"devise/static", :action=>"tos"}
所以设计有点妨碍我路由到这个静态 页。如何指定转到应用程序根目录的路线 从设计开始?
更新:短期内,答案是硬编码:
<%= link_to "Terms of Service", "/tos" %>——虽然不是一个理想的答案。
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 devise routes