Ruby   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ruby-on-rails – Ruby on Rails:模型之间的共享方法大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
如果我的几个模型有一个隐私列,有没有办法我可以写一个所有模型共享的方法,我们称它为is_public?

所以,我想要做object_var.is_public?

解决方法

一种可能的方法是将共享方法放在这样的模块中(RAILS_ROOT / lib / shared_methods.rb) @H_381_8@module SharedMethods def is_public? # your code end end

那么你需要两个包括这个模块在每个模型应该有这种方法(即app / models / your_model.rb)

class YourModel < ActiveRecord::Base
  include SharedMethods
end

更新:

在Rails 4中有一个new way这样做.您应该将这样的共享代码放在app / models / concern中而不是lib中

此外,您可以添加类方法并执行这样的包含代码

@H_381_8@module SharedMethods extend ActiveSupport::Concern included do scope :public,-> { where(…) } end def is_public? # your code end module ClassMethods def find_all_public where #some condition end end end

大佬总结

以上是大佬教程为你收集整理的ruby-on-rails – Ruby on Rails:模型之间的共享方法全部内容,希望文章能够帮你解决ruby-on-rails – Ruby on Rails:模型之间的共享方法所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。