-
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个答案 按时间排序 按投票排序
-
采纳的答案
你这个吧,不太好解释,先这么说吧
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视图而烦恼,此gem将解决此问题一次创建您的view文件夹(模式)并指示您的控制器使用该模式 安装 将此行添加到您的应用程序的Gemfile中: gem 'rails_pattern_view...
确保在`ApplicationController`中设置合适的异常处理,以避免程序崩溃。 5. **环境变量问题**:在不同环境下(如开发、测试和生产)配置可能不同,不正确的环境变量设置可能导致运行时错误。使用`dotenv` gem可以...
class HelloWorldController < ApplicationController def index render text: "hello world" end end ``` 重启服务器并访问 `http://localhost:3000/hello_world` 来查看结果。 ### 三、常见问题及解决方案 #...
Pundit的目标是为开发者提供一个灵活、可扩展且易于维护的解决方案,以解决“谁可以做什么”的问题。 Pundit的核心理念是将授权逻辑与业务逻辑分离。它通过定义简单的政策类(Policy)来实现这一目标,每个政策对应...
请注意,此清单并不全面,最初是由对安全性感兴趣的Rails开发人员起草的,而不是安全专家,因此它可能存在一些问题,已被警告! 清单(不分先后) 控制器 为ApplicationController (和其他抽象控制器)启用安全的...
在客户端呈现的应用程序中,这不是问题。 一旦事件被验证为成功,就在 JavaScript 层进行事件跟踪! 在服务器端应用程序中,浏览器没有明确的方式来了解某个操作是否成功。 在保持服务器端渲染的快速开发和可访问...
ApplicationController def index @products = policy_scope ( Product . active ) . with_name ( params [ :name ] ) . ordered_by ( params [ :order ] ) . page ( params [ :page ] ) . per ( params [ :per ]...
OAuth则是一种开放标准,用于授权第三方应用访问用户在另一服务上的数据,它通常与CanCanCan一起使用,但它们解决的问题领域不同。 总的来说,CanCanCan 是一个强大的授权工具,它帮助开发者实现灵活且易于维护的...
随着应用变得越来越庞大和复杂,以及团队成员之间的编码风格差异,代码可能会逐渐表现出以下几个问题: - **僵硬**:难以修改,一个改动可能会影响到其他部分。 - **脆弱**:稍微修改就可能导致其他无关的部分出错。...
class HelloWorldController < ApplicationController def index render :text => "Hello World" end end ``` 3. **访问页面** 在浏览器中访问 `http://localhost:3000/hello_world`,即可看到 “Hello ...
一个迭代开发中的网站难免存在bug,出bug的时候客户体验就很不好了,为解决此问题,可以在class error产生的时候,触发跳转到统一提示页面,并给开发人员发邮件报错误信息,提高测试能力和用户体验。以下是核心方法...
Ruby-versionist插件就是为了解决这个问题,它允许开发者在不中断现有用户的情况下,为Rails应用程序添加新的API版本。 首先,让我们深入了解RESTful API的基础知识。RESTful API设计原则主要包括: 1. **资源导向*...
class PostsController < ApplicationController def index @posts = Post.page(params[:page]).per(10) end end ``` 6. **自定义分页样式** `kaminari`默认的分页样式可能不符合你的设计需求。你可以通过...
它继承自ActionController::Base ,因此即使您的ApplicationController遇到问题,它也可以正常工作。 灵活 您可以完全控制要显示特定异常的错误页面。 它还可以json呈现(对于API应用程序而言是完美的)。 它甚至...
如果在安装过程中遇到网络问题,需要确保网络通畅。Rails框架安装完成后,可以通过“rails -v”命令检查安装是否成功,并且可以使用“gem update rails”命令来更新Rails到最新版本。 Rails的HelloWorld示例展示了...
ApplicationController include DelayedAction delayed_action [:show] def show end end 样例项目 谁需要这个 许多请求(报告,管理请求,数据转储)通常比典型的HTTP超时花费更长的时间,而且必须排队...
这份笔记不仅包含了作者的学习历程和个人体会,还汇集了他在学习过程中遇到的问题及其解决方案。作者提到,“读不如做,做不如写”的理念驱使他将学到的知识整理成文,以便日后查阅回顾。这样的学习方式不仅有助于...
class AttachmentsController < ApplicationController def create @attachment = Attache::File.new(params[:file]) if @attachment.save render json: { url: @attachment.url } else render json: { error:...
- 添加`protect_from_forgery with: :exception`到ApplicationController以启用CSRF防护。 - 在表单中添加隐藏的CSRF令牌字段。 10. **文件上传安全**: - 验证文件类型和大小,防止恶意文件上传。 - 不要在可...
ApplicationController则是ArgoCD的GitOps引擎,负责对比实际应用状态和期望状态,检测和恢复不一致性。 ArgoCD还提供了丰富的应用管理和运维功能: - 版本管理:ArgoCD能够将应用版本号与Git提交一一映射,方便...