У меня есть 2 модели
Form.rb
has_many :elements
Элемент
belongs_to :form
Я хочуТакие элементы запроса:
Element.joins(:form).where(hash)
hash = {
form: {
name: "some name",
surname: "some surname"
},
element_name: "some name"
}
эти атрибуты относятся как к моделям форм, так и к элементам, и это прекрасно работает.Теперь мне нужно охватить формы еще одним атрибутом ( date ), который хранится в мета-атрибуте (поле json), поэтому объект Form выглядит следующим образом:
Form
- name
- surname
- meta: {date: "2018-10-10"}
Я создал область, которая можетработать так:
scope :by_date, ->(date) { where('JSON_EXTRACT(meta, "$.date") = ?', date) }
Form.by_date("2018-10-10")
, и это прекрасно работает, но как я могу использовать эту область в приведенном выше сценарии, так как я не могу сделать:
hash = {
form: {
name: "some name",
surname: "some surname",
date: "2018-10-10"
},
element_name: "some name"
}