不想在表单中显示 neo4j 关系
Don't want to display neo4j relations in a form
我现在的应用程序中使用的是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 selects.
这是我的问题:在以编程方式创建表单时,我如何区分我描述的属性和表单生成器级别的关系生成的属性?
换句话说,我应该在我的 **lib/templates/erb/scaffold/_form.html.erb 中放入什么来保证这些属性中的一些不被展示,而其他的显示为 HTML select 标签?**
我想创建某种方法,例如 is_displayable? is_select?在 属性 中,但我真的不知道我可以在哪里这样做,因为这些属性没有在任何地方明确声明。
对此有什么建议吗?
我不会说协会会创建属性。关联(has_one
和 has_many
)和属性在您的 Ruby 模型 class 及其对象上创建方法。
除此之外,您可以通过多种方式执行此操作,none 其中确实特定于 neo4j
gem(也不会特定于 ActiveRecord
如果你这样做的话)。
你可以在你的视图中有一个你迭代的数组。您可以在模型中有一个常量,它定义哪些是可编辑的,然后定义一个类似于您建议的 is_editable?
。
但在 Rails 中的模型-视图-控制器设置中可能不推荐这些。控制器通常负责执行 strong parameters,因此您可能希望其中有一个常量,它既可以用作传递给视图的变量,也可以在提交时使用它来验证值(因为仅仅因为您的视图不显示这些字段,并不意味着恶意方无法创建自己的表单或使用 Chrome)
的 Postman 插件之类的东西提交
我现在的应用程序中使用的是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 selects.
这是我的问题:在以编程方式创建表单时,我如何区分我描述的属性和表单生成器级别的关系生成的属性?
换句话说,我应该在我的 **lib/templates/erb/scaffold/_form.html.erb 中放入什么来保证这些属性中的一些不被展示,而其他的显示为 HTML select 标签?**
我想创建某种方法,例如 is_displayable? is_select?在 属性 中,但我真的不知道我可以在哪里这样做,因为这些属性没有在任何地方明确声明。
对此有什么建议吗?
我不会说协会会创建属性。关联(has_one
和 has_many
)和属性在您的 Ruby 模型 class 及其对象上创建方法。
除此之外,您可以通过多种方式执行此操作,none 其中确实特定于 neo4j
gem(也不会特定于 ActiveRecord
如果你这样做的话)。
你可以在你的视图中有一个你迭代的数组。您可以在模型中有一个常量,它定义哪些是可编辑的,然后定义一个类似于您建议的 is_editable?
。
但在 Rails 中的模型-视图-控制器设置中可能不推荐这些。控制器通常负责执行 strong parameters,因此您可能希望其中有一个常量,它既可以用作传递给视图的变量,也可以在提交时使用它来验证值(因为仅仅因为您的视图不显示这些字段,并不意味着恶意方无法创建自己的表单或使用 Chrome)
的 Postman 插件之类的东西提交