使用attr_accessor在Rails中进行条件验证

尼安德斯洛

我正在尝试在模型中进行一些条件验证Company基本上,这个想法是Company由许多不同的控制器使用的,每个控制器都有自己的验证要求。我的想法是使用attr_accessor添加一个属性来标识有问题的控制器,如下所示:

<%= company.hidden_field :controller_context, value: "incorporation" %>

但是,我无法:controller_context在验证中将其用作条件。

validate :final_incorporation, if: "controller_context=='incorporation'"

上面没有给我任何错误,但也没有触发验证。但是,如果尝试controller_context使用以下命令在日志中获取值

logger.debug "controller_context: #{controller_context}"

我得到了错误

undefined local variable or method `controller_context' 

我一直在谷歌周围寻找解决方案。我已经看到一个建议来编辑控制器以适应这种情况,但是由于种种原因,这似乎并不是最佳选择。我在这里可能会缺少什么?

提前致谢。

贾瓦德·卡瓦贾(Jawad Khawaja)

您最初的想法似乎很实际。我不能完全确定模型中是否可以使用您的隐藏字段的值。尝试这样,让我知道如何进行:

添加attr_accessor :controller_context到您的模型。在您的控制器中,在调用保存之前,将您的控制器名称分配给@company.controller_context

然后在模型中进行验证时,添加一个条件,例如: validate :final_incorporation, if: :is_incorporation

并在方法中:

def is_incorporation?
  controller_context == 'incorporation'
end

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用 attr_accessor 进行验证总是会返回错误

来自分类Dev

为什么在Rails中需要attr_accessor?

来自分类Dev

Rails模型-attr_accessor引发未知方法异常?

来自分类Dev

Rails模型-attr_accessor引发未知方法异常?

来自分类Dev

无法在Rails 4中检索attr_accessor

来自分类Dev

Ruby Singleton attr_accessor

来自分类Dev

动态创建attr_accessor?

来自分类Dev

在Rails中进行验证

来自分类Dev

使用if条件进行Rails验证

来自分类Dev

如何在Ruby on Rails模型中进行条件验证?

来自分类Dev

类变量上的attr_accessor

来自分类Dev

attr_accessor跨多个类?

来自分类Dev

父模型上的Rails attr_accessor属性可用于子级

来自分类Dev

Rails / Ruby-如何检查attr_accessor字段是否存在?

来自分类Dev

Rails 4回形针:attr_accessor必需缺少

来自分类Dev

为没有`attr_accessor`的Rails模型设置非数据库属性

来自分类Dev

如何在Rails 4的ActiveRecord查询中的哈希(attr_accessor)中获取计算值?

来自分类Dev

Rails 4将数据从控制器传递到模型attr_accessor

来自分类Dev

通过.build()作为参数传递后可发现Rails attr_accessor

来自分类Dev

Rails 4:回形针错误发布模型缺少'image_file_name'的attr_accessor必需

来自分类Dev

如何在Rails 4的ActiveRecord查询中的哈希(attr_accessor)中获取计算值?

来自分类Dev

使用delivery_later时在邮件程序中无法访问attr_accessor

来自分类Dev

在初始化时使用attr_accessor设置ruby 2.0关键字参数

来自分类Dev

attr_accessor是否需要在Ruby中使用符号作为变量?

来自分类Dev

attr_accessor是否需要在Ruby中使用符号作为变量?

来自分类Dev

使用delivery_later时在邮件程序中无法访问attr_accessor

来自分类Dev

为什么没有使用 attr_accessor 在类上设置实例变量?

来自分类Dev

attr_reader,attr_accessor功能无法正常工作

来自分类Dev

attr_accessor与attr_reader和实例变量

Related 相关文章

  1. 1

    使用 attr_accessor 进行验证总是会返回错误

  2. 2

    为什么在Rails中需要attr_accessor?

  3. 3

    Rails模型-attr_accessor引发未知方法异常?

  4. 4

    Rails模型-attr_accessor引发未知方法异常?

  5. 5

    无法在Rails 4中检索attr_accessor

  6. 6

    Ruby Singleton attr_accessor

  7. 7

    动态创建attr_accessor?

  8. 8

    在Rails中进行验证

  9. 9

    使用if条件进行Rails验证

  10. 10

    如何在Ruby on Rails模型中进行条件验证?

  11. 11

    类变量上的attr_accessor

  12. 12

    attr_accessor跨多个类?

  13. 13

    父模型上的Rails attr_accessor属性可用于子级

  14. 14

    Rails / Ruby-如何检查attr_accessor字段是否存在?

  15. 15

    Rails 4回形针:attr_accessor必需缺少

  16. 16

    为没有`attr_accessor`的Rails模型设置非数据库属性

  17. 17

    如何在Rails 4的ActiveRecord查询中的哈希(attr_accessor)中获取计算值?

  18. 18

    Rails 4将数据从控制器传递到模型attr_accessor

  19. 19

    通过.build()作为参数传递后可发现Rails attr_accessor

  20. 20

    Rails 4:回形针错误发布模型缺少'image_file_name'的attr_accessor必需

  21. 21

    如何在Rails 4的ActiveRecord查询中的哈希(attr_accessor)中获取计算值?

  22. 22

    使用delivery_later时在邮件程序中无法访问attr_accessor

  23. 23

    在初始化时使用attr_accessor设置ruby 2.0关键字参数

  24. 24

    attr_accessor是否需要在Ruby中使用符号作为变量?

  25. 25

    attr_accessor是否需要在Ruby中使用符号作为变量?

  26. 26

    使用delivery_later时在邮件程序中无法访问attr_accessor

  27. 27

    为什么没有使用 attr_accessor 在类上设置实例变量?

  28. 28

    attr_reader,attr_accessor功能无法正常工作

  29. 29

    attr_accessor与attr_reader和实例变量

热门标签

归档