为了在我的app的不同部分访问相同的数组,我将数组存储在相应的Model中,使用class方法检索数组。

在下面的代码中, 代码用于视图(以生成选择下拉列表)和相同的模型(以验证传递的值)。

class Request < ActiveRecord::Base

  validates :code, presence: true, inclusion: { in: self.codes }

  def self.codes
    return ["OBJ", "SER", "REC"]
  end

end

但使用此方法会生成以下错误:

undefined method `codes' for #<Class:0x000001074ddc50>

甚至删除self. 在包含中,没有解决问题(未定义的局部变量)。

你有想法吗?

===============>>#1 票数:1 已采纳

您的codes方法在验证中使用后声明 - 当执行验证行时,方法尚未定义,因此错误。

如果您在codes方法之后放置验证它应该工作。

===============>>#2 票数:1

您可以将其定义为模型顶部的常量

class Request < ActiveRecord::Base
  CODES = ["OBJ", "SER", "REC"]

比你可以访问它请求:: CODES

验证将如下所示

 validates :code, presence: true, inclusion: { in: CODES }

  ask by htaidirt translate from so

未解决问题?本站智能推荐:

1回复

Rails-从ActiveRecord模型中访问模型类方法

我有一个简单的独立模型,它不继承自ActiveRecord或其他任何东西,称为SmsSender 。 顾名思义,它将文本消息传递到SMS网关。 我也有称为ActiveRecord模型SmsMessage其中有所谓的实例方法deliver : 上面的返回uninitialized
6回复

在Rails中访问模型属性

所以基本上我有一个控制器。 这样的事情 用户具有名称,地址,性别等属性。如何在模型中访问这些属性? 我可以为名称重载模型访问器,例如将其替换为我自己的值或将其连接到它。 就像在此方法的show.html.erb视图中一样,我可能希望将用户的名称与'Mr.'连接起来 或'太太'
1回复

Rails:我可以在模型的类方法内创建和保存对象实例吗?

是否可以在模型上使用类方法来创建同一模型的新实例? 这种情况是我想与外部API交互,在其他服务上创建一个实例,然后在完成后将新对象引用成功存储在本地模型中。 因此,例如,我想从控制器中调用这样的内容: 并且在模型上有一个这样的类方法:
4回复

Rails:模型中的调用方法

无法想出这个。 在rails模型中,我想调用同一模型中的方法来操作find方法返回的数据。 这个'filter'方法将从这个模型中的许多自定义find方法调用,所以我希望它是分开的。 (我无法从SQL中过滤它太复杂了) 这是一个例子: 结果是:未定义的方法`filter_my
2回复

Rails中关联模型的父模型访问ID

好的,我在滑轨中有以下模型: 碎片 属于分片或不属于任何事物的“现实” 属于现实的“空间” 属于空间的“属性” 我可以访问shard.reality.space.first.properties,但我希望能够通过属性模型中的自定义方法访问“ shard”
2回复

无法在Rails的控制器中访问模型方法

在我的Rails应用程序中,我有一个控制器tickets_controller.rb和模型ticket.rb。 为了创建票证,我有以下表格, 我想在form_load(票证/新票证)上创建一个唯一的随机参考号,并且应该将其附加到“参考号”文本字段中。 创建新的参考号时,它应检查票证表
2回复

Rails中模型的辅助方法

Rails中的模型是否有适当的辅助方法? 控制器和视图有辅助方法,但我不确定放置模型辅助方法的最佳位置。 除了向ActiveRecord::Base添加一个方法,我不想这样做。 更新 :似乎忧虑很有意义。 这是我想要的一个例子。 某些模型永远不会被删除,所以我添加一个总是抛出异常的
1回复

Rails:从模型方法访问字段值

如果title是数据库表中的一个字段,为什么调用@title返回nil ? 令人难以置信的是,未记录从该模型上的方法内部访问模型字段的信息。
2回复

Rails 4-链接模型关联以访问关联的方法

我有用于用户,个人资料和组织请求的模型。 关联是: 用户 轮廓 组织要求 在我的用户模型中,我有一个名为full_name的方法(用于格式化用户名的表示形式。 我正在尝试在organisation_requests模型中访问该full_name方法。
3回复

Rails:从模型方法访问字段值

刚开始学习Rails(3)。 我正在试图找出如何做一些可能完全无关紧要的事情:从模型中的方法内部访问模型实例的字段的值。 就我而言: 所有三个@properties(数据库中表的所有字段)都返回nil 。 他们不应该。 令人难以置信的是, http://guides.ra