2

第 3 レベルの複数レベルのネストされたフォームに問題があります。私のフォームに関係する 3 つのモデルがあります。

class School < ActiveRecord::Base
  has_many :years
  validates_presence_of :name
  accepts_nested_attributes_for :years
end

class Year < ActiveRecord::Base
  belongs_to :school
  has_many :year_contacts
  validates_presence_of :year_name
  accepts_nested_attributes_for :year_contacts
end

class YearContact < ActiveRecord::Base
  belongs_to :year
  validates_presence_of :contact_name
end

これは私のフォームです:

<%= form_for @school, :validate => true do |f| %>
  <h4>School</h4>
  <%= f.label 'Name', :class => 'control-label' %>
  <%= f.text_field :name, :class => 'span12', :placeholder => "School name"  %>
  <h4>Year of Graduating</h4>
  <%= f.fields_for :years do |fo| %>
    <%= fo.label 'Year' %>
    <%= fo.text_field :year_name  %>
    <h4>Contact</h4>
    <%= fo.fields_for :year_contacts do |foo| %>
      <%= foo.label %>
      <%= foo.text_field :contact_name %>
    <% end %>
  <% end %>
  <%= f.submit %>
<% end %>

クライアント側の検証は、学校属性とネストされた年属性に対して魅力的に機能します。しかし、3 番目のレベルのネスティングに関しては、うまくいきませんでした。year_contacts 属性に対するクライアント側の検証はありません。

それがバグなのか、client_side_validations の既知の制限なのか、それとも私の側のエラーなのかはわかりません。私が見つけたすべての既知の問題は、別のモデルの下にネストされた 2 つのモデルのみであり、私のような真のマルチレベル構造はありませんでした。

github でチケットを開きました: https://github.com/bcardarella/client_side_validations/issues/568

Rails 3.2.1 と client_side_validations 3.2.5 を使用しています

フォームはうまく機能します。すべてのデータは期待どおりに保存されます。

4

0 に答える 0