2017-07-07 57 views
0

我正在爲我的rails應用程序配置公寓gem,以便爲用戶提供創建子域的功能。我有一個嵌套形式和試圖訪問時 「賬戶/新」 我收到以下錯誤:在視圖表單中沒有將符號隱式轉換爲整數

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> 

accounts_controller.rb

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

回答

0

不知道這是否是您的路線問題,但form_for會創建一個實際的form標籤在html中。你只需要(並且應該有)1,fields_for允許你將表單助手切換到不同的對象,但是你不需要再次調用form_for。如果你只是試圖分組你的表單域,你可以添加一些div和/或標籤。

1

你嵌套多種形式進入對方未在HTML支持:
詳情請參閱此問題:Can you nest html forms?

這些form_for線條看起來無效,特別是:

<%= form_for o, :field_name do %> 

這裏, o是一個特殊的FormBuilder物體,不應該送入form_for。試試這個:

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

不像form_for,它可以嵌套fields_for塊。

相關問題