2015-09-15 74 views
0

我有一個名爲「編輯現有客戶端」的控制器,它執行名稱所暗示的操作。它會加載一個這個名字的客戶端,並且如果存在的話將所有相關信息提取出來。在我看來,我有Rails 4如何加載has_many關聯進行更新

@client = Client.find_by(:id => 1) 

它加載正確的所有信息的任何has_one關聯到客戶端。然而,對於像客戶擁有的地址這樣的東西,它在視圖中根本不顯示。我將如何解決這個問題?

output

地址東西應該出現在家屬的數量,但事實並非如此。

這是view

而且here爲地址

Here表中的客戶端控制器

Here是模型

UPDATE謝謝bntzio。我其實很愚蠢。它現在正在拉取地址類型,但是表單允許您添加以前的地址和郵寄地址。這是由表中的一系列布爾處理的。現在它只是拉出所有三個地址,並將它們放在「現在地址」下。我將如何添加邏輯來爲該部分提供正確的地址?

樣本輸出here

+1

您是否實現了顯示「地址」的邏輯?將您的視圖代碼粘貼到問題中。 –

+1

請在您的問題中添加視圖邏輯,我假設模型關係正確設置。 – harshs08

+0

是的,這是我需要幫助的部分。我對這一切都是全新的。我不知道我會在那裏寫什麼。我會創建一個新的變量,然後find_by地址的類型然後加載它嗎? – user3650416

回答

0

有兩件事情需要考慮,第一個:

  • 你應該在你的數據庫中的地址列。檢查你的數據庫遷移。

它應該是這樣的:

t.string :address 

如果你沒有在你的數據庫該表,那麼你就不能訪問變量保存地址,所以你需要用它添加遷移。

rails g migration AddAddressToUsers address:string

rails g migration AddAddressToClients address:string(取決於你如何擁有它)。

然後進行遷移遷移變化:

rake db:migrate 

刷新您的服務器,並在視圖中添加適當的代碼,它應該正確顯示。

的第二件事是:

  • 檢查您的控制器,如果它包含強大的參數,如果是,則添加:地址變量(反正你需要有一個變量在你的數據庫,如前面提到的)。