2017-07-07 11 views
0

私は、サブドメインを作成する機能をユーザに提供するために、私のレールアプリのアパートメントの宝石を設定する作業を進めています。私は、ネストされた形を持っており、 "新しいアカウントを/" にアクセスしようとしたとき、私は次のエラーを取得しています: accounts_controller.rbビューフォームでSymbolを整数に暗黙的に変換しない

no implicit conversion of Symbol into Integer in view forms 

アカウント/ new.html.erb

<div> 
    </div> 
    <h2>Create an Account</h2> 

<%= form_for @account do |f| %> 
    <%= f.fields_for :owner do |o| %> 
     <%= form_for o, :email do %> 
     <%= o.text_field :email, class: 'form-control' %> 
     <% end %> 
    <%= form_for o, :password do %> 
     <%= o.password_field :password, class: 'form-control' %> 
     <% end %> 
    <%= form_for o, :password_confirmation do %> 
     <%= o.password_field :password_confirmation, class: 'form-control' %> 
    <% end %> 
    <% end %> 

    <%= form_for f, :subdomain do %> 
     <div class="input-group"> 
     <%= f.text_field :subdomain, class: 'form-control' %> 
     <span class="input-group-addon">.scrumteam.com</span> 
     </div> 
     <% end %> 
    <%= f.submit class: 'btn btn-primary' %> 
    <% end %> 
    </div> 
</div> 

これはあなたのルートの問題ですが、form_forは、実際の01を作成した場合

private 
     def account_params 
     params.require(:account).permit(:subdomain, :owner_attributes => [:email, :password, :password_confirmation]) 
     end 

答えて

0

わかりませんhtmlのタグあなたは1つだけ必要です(そして持っている必要があります)。fields_forはフォームヘルパーを別のオブジェクトに切り替えることができますが、form_forを再度呼び出す必要はありません。フォームフィールドをグループ化するだけの場合は、divやラベルを追加することができます。あなたは、HTMLではサポートされていませんお互いに複数のフォームをネストしている

1

:、

ここ
<%= form_for o, :field_name do %> 

Can you nest html forms?

これらform_for行は特に無効見て:
は、より多くの詳細については、この質問を参照してください。 oFormBuilderのオブジェクトで、form_forにフィードしないでください。代わりにこれを試してみてください:form_forとは異なり

<%= f.fields_for :owner do |o| %> 
    <%= o.fields_for :email do %> 

を、それは巣fields_forブロックに可能です。

関連する問題