0 0

ApplicationController 的问题?5

在终端运行ruby xxx_controller.rb 得到uninitialized constant Object::ApplicationController (NameError)
这是纹身没?

问题补充:
夜鸣猪 写道
你这个吧,不太好解释,先这么说吧

ruby  一个rb文件你就是想运行一个ruby程序文件是吧,比如,a.rb文件里有puts 1 + 1那,你ruby a.rb就显示2,呵呵
可是,如果你运行的rb文件里有
class BooksController < ApplicationController

基本每个controller文件都是类似的声明,说明继承关系,而且你再看application_controller.rb会发现
class ApplicationController < ActionController::Base

根据错误提示,就是说找不到声明的父类

实际上,你是想把一个rails controller文件当个简单ruby文件运行。而那个controller设计来是在rails环境下,由rails web server执行的。所以,这个做法本身有点问题。

想看controller怎么运行,应该debugger一下,参考相关的东西吧。



夜鸣猪,又是你。你真是一个热心的人。
很感谢你的帮助。我之所以这么做是因为以前调试php的时候经常喜欢  运行 xxx.php 这样子可以更直观的看到程序错误。
可是学了rails以后一直没有找到一个好的调试方法。
很苦恼。
2011年10月16日 22:20

1个答案 按时间排序 按投票排序

0 0

采纳的答案

你这个吧,不太好解释,先这么说吧

ruby  一个rb文件你就是想运行一个ruby程序文件是吧,比如,a.rb文件里有puts 1 + 1那,你ruby a.rb就显示2,呵呵
可是,如果你运行的rb文件里有

class BooksController < ApplicationController

基本每个controller文件都是类似的声明,说明继承关系,而且你再看application_controller.rb会发现
class ApplicationController < ActionController::Base

根据错误提示,就是说找不到声明的父类

实际上,你是想把一个rails controller文件当个简单ruby文件运行。而那个controller设计来是在rails环境下,由rails web server执行的。所以,这个做法本身有点问题。

想看controller怎么运行,应该debugger一下,参考相关的东西吧。


2011年10月17日 12:27

相关推荐

    rails_pattern_view:曾经因为必须在非常常见的页面上复制粘贴Rails视图而感到烦恼,但是这个gem可以解决这个问题

    曾经因为不得不在非常常见的页面上复制/粘贴Rails视图而烦恼,此gem将解决此问题一次创建您的view文件夹(模式)并指示您的控制器使用该模式 安装 将此行添加到您的应用程序的Gemfile中: gem 'rails_pattern_view...

    rails 常见灵异错误汇总

    确保在`ApplicationController`中设置合适的异常处理,以避免程序崩溃。 5. **环境变量问题**:在不同环境下(如开发、测试和生产)配置可能不同,不正确的环境变量设置可能导致运行时错误。使用`dotenv` gem可以...

    ubuntu下安装ruby on rails

    class HelloWorldController &lt; ApplicationController def index render text: "hello world" end end ``` 重启服务器并访问 `http://localhost:3000/hello_world` 来查看结果。 ### 三、常见问题及解决方案 #...

    Ruby-Pundit通过OO设计和纯Ruby类可伸缩的授权系统

    Pundit的目标是为开发者提供一个灵活、可扩展且易于维护的解决方案,以解决“谁可以做什么”的问题。 Pundit的核心理念是将授权逻辑与业务逻辑分离。它通过定义简单的政策类(Policy)来实现这一目标,每个政策对应...

    rails-security-checklist:社区驱动的Rails安全检查表(有关自述文件中尚未包括的最新检查,请参见我们的GitHub问题)

    请注意,此清单并不全面,最初是由对安全性感兴趣的Rails开发人员起草的,而不是安全专家,因此它可能存在一些问题,已被警告! 清单(不分先后) 控制器 为ApplicationController (和其他抽象控制器)启用安全的...

    segment-rails:用于在客户端使用 Segment 记录数据的 Rails 插件

    在客户端呈现的应用程序中,这不是问题。 一旦事件被验证为成功,就在 JavaScript 层进行事件跟踪! 在服务器端应用程序中,浏览器没有明确的方式来了解某个操作是否成功。 在保持服务器端渲染的快速开发和可访问...

    lappen:Rails的关系过滤抽象库

    ApplicationController def index @products = policy_scope ( Product . active ) . with_name ( params [ :name ] ) . ordered_by ( params [ :order ] ) . page ( params [ :page ] ) . per ( params [ :per ]...

    Ruby-CanCanCanRubyonRails的一个授权Gem

    OAuth则是一种开放标准,用于授权第三方应用访问用户在另一服务上的数据,它通常与CanCanCan一起使用,但它们解决的问题领域不同。 总的来说,CanCanCan 是一个强大的授权工具,它帮助开发者实现灵活且易于维护的...

    Rails best practices

    随着应用变得越来越庞大和复杂,以及团队成员之间的编码风格差异,代码可能会逐渐表现出以下几个问题: - **僵硬**:难以修改,一个改动可能会影响到其他部分。 - **脆弱**:稍微修改就可能导致其他无关的部分出错。...

    ruby on rails.docx

    class HelloWorldController &lt; ApplicationController def index render :text =&gt; "Hello World" end end ``` 3. **访问页面** 在浏览器中访问 `http://localhost:3000/hello_world`,即可看到 “Hello ...

    Rails中遇到错误跳转到统一提示错误页的方法

    一个迭代开发中的网站难免存在bug,出bug的时候客户体验就很不好了,为解决此问题,可以在class error产生的时候,触发跳转到统一提示页面,并给开发人员发邮件报错误信息,提高测试能力和用户体验。以下是核心方法...

    Ruby-versionist一个插件用于版本化基于Rails的RESTfulAPIs

    Ruby-versionist插件就是为了解决这个问题,它允许开发者在不中断现有用户的情况下,为Rails应用程序添加新的API版本。 首先,让我们深入了解RESTful API的基础知识。RESTful API设计原则主要包括: 1. **资源导向*...

    关于rails学习中分页的示例

    class PostsController &lt; ApplicationController def index @posts = Post.page(params[:page]).per(10) end end ``` 6. **自定义分页样式** `kaminari`默认的分页样式可能不符合你的设计需求。你可以通过...

    强大功能:为Rails应用动态呈现错误页面或JSON响应的简单而安全的方法

    它继承自ActionController::Base ,因此即使您的ApplicationController遇到问题,它也可以正常工作。 灵活 您可以完全控制要显示特定异常的错误页面。 它还可以json呈现(对于API应用程序而言是完美的)。 它甚至...

    Ruby_On_Rails笔记

    如果在安装过程中遇到网络问题,需要确保网络通畅。Rails框架安装完成后,可以通过“rails -v”命令检查安装是否成功,并且可以使用“gem update rails”命令来更新Rails到最新版本。 Rails的HelloWorld示例展示了...

    delayed_action:在一行代码中延迟Rails控制器的动作

    ApplicationController include DelayedAction delayed_action [:show] def show end end 样例项目 谁需要这个 许多请求(报告,管理请求,数据转储)通常比典型的HTTP超时花费更长的时间,而且必须排队...

    Ruby_on_Rails笔记

    这份笔记不仅包含了作者的学习历程和个人体会,还汇集了他在学习过程中遇到的问题及其解决方案。作者提到,“读不如做,做不如写”的理念驱使他将学到的知识整理成文,以便日后查阅回顾。这样的学习方式不仅有助于...

    Ruby-attache一个文件上传方式

    class AttachmentsController &lt; ApplicationController def create @attachment = Attache::File.new(params[:file]) if @attachment.save render json: { url: @attachment.url } else render json: { error:...

    Ruby-RubyonRails应用程序的安全注意事项清单

    - 添加`protect_from_forgery with: :exception`到ApplicationController以启用CSRF防护。 - 在表单中添加隐藏的CSRF令牌字段。 10. **文件上传安全**: - 验证文件类型和大小,防止恶意文件上传。 - 不要在可...

    云原生应用全自动化渐进式交付的gitops实践分享

    ApplicationController则是ArgoCD的GitOps引擎,负责对比实际应用状态和期望状态,检测和恢复不一致性。 ArgoCD还提供了丰富的应用管理和运维功能: - 版本管理:ArgoCD能够将应用版本号与Git提交一一映射,方便...

Global site tag (gtag.js) - Google Analytics