我知道这个问题在Rails中出现了很多,但我似乎无法获得任何以前的答案.
MyApplication::Application.routes.draw do
resources :matters do
resources :issues
end
Run Code Online (Sandbox Code Playgroud)
我收到以下路由错误:
No route matches {:action=>"show", :controller=>"issues", :matter_id=>#<Matter id: 2, name: "Wilson", user_id: nil, created_at: "2011-03-23 18:19:40", updated_at: "2011-03-23 18:19:40">, :id=>nil}
Run Code Online (Sandbox Code Playgroud)
我想尝试这样的道路:
<%= link_to issue.content, matter_issue_path(@matter, @issue) %>
Run Code Online (Sandbox Code Playgroud)
当我运行rake路线时,它显示我有路径:
matter_issues GET /matters/:matter_id/issues(.:format) {:action=>"index", :controller=>"issues"}
Run Code Online (Sandbox Code Playgroud)
有什么想法我收到这个错误?谢谢!
我有一条非资源路由,在路由中使用SHA令牌.这是在我的routes.rb文件中:
match 'permissions/confirm/:token' => 'permissions#confirm'
Run Code Online (Sandbox Code Playgroud)
我可以访问生成的路由,但我不知道传递给link_to帮助器的内容.
这是我正在使用的link_to,它不起作用:
<%= link_to "Give permission", confirm_permission_path(:token => @permission.token) %>
Run Code Online (Sandbox Code Playgroud)
思考?
我正在尝试将注册限制为Devise管理员.如果可能的话,我现在想避免使用CanCan.:我已经在选项#1这里所描述创建一个独立的设计管理模式https://github.com/plataformatec/devise/wiki/How-To:-Add-an-Admin-Role.
接下来,我为用户设置了一个CRUD界面,如下所述:https://github.com/plataformatec/devise/wiki/How-To:-Manage-users-through-a-CRUD-interface .
我想通过使用类似于before_filter :authenticate_admin!用户控制器的东西限制新的注册,但由于某种原因,它不限制新的注册.
我的routes.rb看起来像这样:
devise_for :admins
devise_for :users, :path_prefix => 'd'
resources :admins
resources :users, :controller => "users"
Run Code Online (Sandbox Code Playgroud)
任何想法为什么before_filter :authenticate_admin!不限制新的注册?