Ruby on rails 轨道设计收集路线问题

Ruby on rails 轨道设计收集路线问题,ruby-on-rails,authentication,devise,Ruby On Rails,Authentication,Devise,我已经搜索过了,无法使以下内容正常工作 我正在尝试添加一个收集路径,如下面的示例博客片段所示。 与索引路由一样,我希望有一个归档路由,在用户未登录到应用程序时显示归档博客条目的视图。博客索引路由按预期工作,当用户未登录时,将显示一个索引。不幸的是,当用户未登录时,存档路由会导致下面列出的错误。当用户登录时,归档路由按预期工作,显示归档日志条目的列表 当用户未登录到应用程序时,我希望存档路由的行为与索引路由的行为相同。如何在Desive中配置此功能 先谢谢你 摘自routes.rb 摘自blogs

我已经搜索过了,无法使以下内容正常工作

我正在尝试添加一个收集路径,如下面的示例博客片段所示。 与索引路由一样,我希望有一个归档路由,在用户未登录到应用程序时显示归档博客条目的视图。博客索引路由按预期工作,当用户未登录时,将显示一个索引。不幸的是,当用户未登录时,存档路由会导致下面列出的错误。当用户登录时,归档路由按预期工作,显示归档日志条目的列表

当用户未登录到应用程序时,我希望存档路由的行为与索引路由的行为相同。如何在Desive中配置此功能

先谢谢你

摘自routes.rb 摘自blogs_controller.rb 结果误差 多亏了阿尼尔

在CanCan的Ability.rb中,我必须将下面的一行放在用户初始值设定项的默认情况下。最初它只有read选项,我认为它也会封装归档文件。我不得不添加归档选项

否则 can:阅读,[博客]
can:archive,[Blog]

您是否使用过像cancan这样的授权宝石?是的,cancan。我将检查这方面,因为我认为这是正确的设置。我建议不要更新问题,而是写下答案并接受它,以便其他人可以从中学习。快乐编码:
resources :blogs do
  collection do
    get 'archive'
  end
end
class BlogsController < ApplicationController
  before_filter :authenticate_user!, :except => [:index, :archive] # Devise
  ...
http://myexample.com/blogs/archive?blog_id=1
Access denied on archive Blog(id: integer, name: string, ...
Redirected to http://myexample.com/