【发布时间】:2017-04-01 15:34:56
【问题描述】:
在我的Room 模型中,我有一个名为available_days 的属性,它被存储为一个数组。
例如:
Room.first.available_days
=> ["wed", "thurs", "fri"]
找到数组大小等于 3 的所有房间的最佳方法是什么?
我尝试过类似的东西
Room.where('LENGTH(available_days) = ?', 3)
没有成功。
更新:available_days 的数据类型是字符串,但为了存储数组,我正在序列化模型中的属性:
app/models/room.rb
serialize :available_days
【问题讨论】:
-
你能改变架构吗?使用
serialize几乎总是一个可怕的错误,一开始很快很容易,然后在你的脸上炸毁。
标签: sql ruby-on-rails ruby ruby-on-rails-4