奇怪的错误阻止用户编辑设备配置文件

mshthn

我有一个用devise,omniauth和cancan在Rails 3.2.13中开发的应用程序。在我开始使用cancan进行授权之前,一切都工作得很好。更有趣的是,cancan本身就像魅力一样工作,但是在编辑由devise提供的用户配置文件时会产生错误。如果康康完全能做到这一点,我真的不确定。

错误消息是:

No route matches {:controller=>"devise/posts"}

我有一个职位控制器,但这与设计无关。这是故事中最奇怪的部分。

我已经成功地定位了产生它的位置,但是我无法弄清楚问题的原因是什么以及如何解决它。因此,我的菜单仅向管理员显示application.html.erb,这是来源:

<% if (user_signed_in? && (current_user.role?("sysadmin") || current_user.role?("postadmin") || current_user.role?("testadmin")))  %>

    <ul class="nav navbar-nav nav-pills">
        <li class="dropdown">
            <a href="#" class="dropdown-toggle" data-toggle="dropdown" style="color: crimson;">
                <span class="glyphicon glyphicon-cog"></span> Administration <b class="caret"></b></a>
            <ul class="dropdown-menu">
                <% if (current_user.role?("sysadmin") || current_user.role?("postadmin")) then %>
                    <li><%= link_to 'Posts', :controller => :posts, :action => :index %></li>
                <% end %>
                <% if (current_user.role?("sysadmin") || current_user.role?("testadmin")) then %>
                    <li><%= link_to 'Itests', :controller => :itests, :action => :index %></li>
                <% end %>
            </ul>
        </li>
    </ul>

<% end %>

真正有趣的是,如果我删除了该<ul>...</ul>块,那么除了裸露的if ... end块外什么也没有,它可以工作。同样,它适用于没有三个管理员角色中的任何一个的用户。

但是在该<ul>...</ul>块中,除了HTML,Bootstrap样式和一些内嵌的Ruby链接到其他控制器之外,别无其他。

这如何打破devise的“编辑个人资料”功能?

巴特

看看这个问题:Rails没有路线匹配{:controller =>“ devise / products”}

基本上,您在device名称空间中,并且必须使用路径助手:

<%= link_to 'Posts', posts_path %>

或者:

<%= link_to 'Posts', :controller => '/posts', :action => :index %>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

MySQL中奇怪的用户配置文件

当前用户的Django用户配置文件模型表单编辑

编辑登录用户的用户配置文件(codeigniter)

注册成功后Django编辑用户配置文件

用于编辑用户配置文件的引导模式

Django编辑身份验证用户配置文件

使用 Django 表单编辑用户配置文件

Django-允许用户编辑配置文件,然后显示更新的配置文件字段

Mercurial:由于解析错误,无法编辑配置文件

阻止用户查看Yii中的另一个用户配置文件

配置文件上的Sonata用户捆绑包错误

Tesseract SyntaxError:“正在创建用户配置文件”错误

Django 1.6使用现有用户编辑用户配置文件模型

缓存用户配置文件

仅配置文件所有者使用UserPassesTestMixin访问编辑配置文件时显示错误?

Google App Engine上Django admin中内联用户配置文件的奇怪行为

配置文件包含错误

Firebase Auth:用户配置文件更改是否未同步到其他设备?

检测用户是否在其设备上安装了特定的配置文件

Django 1.6:编辑配置文件:列用户名不是唯一的

Sitecore asp.net编辑自定义用户配置文件属性

设计:是否可以取消可注册和用户编辑配置文件功能的耦合?

Django更新配置文件视图-仅允许登录用户编辑自己的帐户

快照程序包中的用户可编辑的系统范围配置文件

如何制作多用户编辑器配置文件

开发配置文件设备

使用 bash 脚本编辑配置文件

在Pax考试中编辑配置文件

PHP函数编辑配置文件