Rails:设计 + CanCan 看不到任何视图

Posted

技术标签:

【中文标题】Rails:设计 + CanCan 看不到任何视图【英文标题】:Rails: Devise + CanCan cannot see any views 【发布时间】:2012-06-15 14:21:49 【问题描述】:

我在我的 rails 应用程序中使用 Devise/Cancan。

我没有覆盖默认的设计控制器。我已经生成了默认的设计视图。现在我想从管理面板链接到所有默认设计视图。

所以我有以下 admin_panel_view

<h1>Administrator Dash Board</h1>
    <ul>

    <li><%=link_to "Sign Up user",  user_password_path %></li>
    <li><%=link_to "Sign Up user",  new_user_password_path %></li>
    <li><%=link_to "Sign Up user",  edit_user_password_path %></li>
    <li><%=link_to "Sign Up user",  cancel_user_registration_path %></li>
    <li><%=link_to "Sign Up user",  user_registration_path %></li>
    <li><%=link_to "Sign Up user",  edit_user_registration_path %></li>     
    <li><%=link_to "Sign Up user",  users_path %></li>

</ul>

当我点击这些链接中的任何一个时,它们都不起作用。

这是我的路线文件:

resources :businesses
resources :addresses
resources :images
devise_for :users
resources :users , :only => [:show, :index]

authenticated :user do
  root :to => "listings#index"
end

root :to => "listings#index"

resources :listings


resources :admin_dash_board, :only => :index

在我的应用程序中,我通过 Devise 视图生成器设置了这些视图:

Views/devise/confirmations/*
Views/devise/mailer/*
Views/devise/passwords/*
Views/devise/registrations/*
Views/devise/sessions/*
Views/devise/shared/*
Views/devise/unlocks/*

我有什么遗漏吗?我怎样才能让他们工作?提前谢谢

【问题讨论】:

“不工作”是什么意思?你得到什么样的错误? 【参考方案1】:

好吧,在您提供更多信息之前,我无法确定,但在您的路线中,您需要为 devise_for 提供 :path_prefix,如下所示:devise_for :users, :path_prefix =&gt; 'd'

这将确保您在设计和您拥有的resources :users 之间没有重复的路由。这是设计 wiki 上讨论它的页面:https://github.com/plataformatec/devise/wiki/How-To:-Manage-users-through-a-CRUD-interface

【讨论】:

抱歉信息不足。还在努力学习。基本上我遵循了关于 railscasts 的教程,并得到了 devise 和 cancan 的工作。我也想使用 rolify,我已经下载了那个 gem,但除了管理员之外还没有添加任何角色。我所有的用户都是管理员。现在我想添加更多角色。我想从我的管理页面进行用户维护。但是,我还没有创建用户控制器。我只是使用设计附带的那个。我想使用我自己的用户控制器,然后让链接正常工作。你能否指点我一些教程或如何开始。谢谢 我提供的链接将帮助您入门。查看设计 wiki 上的其他页面。他们有几个专门用于您想要完成的任务。

以上是关于Rails:设计 + CanCan 看不到任何视图的主要内容,如果未能解决你的问题,请参考以下文章

Rails 5 开发进阶

在 Rails 中自定义设计视图

Rails 应用看不到我的视图

Rails:允许用户在注册时选择他们的角色设计

Rails 3.1 和 Coffeescript 出现“找不到变量”错误

方法“is_admin”在哪里?在我的 Rails 应用程序中定义?