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

ruby-on-rails – 如何在关注点(或模块中)访问模型名称?

发布时间:2020-12-17 03:16:29 所属栏目:百科 来源:网络整理
导读:我在rails应用程序中有以下问题: module Authenticable extend ActiveSupport::Concern included do # ... end module ClassMethods def quoted_table_name self.class.name.downcase.pluralize # returns "classes" end endend 如果我有一个用户类: class
我在rails应用程序中有以下问题:

module Authenticable
  extend ActiveSupport::Concern

  included do
    # ...
  end

  module ClassMethods
    def quoted_table_name
      self.class.name.downcase.pluralize # returns "classes"
    end
  end
end

如果我有一个用户类:

class User
  include Authenticable
end

然后我可以像User.quoted_table_name一样返回“用户”.目前,User.quoted_table_name返回“类”.我也试过以下,但没有改变.

def quoted_table_name
  Proc.new { self.class.name.downcase.pluralize }.call
end

解决方法

请尝试以下方法:

module Authenticable
  ...

  module ClassMethods
    def quoted_table_name
      name.downcase.pluralize # returns "users"
    end
  end
end

self.class.name.downcase.pluralize不起作用,因为我们已经在User-class的类端操作.在向User-class询问其类时,返回Class.但是,Class.name.downcase.pluralize是“类”.

(编辑:李大同)

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

    推荐文章
      热点阅读