Я использую neo4j в своем текущем приложении и впервые использую эту базу данных, поэтому у меня много сомнений. Самое главное сейчас следующее.
Я настраиваю свои формы ввода (как вы можете видеть в этом вопрос я задал) и вот одна из моих моделей:
class Contact
include Neo4j::ActiveNode
property :first_name, type: String
property :surname, type: String
property :email, type: String
property :phones, type: String
has_one :in, :address, type: :HAS_ADDRESS
has_one :in, :title, type: :HAS_TITLE
has_one :in, :gender, type: :HAS_GENDER
end
Насколько я понимаю, эти отношения создают свои собственные свойства в моей модели, потому что, когда я генерирую свой скаффолд, свойства :address, :title и :gender находятся в форме, даже если они явно не созданы в моей модели.
Бывает, что некоторые из этих свойств не должны проявляться. Это случай :address, который я буду отображать в партиале в соответствующих ситуациях.
Другие свойства, определенные отношениями neo4j по умолчанию, :gender и :title, должны отображаться по мере выбора HTML.
Вот мой вопрос: Как я могу различать при программном создании моей формы свойства, которые я описал, и те, которые генерируются отношениями на уровне генератора форм?
Другими словами, что я должен поместить в свой **lib/templates/erb/scaffold/_form.html.erb, чтобы гарантировать, что некоторые из этих свойств не отображаются, а другие отображаются как теги выбора HTML. ?**
Я думал о создании каких-то методов типа is_displayable? а is_select? в свойстве, но я действительно не знаю, где я могу это сделать, потому что эти свойства нигде явно не объявлены.
Любые предложения по этому поводу?