7得票1回答
让ActiveModel::Callbacks与ActiveResource配合使用

我正在尝试让ActiveModel :: Callbacks与ActiveResource一起使用(特别是在Rails 3应用程序中的after_initialize),但似乎无法使其工作。 我没有收到任何错误消息,但回调方法从未执行。 以下是代码片段: class User < A...

50得票5回答
从模型获取验证

如何获取模型中定义的验证列表 示例:class ModelName validates_presence_of :field_name validates_inclusion_of :sex, :in => %w(M F) end 我需要类似于哈希的东西:{:field_nam...

14得票3回答
Rails中,如何使用dirty或changed?标记与after_commit一起使用?

我听说Rails有一个脏/更改标志。是否可以在after_commit回调函数中使用它? 在我的用户模型中,我有:after_commit :push_changes 在def push_changes中,我想知道是否有一种方法可以知道名称字段是否已更改。这可能吗?

11得票2回答
“'nil'不是ActiveModel兼容的对象。它必须实现:to_partial_path”在微博模型中出现的错误。

当我尝试查看用户个人资料页面时,我会收到上述错误。 以下是我的show.html.erb代码:<% provide(:title, @user.name) %> <div class="row"> <aside class="span4"> ...

13得票1回答
Rails/ActiveModel 如何向 EachValidator 传递参数

我有一个非常通用的验证器,我想向它传递参数。 以下是一个示例模型:class User include Mongoid::Document field :order_type has_many :orders, inverse_of :user validates: ord...

44得票5回答
在Rails 4中遇到了一个之前需要使用attr_accessible的情况,会出现禁止属性错误(Forbidden Attributes Error)。

随着最近对Rails 4的升级,使用类似以下代码来更新属性将不起作用,并会出现ActiveModel::ForbiddenAttributes错误: 由于新版Rails默认启用了Strong Parameters,需要在控制器中指定参数名才能接受参数。要解决这个问题,需要在控制器中添加参数白...

9得票1回答
Shoulda-Matchers和自定义错误消息

我正在尝试使用shoulda matchers进行一些基本的rspec测试,但我遇到了一个之前没有在SO上看到过的错误。 我有一个唯一的属性称为名称,但由于项目所需的原因,我已经用config/locales/en.yml中自己的形式的消息覆盖了默认的“已被占用”消息,而Shoulda似乎不...

54得票5回答
控制Rails验证的顺序

我有一个Rails模型,用户通过表单填写了其中的7个数字属性。 我需要验证每个属性是否存在,这显然很容易使用以下方法:validates :attribute1, :presence => true validates :attribute2, :presence => true...

65得票4回答
LoadError:无法自动加载常量Message

在我的应用程序中,当我提交表单时,出现以下错误: LoadError at /questions Unable to autoload constant Message, expected /app/models/message.rb to define it 它指向Questions控...

7得票3回答
Rails未定义方法'model_name'。

我有以下模型: class Contact attr_accessor :name, :emails, :message def initialize(attrs = {}) attrs.each do |k, v| self.send "#{k}=", v ...