`
RunUpwind
  • 浏览: 91930 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

rails的before_filter,如果except子controller中的action skip_filter

阅读更多

如题,在http://stackoverflow.com/questions/2390178/skip-before-filter-in-rails 找到了答案。

 

问:

I have three controllers: dog , cat , and horse . These controllers all inherit from the controller animal . In the controller animal , I have a before filter that authenticates a user as such:

before_filter :authenticate

def authenticate
  authenticate_or_request_with_http_basic do |name, password|
    name == "foo" && password == "bar"
  end
end

 

In the show action of dog , I need to have open access to all users (skip the authentication).

If I were to write the authentication separately for dog , I could do something like this:

before_filter :authenticate, :except => :show

 

But since dog inherits from animal , I do not have access to the controller-specific actions. Adding :except => :show in the animal controller will not only skip authentication for the show action of dog , but also that of cat and horse . This behavior is not desired.

How can I skip the authentication only for the show action of dog while still inheriting from animal ?

 

答:

class Dog < Animal
  skip_before_filter :authenticate
end

  

See ActionController::Filters::ClassMethods for more info on filters and inheritance.

分享到:
评论

相关推荐

    Rails101_by_rails4.0

    《Rails101_by_rails4.0》是一本专注于Rails 4.0.0版本和Ruby 2.0.0版本的自学教程书籍,它定位于中文读者,旨在成为学习Rails框架的参考教材。Rails(Ruby on Rails)是一个采用Ruby语言编写的开源Web应用框架,它...

    inspinia admin - v2.5 Rails_Full_Version

    "inspinia admin - v2.5 Rails_Full_Version" 是一个基于Rails框架构建的后台管理系统的完整版本。这个系统采用流行的Inspinia Admin模板,提供了丰富的功能和自定义选项,旨在帮助开发者快速构建高效、现代且用户...

    rails_semantic_logger, Rails 语义记录器用语义记录器替换 Rails 缺省记录器.zip

    rails_semantic_logger, Rails 语义记录器用语义记录器替换 Rails 缺省记录器 Rails 语义记录器 语义记录器用语义记录器替代 Rails 缺省记录器。http://github.com/rocketjob/rails_semantic_logger文档有关完整文档...

    rails_apps_composer, 一个 gem,为 Rails 启动应用程序创建 Rails 应用程序模板.zip

    rails_apps_composer, 一个 gem,为 Rails 启动应用程序创建 Rails 应用程序模板 Rails 应用编辑器 Rails 应用程序编辑器 gem 安装一个 命令行 工具来从"食谱"的Collection 组装 Rails 应用程序。"你可以使用 rails_...

    agile_web_development_with_rails_3rd_edition.9994652073.pdf

    Ruby on Rails(简称Rails)是一种流行的Web开发框架,它基于Ruby语言,并采用MVC(Model-View-Controller)架构模式。Rails的设计理念是“约定优于配置”,这意味着框架会提供一系列默认设置,以减少开发人员的配置...

    InspiniaAdmin 2.6.1 Rails_Full_Version

    在Rails_Full_Version压缩包中,包含了完整的源代码和必要的资源文件,开发者可以通过解压并导入到Rails项目中,按照官方文档进行配置和定制。同时,这个版本可能还包含了升级记录、更改日志和可能的bug修复,以保证...

    rails_api_with_controller

    标题 "rails_api_with_controller" 暗示我们将探讨如何在Ruby on Rails框架中构建一个API,特别是使用Controller来实现。Rails API模式专为创建数据驱动的Web服务而设计,通常用于构建后端服务,供前端应用程序(如...

    rails_admin_acts_as_list:rails_admin插件以对记录进行排序

    介绍插件,用于对记录进行排序(使用 gem)安装要启用rails_admin_acts_as_list,请将以下内容添加到您的Gemfile : gem 'rails_admin_acts_as_list'gem 'rails_admin' 重要提示: rails_admin_acts_as_list之前必须...

    rails open_flash_chart

    "Rails Open Flash Chart" 是一个基于Ruby on Rails框架的库,用于在Web应用程序中生成交互式的Flash图表。这个库允许开发者轻松地创建各种统计图表,如折线图、柱状图、饼图等,以便更好地可视化数据。由于Flash在...

    Api-rails5_api_tutorial.zip

    Api-rails5_api_tutorial.zip,了解如何在michael hartl的rails 5教程上构建一个现代api立即在rails应用程序中构建一个api!(Rails 5版本),一个api可以被认为是多个软件设备之间通信的指导手册。例如,api可用于web...

    rails_best_practices:Rails项目的代码度量工具

    rails_best_practices rails_best_practices是用于检查Rails代码质量的代码度量工具。 它支持以下ORM / ODM: 活动记录 蒙古型 mongomapper 以及以下模板引擎: erb 哈姆 减肥 拉布尔 rails_best_practices...

    weixin_rails_middleware, 微信集成 ruby weixin_rails_middleware for integration weixin..zip

    `weixin_rails_middleware` 是一个开源的 Ruby 框架中间件,设计用于帮助开发者轻松地在 Rails 应用程序中集成微信服务。这个中间件提供了与微信API交互的功能,包括验证微信服务器的请求、处理用户消息、以及发送...

    sms_controller.zip_imran_imran khan_sms controller

    2. **sms_controller**:这可能是一个源代码文件,很可能用某种编程语言(如Ruby on Rails中的Controller、Java的Servlet或Node.js的Express Controller)编写,实现了短信服务的功能。代码可能包括了发送短信的API...

    Ruby on Rails Guides_ A Guide to Active Record Associations.pdf

    Ruby on Rails Guides_ A Guide to Active Record Associations.pdf

    RestFul_Rails_Dev_pdf_v_0.1.zip

    本资料“RestFul_Rails_Dev_pdf_v_0.1.zip”包含了《RESTful Rails Development》的翻译版,将深入探讨如何在Rails中实现RESTful的设计模式。 首先,RESTful设计的核心概念是资源(Resources)。在Rails中,资源...

    InspiniaAdmin 2.5 Rails_Seed_Project

    在这个Rails_Seed_Project中,开发者可以找到一个典型的Rails应用结构,包括Gemfile、config.ru、database.yml等核心配置文件,以及models、controllers、views和assets等目录,它们分别对应着业务逻辑、数据操作、...

    inspinia admin - v2.5 Rails_Seed_Project

    本文将详细探讨其在Rails框架下的种子项目(Rails_Seed_Project),旨在帮助开发者更好地理解和运用这一强大的工具。 首先,我们来了解一下“Inspinia Admin”。这是一款基于Bootstrap 3构建的响应式后台模板,提供...

    Rails_3_Cheat_Sheets.pdf

    Rails_3_Cheat_Sheets.pdf

    rails_email_preview, 在 Rails 中,预览和编辑应用程序邮件程序模板.zip

    rails_email_preview, 在 Rails 中,预览和编辑应用程序邮件程序模板 Rails 电子邮件预览 使用这里 Rails 引擎在浏览器中预览电子邮件。 兼容 Rails 4.2 。电子邮件审阅: 所有电子邮件预览的列表: 代表有两个主题...

Global site tag (gtag.js) - Google Analytics