我正在尝试学习Ruby on Rails并且一直在尝试在我的网站上安装“Devise”宝石以进行授权。在这样做时,我遇到了这段代码:
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :token_authenticatable, :lockable, :timeoutable, :confirmable and :activatable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
# Setup accessible (or protected) attributes for your model
attr_accessible :email, :password, :password_confirmation
end
'&lt;'是什么意味着在这种背景下?它在做什么?
答案 0 :(得分:3)
<
定义了inheritance
类和User
类之间的ActiveRecord::Base
,其中ActiveRecord::Base
是父类,User
是孩子班。
答案 1 :(得分:3)
在此上下文中,这是继承运算符,可以使用此示例简单地演示此用法:
class Ancestor
def meth
puts "ancestor"
end
end
class AnotherClass < Ancestor
end
a = AnotherClass.new
a.meth # displays ancestor
这里,AnotherClass
类实际上拥有Ancestor
类中定义的所有实例方法。
答案 2 :(得分:2)
使用<
语法进行子类化。
class Bar
def test
puts 'Testing!'
end
end
class Foo < Bar
end
现在Foo
是Bar
的子类,并且所有方法都可用。
答案 3 :(得分:1)
这意味着User
继承自ActiveRecord::Base
。
答案 4 :(得分:0)
理论上,即使在这里,它也意味着less than
。 Ruby说,由于User
类继承自ActiveRecord::Base
并且它是它的子类,所以它小于ActiveRecord::Base
。
但是,还有其他几个使用它的地方,比如将元素插入数组中。
[1,2,3] << 4 ## [1,2,3,4]
答案 5 :(得分:0)
继承!我也不认为你应该在没有先知道“&lt;”的情况下学习Rails。确实:)