2016-04-03 27 views
0

イムサブセットフォームが入れ子になっているように、私は、ネストされたフィールドのための繭の宝石を使用していますRailsの4Railsの4 - シンプルなフォルム、コクーン宝石ネストされたフィールド - エラーメッセージ

でアプリを作るしようとしています。

私もブートストラップを使用しています。

エラーが発生した場合、私のページはレンダリングされます:「以下の問題を確認してください:」というメッセージが表示されますが、何も強調表示されず、エラーの場所を見つけることができません。

親ページのエラーを表示するためにネストされたフィールドを設定するにはどうしたらよいですか?またはネストされた部分的なフォームでも問題はありません。

私は、プロファイル(プライマリ)オブジェクトを編集しようとすると、私は更新が送信したように見えることを、コンソールで見ることができます、しかし、フォームのレンダリング、私の主な形でパーシャルの数を使用し

再度、上記のエラーメッセージ(ただし、エラーが何であるかのいずれかの識別せず)繭GEMについて

Started PATCH "/profiles/9" for ::1 at 2016-04-03 13:54:26 +1000 
    ActiveRecord::SchemaMigration Load (0.9ms) SELECT "schema_migrations".* FROM "schema_migrations" 
Processing by ProfilesController#update as HTML 
    Parameters: {"utf8"=>"✓", "authenticity_token"=>"39DIH7j7LeX7bnUnLirqKHpVPZ7vxmeKN+Q==", "profile"=>{"title"=>"", "occupation"=>"", "working_languages"=>"", "external_profile"=>"", "overview"=>"", "byline"=>"", "industry_ids"=>[""], "personality_attributes"=>{"average_day"=>"", "fantasy_project"=>"", "preferred_style"=>""}, "addresses_attributes"=>{"0"=>{"unit"=>"", "street_number"=>"1", "street"=>"Martin Street", "building"=>"", "city"=>"London", "region"=>"UK", "zip"=>"EC1A2PG", "country"=>"UK", "time_zone"=>"Eastern Time (US & Canada)", "main_address"=>"1", "project_offsite"=>"0", "_destroy"=>"false", "id"=>"1"}}}, "commit"=>"Submit", "id"=>"9"} 
    User Load (1.3ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 ORDER BY "users"."id" ASC LIMIT 1 [["id", 9]] 
    Profile Load (0.5ms) SELECT "profiles".* FROM "profiles" WHERE "profiles"."id" = $1 LIMIT 1 [["id", 9]] 
    User Load (0.5ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 LIMIT 1 [["id", 9]] 
    (0.3ms) BEGIN 
    Industry Load (0.8ms) SELECT "industries".* FROM "industries" INNER JOIN "industries_profiles" ON "industries"."id" = "industries_profiles"."industry_id" WHERE "industries_profiles"."profile_id" = $1 [["profile_id", 9]] 
    Personality Load (0.5ms) SELECT "personalities".* FROM "personalities" WHERE "personalities"."profile_id" = $1 LIMIT 1 [["profile_id", 9]] 
    SQL (0.6ms) UPDATE "personalities" SET "profile_id" = $1, "updated_at" = $2 WHERE "personalities"."id" = $3 [["profile_id", nil], ["updated_at", "2016-04-03 03:54:26.755593"], ["id", 10]] 
    Address Load (0.8ms) SELECT "addresses".* FROM "addresses" WHERE "addresses"."addressable_id" = $1 AND "addresses"."addressable_type" = $2 AND "addresses"."id" = 1 [["addressable_id", 9], ["addressable_type", "Profile"]] 
    Profile Load (0.5ms) SELECT "profiles".* FROM "profiles" WHERE "profiles"."id" = $1 LIMIT 1 [["id", 9]] 
    User Load (0.7ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 LIMIT 1 [["id", 9]] 
    (0.3ms) ROLLBACK 
    Rendered users/_profileimgform.html.erb (6.2ms) 
    Industry Load (0.6ms) SELECT "industries".* FROM "industries" 
    Qualification Load (0.5ms) SELECT "qualifications".* FROM "qualifications" WHERE "qualifications"."profile_id" = $1 [["profile_id", 9]] 
    Rendered qualifications/_qualification_fields.html.erb (34.5ms) 
    Job Load (0.4ms) SELECT "jobs".* FROM "jobs" WHERE "jobs"."profile_id" = $1 [["profile_id", 9]] 
    Rendered jobs/_job_fields.html.erb (33.1ms) 
    Rendered personalities/_form.html.erb (6.6ms) 
    Vision Load (0.4ms) SELECT "visions".* FROM "visions" WHERE "visions"."profile_id" = $1 LIMIT 1 [["profile_id", 9]] 
    Rendered visions/_form.html.erb (8.5ms) 
    Address Load (0.3ms) SELECT "addresses".* FROM "addresses" WHERE "addresses"."addressable_id" = $1 AND "addresses"."addressable_type" = $2 [["addressable_id", 9], ["addressable_type", "Profile"]] 
    Rendered addresses/_address_fields.html.erb (262.2ms) 
    Rendered addresses/_address_fields.html.erb (53.3ms) 
    Rendered profiles/_form.html.erb (551.8ms) 
    Rendered profiles/edit.html.erb within layouts/profile (561.3ms) 
    Profile Load (0.4ms) SELECT "profiles".* FROM "profiles" WHERE "profiles"."user_id" = $1 LIMIT 1 [["user_id", 9]] 
    Rendered pages/_nav.html.erb (7.8ms) 
    Rendered pages/_footer.html.erb (1.5ms) 
Completed 200 OK in 1908ms (Views: 1646.7ms | ActiveRecord: 29.7ms) 

、次のようにアドレス形式の外観を有する:

<div class="nested-fields"> 

    <div class="container-fluid"> 

       <div class="form-inputs"> 
        <div class="row"> 
         <div class="col-xs-3"> 
          <%= f.input :unit %> 
         </div> 
         <div class="col-xs-3 col-xs-offset-1"> 
          <%= f.input :street_number %> 
         </div> 
         <div class="col-xs-3 col-xs-offset-1"> 
          <%= f.input :street %> 
         </div> 
      </div> 

      <div class="row"> 
         <div class="col-xs-3"> 
          <%= f.input :building %> 
         </div> 
         <div class="col-xs-3 col-xs-offset-1"> 
          <%= f.input :city %> 
         </div> 
         <div class="col-xs-3 col-xs-offset-1"> 
          <%= f.input :region %> 
         </div> 
      </div> 

        <div class="row"> 
        <div class="col-xs-3"> 
         <%= f.input :zip %> 
        </div> 
        <div class="col-xs-3 col-xs-offset-1"> 

       <!--f.country_select(:country, {selected: @profile.country_name}, {class: "form-control"}) --> 
       <%= f.country_select :country, priority: [ "Australia", "New Zealand", "United Kingdom" ] %> 

        </div> 
      <div class="col-xs-3 col-xs-offset-1"> 
       <%= f.input :time_zone %> 
      </div> 


      </div> 

      <div class="row"> 
        <div class="col-xs-3"> 
         <%= f.input :main_address %> 
        </div> 
        <div class="col-xs-3 col-xs-offset-1"> 
         <%= f.input :project_offsite %> 
        </div> 
      </div> 

      <div class="row"> 
      <div class="col-md-6"> 
      </div> 

      </div> 
      </div> 

     <div class="row"> 
      <div class="col-md-6"> 
      <%= link_to_remove_association 'Remove this address', f %> 
      </div> 

     </div> 
    </div>  
</div> 

<div class = "debug" > <%= yield %> <%= debug(params) if Rails.env.development? %></div> 

は、その後、私のプロファイルフォームに私が追加:

 <%= link_to_add_association 'Add an address', f, :addresses, partial: 'addresses/address_fields' %> 

私はエラーがそれが処理からの更新を停止しているかもしれないもののいずれかの指標を見つけることができないので、それはイライラ。

+0

通常、シンプルフォームはエラーのあるフィールドを表示/強調表示します。カスタム検証を使用していますか? – nathanvda

+0

番号。私はそうではありません。なぜ「下のエラーを見てください」という見出しが表示されているのですが、エラーの内容はわかりません。 – Mel

+0

ビュー内のすべての検証エラーを明示的に表示できますが、属性。既存のすべての子を表示するために、ビューにsimple_fields_forステートメントがありますか?もう少しコードを見せていただければ役に立ちます:)(モデルとビュー) – nathanvda

答えて

0

どのようにネストされたフォームをどのように使用しているのかわかりにくいですが、これを仮定しましょう。

アソシエーション内のデフォルトのバリデータを使用すると、カスタムバリデータを使用している場合は常にエラーのある要素を強調表示する必要があります。エラーが正しいアソシエーションに追加されていることを確認してください。

1

ネストされたフォームは、関連付けられているものがわからないようです。入力フィールドにボタンをネストする必要があります。

<div class="row-fluid"> 
    <div class="col-md-12"> 
    <h3>Your Title</h3> 
    <div id="Your-form"> 
     <%= f.simple_fields_for :your_tables do |table| %> 
     <%= render 'table_fields', f: table %> 
     <% end %> 
     <div class="links"></div> 
     <%= link_to_add_association 'Add', f, :your_tables, class: 'btn btn-secondary add-button' %> 
    </div> 
    </div> 
</div> 

そして、このような部分があります。

<div class="form-inline clearfix"> 
    <div class="row"> 
    <div class="nested-fields"> 
     <%= f.input :table, placeholder: "Enter a Value", label: false, input_html: { class: "form-input form-control", style: 'width:80%;'} %> 
     <%= link_to_remove_association "Remove", f, class: "form-control btn btn-secondary", style: 'height:20%; display:inline; float:right;' %> 
    </div> 
    </div> 
</div> 
関連する問題