gpt4 book ai didi

ruby-on-rails - Rails 从 ActiveRecord 对象生成不正确的 SQL

转载 作者:数据小太阳 更新时间:2023-10-29 08:28:50 25 4
gpt4 key购买 nike

我有一个表示预计到达时间的简单 ActiveRecord 对象。

class Eta < ActiveRecord::Base
belongs_to :stop
belongs_to :vehicle
validates :timestamp, :presence => true
end

在我的数据库中,我创建了相应的列 stop_idvehicle_idtimestamp(日期时间类型)

我设置了一个 rake 任务来对该表执行操作,但它生成的 SQL 没有意义。如果我尝试运行:

for eta in Eta.all
puts eta.timestamp
end

它尝试SELECT * FROM eta,但是表名为etas,而不是eta

复数数据库命名与从 ActiveRecord 对象创建的其余表一致,我成功创建了一个类似的 ActiveRecord 对象,并且可以正常工作。

class PrecedingCoord < ActiveRecord::Base
belongs_to :stop
belongs_to :route
belongs_to :coord
end

在 rake 文件中:

for eta in PrecedingCoord.all
puts eta.coord.latitude
end

最佳答案

Rails 将 ETA 的复数形式设置为 ETA。

> 'eta'.pluralize
=> "eta"

如果你已经创建了一个名为 etas 的表,你可以在你的模型中设置它:

class Eta < ActiveRecord::Base
set_table_name "etas"

belongs_to :stop
belongs_to :vehicle
validates :timestamp, :presence => true
end

关于ruby-on-rails - Rails 从 ActiveRecord 对象生成不正确的 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7955779/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com