gpt4 book ai didi

ruby-on-rails - 我的客体关系有什么问题吗?

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

我希望哪个订单有不同的订单状态,所以我在 status.rb 中有一个名为“status”的表,它是这样的:

class Status < ActiveRecord::Base
belongs_to :order
attr_accessible :name

end

这是我的订单.rb:

class Order < ActiveRecord::Base
has_one :statuses
end

在我看来,我尝试这样调用相关状态:

    <%= order.statuses.name%>

不行,所以,我是这样调用的:

<% order.statuses.each_with_index do |order_status, index| %>
<%= order_status.name%>
<% end %>

还是不行。我有这样的错误:

uninitialized constant Order::Statuses

我将我的代码更改为:

应该是

有一个:状态

订单.状态.名称

但是我有这个错误:

SQLite3::SQLException: 没有这样的列:statuses.order_id: SELECT * FROM "statuses"WHERE ("statuses".order_id = 5) LIMIT 1

我只想要与状态相关的订单,但是状态与订单无关,可以吗?

最佳答案

由于复数化,您遇到了错误。你应该:

class Order < ActiveRecord::Base
has_one :status
end

但是,听起来您的 belongs_to - has_one 关系可能是倒过来的。如果你只想在数据库中有几个状态(例如:pending, billed, shipped, complete),一个 Status 应该是 has_many 订单,每个 Order 应该 belongs_to状态。按照您现在的设置方式,每个订单都会有一个单独的 Status 对象。这可能是您想要的,但请确保您理解这意味着每个状态都不同(可能每个状态都是描述顺序的一两句话)。

关于ruby-on-rails - 我的客体关系有什么问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2140349/

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