2011-07-20 124 views
1

進出口創造一個多對多關聯Rails項目,並即時得到下面的錯誤,當我運行new.html.erb:Ruby on Rails的關聯錯誤

Table 'purchase_form_rails.account_numbers_pi_names' doesn't exist 

undefined local variable or method `account_numbers' for #<#<Class:0x2a979ef4>:0x2a978770> 

Extracted source (around line #34): 

(應該看在數據庫purchase_form_rails,並表account_numbers(表連接pi_names和account_numbers之間的是pi_names_account_numbers)

繼承人我new.html.erb:

<div class="field"> 

     <% for account_number in @account_numbers %> 
      <input type="checkbox" 
       id="<%=account_number.id%>" 
       name="account_numbers_ids[]" 
       value="<%=account_number.id %>" 
       <%if @pi_name.account_numbers.include? tag%>checked="checked"<%end%> 
     > <%=account_numbers.account_number%> 
     <% end %> 

    </div> 

讓我知道如果您將n eed更多信息!

回答

1

如果要定義的has_many:徹底然後軌預計連接表的名稱應該按照字母順序排序像account_numbers_pi_names(這應該是連接表名稱不是pi_names_account_numbers)。

+0

哦,有趣的永遠不會知道。好的,以便工作。但是現在我得到了一個新的錯誤'錯誤的參數數量(0代表1)提取的源代碼(圍繞第33行):' –

+0

你能告訴我你想要達到什麼目的嗎?你看過fields_for方法 – naren

+0

我是Rails的全新產品。你有沒有一些很好的指南/教程可以解釋如何從數據庫中獲取某些信息到視圖/多對多的關聯中? –

1

爲多對多關聯,Rails約定預計加入/鏈接表格以字母順序,你說

表連接pi_names和account_numbers之間的是pi_names_account_numbers

但錯誤說

account_numbers_pi_names'不存在

變化從「pi_names_account_numbers」到「account_numbers_pi_names」表名應該可以解決這個問題