Ruby on rails rails模型的别名

Ruby on rails rails模型的别名,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我在一个rails应用程序中的模型名是OrganizationUser,有没有办法将此模型的别名创建为OU或OrganizationUser,以便我可以在rails控制台中使用..如果kishie的答案不适合您,您可以创建另一个从OrganizationUser继承的模型: class OU < OrganizationUser end class OU正确 ruby-1.9.3-preview1:002>包含别名 =>对象 ruby-1.9.3-preview1:003>C =>主页(

我在一个rails应用程序中的模型名是
OrganizationUser
,有没有办法将此模型的别名创建为OU或OrganizationUser,以便我可以在rails控制台中使用..

如果kishie的答案不适合您,您可以创建另一个从OrganizationUser继承的模型:

class OU < OrganizationUser
end
class OU

class-OrgUser
在更干净的一面工作。假设你有一个模型

   class Home < ActiveRecord::Base
      class << self
        def agent
            p "This is a Dummy String"
       end
    end
    end
步骤2

转到轨道c

rails c
"inside it for loading"
Loading development environment (Rails 3.2.1)
ruby-1.9.3-preview1 :001 > require 'alias'
 => true

ruby-1.9.3-preview1 :002 > include Alias
 => Object 

ruby-1.9.3-preview1 :003 > C
 => Home(id: integer, created_at: datetime, updated_at: datetime)

ruby-1.9.3-preview1 :004 > H
 => #<Home id: nil, created_at: nil, updated_at: nil> 
rails c
“里面装东西”
加载开发环境(Rails 3.2.1)
ruby-1.9.3-preview1:001>需要“别名”
=>正确
ruby-1.9.3-preview1:002>包含别名
=>对象
ruby-1.9.3-preview1:003>C
=>主页(id:integer,创建时间:datetime,更新时间:datetime)
ruby-1.9.3-preview1:004>H
=> # 

在某些情况下,这实际上有点危险,特别是对于STI模型,或者对于任何需要特定类类型的情况。它会起作用,但会让我有点紧张。@DaveNewton:说实话,我完全没有意识到op的目标是在控制台中使用名称,在这种情况下,我会选择kishie的答案(OU=OrganizationUser),我自己过去也用过。但是,如果您所关注的只是为给定的类使用不同的名称,那么我认为上述代码没有问题;这可能不是问题,但它引入了一个实际上并不存在的类型层次结构。正如我所说,这不一定是个问题,但我不是一个好主意——YMMV:)
module Alias
C = Home #to make a alias of class
H = Home.new  #a class object alias
end
rails c
"inside it for loading"
Loading development environment (Rails 3.2.1)
ruby-1.9.3-preview1 :001 > require 'alias'
 => true

ruby-1.9.3-preview1 :002 > include Alias
 => Object 

ruby-1.9.3-preview1 :003 > C
 => Home(id: integer, created_at: datetime, updated_at: datetime)

ruby-1.9.3-preview1 :004 > H
 => #<Home id: nil, created_at: nil, updated_at: nil>