Aus*_*ner 2 ruby activerecord ruby-on-rails ruby-on-rails-3
我有一个简单的ActiveRecord对象,表示估计的到达时间.
class Eta < ActiveRecord::Base
belongs_to :stop
belongs_to :vehicle
validates :timestamp, :presence => true
end
Run Code Online (Sandbox Code Playgroud)
在我的数据库,我创建了相应的栏目stop_id
,vehicle_id
和timestamp (of type datetime)
.
我有一个rake任务设置来执行此表上的操作,但它生成的SQL没有意义.如果我尝试运行:
for eta in Eta.all
puts eta.timestamp
end
Run Code Online (Sandbox Code Playgroud)
它尝试SELECT * FROM eta
,但表是命名etas
,而不是eta
.
复数数据库命名与从ActiveRecord对象创建的其余表一致,我成功创建了一个正常工作的类似ActiveRecord对象.
class PrecedingCoord < ActiveRecord::Base
belongs_to :stop
belongs_to :route
belongs_to :coord
end
Run Code Online (Sandbox Code Playgroud)
在rake文件中:
for eta in PrecedingCoord.all
puts eta.coord.latitude
end
Run Code Online (Sandbox Code Playgroud)
Rails将ETA的复数设置为ETA.
> 'eta'.pluralize
=> "eta"
Run Code Online (Sandbox Code Playgroud)
如果您已经创建了一个名为的表etas
,则可以在模型中进行设置:
class Eta < ActiveRecord::Base
set_table_name "etas"
belongs_to :stop
belongs_to :vehicle
validates :timestamp, :presence => true
end
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
167 次 |
最近记录: |