加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 重用多个Rails模型中的方法

发布时间:2020-12-17 03:32:38 所属栏目:百科 来源:网络整理
导读:初学者 ruby / rails问题在这里.我有一个方法,我目前在我的“用户”模型中使用. def generate_token(列) ????开始 ??????self [column] = SecureRandom.urlsafe_base64 ????User.exists结束?(column = self [column]) ??结束 我想在不同的模型中重用相同的
初学者 ruby / rails问题在这里.我有一个方法,我目前在我的“用户”模型中使用.

def generate_token(列)
????开始
??????self [column] = SecureRandom.urlsafe_base64
????User.exists结束?(column => self [column])
??结束

我想在不同的模型中重用相同的方法,比如说我的帐户模型.

在这个模型之间共享这样的代码的好地方在哪里?
另外,为了获得调用类,我只使用“self.class”?

谢谢

解决方法

Rails 4关注的是这里的工作. http://api.rubyonrails.org/classes/ActiveSupport/Concern.html

应用程序/模型/ user.rb:

class User < ActiveRecord::Base
  include TokenGenerator

  def foo
    $stderr.puts self.class.generate_token("bar")
  end
end

应用程序/模型/ account.rb:

class Account < ActiveRecord::Base
  include TokenGenerator

  class << self
    def bar
      return generate_token("foo")
    end
  end
end

应用程序/模型/关注/ token_generator.rb

module TokenGenerator
  extend ActiveSupport::Concern

  module ClassMethods
    def generate_token(c)
      return "some_thing"
    end
  end
end

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读