关于lib目录中定义的模块,我有一个令人费解的问题
我有两个文件
#lib/authentication.rb
module Authentication
end
#lib/test_module.rb
module TestModule
end
Run Code Online (Sandbox Code Playgroud)
在我的应用程序控制器中我有
class ApplicationController < ActionController::Base
include Authentication
include TestModule
end
Run Code Online (Sandbox Code Playgroud)
身份验证模块正确加载但TestModule没有
我得到"未初始化的常量ApplicationController :: TestModule"
我很难过......有人吗?
编辑:有谁知道我可以在哪里调试这个?
我试图找到一种方法,我可以覆盖一个方法,做一些事情,然后恢复,而不会留下任何文物.
我已经使用mocha实现了这一点,但显然这不会在生产应用程序中飞行.请注意,新方法有参数而旧方法没有.
示例如下
require 'rubygems'
require 'mocha'
class Example
def to_something
self.stubs(:attribs => other(1))
r = attribs_caller
self.unstub(:attribs)
r
end
def other(int)
{"other" => int }
end
def attribs_caller
attribs
end
def attribs
{"this" => 1 }
end
end
a1 = Example.new
puts a1.attribs_caller #=> this1
puts a1.to_something #=> other1
puts a1.attribs_caller #=> this1
Run Code Online (Sandbox Code Playgroud) 反正有没有为所有Active记录模型添加查找条件?
这是我想要这个查询
ExampleModel.find :all, :conditions=> ["status = ?", "active"]
Run Code Online (Sandbox Code Playgroud)
表现得和...一样
ExampleModel.find :all
Run Code Online (Sandbox Code Playgroud)
在每个模型中
谢谢!!
我不明白如何使用部分视图正确使用实例变量,我希望有人在这里可以启发我.例如:
class MainController < ApplicationController
def index
@item_list = Item.find_all_item
end
def detail_display
@current_selected = @item= Item.find(params[:id])
redirect_to :action => :index
end
end
Run Code Online (Sandbox Code Playgroud)
detail_display当用户单击列表中的项目时调用.@current_selected当索引重定向到时,该变量不可用于调用的部分视图.我该如何解决这个问题?
谢谢
我正在运行Rails 2.0.2并且无法在我的AR关联中使用:dependent =>:delete
has_many :items, :dependent => :delete
Run Code Online (Sandbox Code Playgroud)
我收到了这个错误.
The :dependent option expects either :destroy, :delete_all, or :nullify (:delete)
Run Code Online (Sandbox Code Playgroud)
我无法找到以下文档:delete_all以查看它是否符合我的要求.它与删除基本相同吗?是:删除最近添加到Rails并不在我使用的版本?
目前,当我的rails应用程序遇到错误时,它会将错误代码和堆栈跟踪转储到浏览器窗口.
如何将其关闭以使这些错误仅记录在日志中而不输出到浏览器?
谢谢
更正:我主要关心的只是验证错误.我想要的就是使用生成的脚手架时获得的相同功能.我想显示验证错误消息并突出显示有问题的表单字段.现在,我得到的是这个标准的开发错误输出.最初这是在我的应用程序上工作但不知何故它丢失了.