问题标签 [accepts-nested-attributes]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - 嵌套属性在 Ruby on Rails 中有一个关联
今天我试图用House
and编写一个嵌套表单Address
。
这是schema.rb
这就是我正在尝试的
我正在尝试编写一个具有地址字段的表单;但是,当我运行这段代码时,它不会返回表单。任何关于嵌套形式的提示都会很棒!
谢谢你。
当我回到代码时,我添加了<%= form.fields_for :addresses do |address| %>
. 这是好的做法吗?
ruby-on-rails - Rails 接受_nested_attributes_for 和三元关联
tl, dr:是否有可能填充三元关联accepts_nested_attributes
并因此通过此 PR的测试?
基本上我创建了四个模型A
,和B
,后者是一个连接表,用于与其他模型建立三元关联。问题是使用我似乎无法保存整个三元关联。相反,我要么创建两个具有二进制关联(AB、BC 或 AC)的连接模型,要么数据库抱怨缺少外键。检查此测试和代码:C
Abc
accepts_nested_attributes_for
我也尝试从三元表中创建它,该表适用于模型之间的一个单一关联(ABC),但对于多个(A1-B1-C1,A1-B2-C1)是不可能的。查看代码:
似乎无论如何 Rails 只能在两个模型之间创建关联,而三元模型缺少一个关联。
如您所见,我已将问题隔离为存储库的拉取请求
ruby-on-rails - 带有接受单选按钮的嵌套属性
我有下一个模型:
我需要为学生创建注册表单,根据会话属性将有接受特别优惠或拒绝单选按钮,或者没有(会话可以有 special_offer_id)。很明显,我使用嵌套的表单属性来完成这个,但是表单应该有一个 question:Do you accept special offer
和单选按钮: Yes/No
。除此之外,这个问题的答案应该是必需的。
您能给我提供完成解决方案的任何方向吗?
ruby-on-rails - 不允许的参数:has_many 中的办公室:通过 Rails 5 中的关联
我有一个 has_man 通过关联。当我转到商店表单时,我需要以相同的表单保存所有者数据。但我不断得到Unpermitted parameters: :offices
。我也尝试过使用 inverse_of 。我尝试更改模型结构,例如尝试接受所有模型的属性。
办公模式:
车主型号:
Owner_Office 型号:
办公室控制器:
办公形式:
我只是将大部分部分放置在我调用fields_for
for owner的位置。所以我被卡住了,不确定我目前缺少什么,我也一直在检查其他资源,实施不同的逻辑。
另外,我不想使用茧,因为对我来说学习如何从头开始实施很重要。
提前致谢。
ruby-on-rails - Rails 嵌套表单与 has_many :through
我有 3 个模型,产品模型通过 product_categories 模型连接到公司模型。我想创建一个表格,我可以在公司表格中添加产品及其类别。
公司模式
产品型号
产品分类
这就是我为公司创建表格的样子
这是我的控制器
这是参数
并且表格不显示:
ruby-on-rails - 如何解决处理多个模型的控制器上的 NoMethodError?
我有一个提交两个模型的表单,Participant
并且StudentDetail
.
Participant has_one Student_Detail,其属性嵌套在 Participant 中。尝试访问表单时,我收到一条NoMethodError
说明 student_details 是未定义的方法。
在我的控制器的 def new 中,我尝试更改 student_details 的名称以让 rails 接受它并将其属性构建到主要模型 Participant 中。
这是我的模型,
这是我的控制器:
这是我的服务器日志:
我试图让我的表单提交并填充两个表,模型student_detail
可以访问属性Participant
。
ruby-on-rails - 如果嵌套关联验证失败,如何允许记录保存事件
我有一个模型父母有很多孩子的案例。模型 Child 有一些验证。
在 Parent 模型表单中,我正在使用嵌套属性构建模型 Child 的多个实例。问题是,如果其中一个孩子的验证失败,则整个 Parent 模型不会保存,并且不会创建所有其他有效的孩子。
有没有办法防止这种行为并创建所有有效的关联并默默地失败无效的关联?
我试图删除 inverse_of 选项,但它没有用。
更新:
看来这是不可能的,所以我想出了这个解决方案。我添加了 skip_validation 以避免两次验证关联的记录(一个在 children_attributes= 方法中,另一个在保存时)。
ruby-on-rails - Rails 5:模型的嵌套属性没有更新
尽管常规属性可以正常工作,但我无法让 rails 更新我的嵌套属性。这是我的结构:
单位.rb:
unit_skill_list.rb:
技能列表.rb:
这是控制器的(部分):
表单中的相关行(使用 formtastic 和 cocoon):
知道我哪里出错了吗?我已尝试遵循我能找到的所有指南,但更新对嵌套属性没有任何作用。
在 Vasilisa 的帮助下进行编辑:
这是我尝试更新单元时的错误:
这是完整的 unit_skill_list.rb:
“数据库”没有输入字段。它应该在更新单元时从会话变量中设置。
ruby-on-rails - has_one 的形式,但并非总是如此
我有两个模型:Person
和User
. 一个人可以有一个用户或根本没有用户,但每个用户都必须属于一个人。
我已经像这样设置了两个模型:
人(具有 has_user 属性):
用户(具有 person_id 属性):
在 Person 表单中,我有一个嵌套的 form_for ,只有当我选中一个复选框,该复选框还在 Person 的表单部分上将 has_user 属性设置为 true 时,它才会显示。
我的问题是,每当我提交一个没有用户的人时,它仍然会尝试验证用户。我怎样才能让它工作?
更新:
在我看来:
在我的 Person.js 中:
在我的个人控制器中:
人物参数: