我有 Customer 模型和 Device 模型,以及 Customer 模型has_many :devices
和 Device 模型belongs_to :customer
。我正在尝试显示在客户主页上添加设备的表单(如果customer.devices.empty?
是)true
,或者只是显示客户的设备和随附的详细信息(如果customer.devices.empty
是)false
。
我的问题是customer.devices.empty?
总是返回错误。通过一些测试,我发现它customer.devices.count
总是会显示正确数量的设备,但是我只能customer.devices.empty?
在使用 Rails 控制台时获得所需的行为。
我可以简单地检查 的值customer.devices.count
,但我真的很想按照(我认为)它们的意图使用empty?
或检查。any?
问题本身已被描述,但如果您想查看代码...
<% if customer.devices.count == 0 %>
Count is 0 <!-- This is displayed on the page -->
<% end %>
<% if customer.devices.empty? %>
Customer has no devices! <!-- This is NOT displayed on the page -->
<% end %>
<% if customer.devices.any? %>
Customer has <%= pluralize(customer.devices.count, "device") %>.
<!-- The line above prints "Customer has 0 devices." -->
<% end %>
差点忘了我的礼貌——提前感谢所有答案。
-毫米