Ruby   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ruby-on-rails – Rails ActiveSuppport:关注和私有方法大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_607_0@
这是一个很棒的想法,关于rails: http://37signals.com/svn/posts/3372-put-chubby-models-on-a-diet-with-concerns

制作不是公共API一部分的非常小的方法也是一个好主意.在不用担心的情况下,这些成为ruby类中的私有方法.

在Rails ActiveSupport :: Concern模块中创建私有方法是否有意义?如果是这样,私人工作在常规实例方法和类方法的关注定义中?

解决方法

虑到这些关注是最终将被包含在其他类中的智能模块 – 是的,它是.它只是一个可移植的代码,可提取的行为,我想将其视为我的控制器(或模型等)的一部分,因为我正在编写它.所以基本上你只是按照通常的方式声明私有或受保护的方法.

也许the post you linked自2013年以来已经更新,但DHH在其中的一个例子中确实如此:

@H_503_14@module Dropboxed extend ActiveSupport::Concern included do before_create :generate_dropbox_key end def rekey_dropbox generate_dropbox_key save! end private # <- Let's list some privates def generate_dropbox_key self.dropbox_key = SignalId::Token.unique(24) do |key| self.class.find_by_dropbox_key(key) end end end

对于私有类方法,我同意@Hugo,从不自己使用它们,但是你可以这样实现:

@H_503_14@module Dropboxed extend ActiveSupport::Concern included do private_class_method :method_name end module ClassMethods def method_name end end end

大佬总结

以上是大佬教程为你收集整理的ruby-on-rails – Rails ActiveSuppport:关注和私有方法全部内容,希望文章能够帮你解决ruby-on-rails – Rails ActiveSuppport:关注和私有方法所遇到的程序开发问题。

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

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