Сериализованное хэш-поле и простая форма
У меня есть следующее.
class Page < ActiveRecord::Base
belongs_to :category
serialize :fields
end
Значениеfields
будет зависеть от категории. Но как пример;
{"address" => "8 finance street, hong kong",
"founded" => "1973"}
В этом примере категория определила"address"
а также"founded"
как пользовательские поля.
То, что я хочу, это сказать;
= simple_form_for(@page) do |f|
= f.association :category
- f.object.category.fields.each do |field|
= f.input field.name
Но мне нужно сделать что-то волшебное, чтобы справиться с тем, что@page.founded
не является действительным
Вместо этого я должен смотреть на@page.fields["founded"]
.
Какие-либо предложения?
Обновить:
Я немного ближе
- if f.object.category
- f.object.category.fields.each do |field|
= f.input field.name do
= text_field_tag "post[fields][#{field.name}]", f.object.fields[file.name]
Теперь нужно сделать этот СУХОЙ (не нужно указывать название объекта).
Я посмотрю, смогу ли я написать приличное простое расширение формы для этого.