嵌套表单Rails字段不会更新

克里斯多夫

我正在尝试做像这里提到的嵌套形式。http://guides.rubyonrails.org/form_helpers.html#nested-forms

目标如下:我有多个colli,其中一个复选框可以选中。colli列表可以删除或修改,但支票及其信息需要保留。

模型

class Colli < ActiveRecord::Base
  has_one :check, foreign_key: "subcontainerid", primary_key: "colliid"
  accepts_nested_attributes_for :check, allow_destroy: true
end

class Check < ActiveRecord::Base
  belongs_to :colli
end

因此,每个大牧羊犬都有一张支票。colli表中的colliid使用子容器ID创建了与check表的链接。

控制器

在colli控制器中,我将check_attributes列入了白名单。

def colli_params
  params.require(:colli).permit(:colliid, :collinaam, check_attributes: [:id, :checked])
end

形式

我的表格看起来像这样。

<%= form_for(@colli) do |f| %>
  <% if @colli.errors.any? %>
    <div id="error_explanation">
      <h2><%= pluralize(@colli.errors.count, "error") %> prohibited this colli from being saved:</h2>

      <ul>
      <% @colli.errors.full_messages.each do |message| %>
        <li><%= message %></li>
      <% end %>
      </ul>
    </div>
  <% end %>

  <%= f.fields_for :checks do |checks_f| %>
  <p>check start</p>
  <div class="field">
    <%= checks_f.label :checked %><br>
    <%= checks_f.check_box :checked %>
  </div>
  <% end %>

  <div class="field">
    <%= f.label :colliid %><br>
    <%= f.text_field :colliid %>
  </div>

  <div class="field">
    <%= f.label :collinaam %><br>
    <%= f.text_field :collinaam %>
  </div>

  <div class="actions">
    <%= f.submit %>
  </div>

<% end %>

如果我执行form_for:check,则看不到复选框。当我执行form_for:checks时,我看到一个复选框,但它不起作用。单击提交时,我看到以下错误:

undefined method `checked' for nil:NilClass

<p>
  <strong>Checked:</strong>
  <%= @colli.check.checked %>
</p><p>
  <strong>Collinaam:</strong>
  <%= @colli.collinaam %>

这意味着它没有被保存。有人知道如何解决此问题吗?

dp7

尝试将其添加到您的表单中-

<%= f.fields_for :checks, @colli.check.build do |checks_f| %>
 <p>check start</p>
 <div class="field">
  <%= checks_f.label :checked %><br>
  <%= checks_f.check_box :checked %>
 </div>
<% end %>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

嵌套属性不会更新rails

来自分类Dev

Rails嵌套表单不更新嵌套模型

来自分类Dev

Rails嵌套表单错误创建重复的字段

来自分类Dev

Rails 4.1嵌套模型表单字段

来自分类Dev

为什么不更新Rails中嵌套表单字段的动作?

来自分类Dev

Ruby on Rails;表单ID标签不会更新

来自分类Dev

Rails-嵌套表单不会显示在编辑模板中

来自分类Dev

简单表单按钮集合不会保存该字段-Ruby on Rails

来自分类Dev

VBA代码不会从表单输入中更新表字段

来自分类Dev

Rails表单两次提交嵌套字段

来自分类Dev

表单(Haml)中嵌套数组隐藏输入字段的Rails

来自分类Dev

Rails嵌套表单选择字段默认值

来自分类Dev

Rails 4.2不会更新日期时间字段

来自分类Dev

在Rails中使用postgres json字段更新嵌套键

来自分类Dev

Rails 4:嵌套表单

来自分类Dev

Rails多个嵌套表单

来自分类Dev

Rails 4:嵌套表单

来自分类Dev

Rails:嵌套表单问题

来自分类Dev

Rails:如何在带有嵌套字段的表单中自定义字段的顺序

来自分类Dev

当表单中存在文件字段时,Rails不会发出Ajax请求

来自分类Dev

Rails 4嵌套表单字段未保存在数据库中

来自分类Dev

Rails嵌套具有预定义字段作为复选框的表单

来自分类Dev

如何通过Rails中的JS动态添加新的嵌套字段以形成表单?

来自分类Dev

Rails4 anwer字段中的嵌套表单未构建为4.times

来自分类Dev

Rails 3.2有条件地设置嵌套表单字段值

来自分类Dev

在 Ruby on Rails 中自动填充嵌套表单字段的第一个实例

来自分类Dev

Rails从表单更新ActiveRecord

来自分类Dev

MyListView不会更新Xamarin表单

来自分类Dev

Rails 4.0中的嵌套表单