我在客戶端模式下DEF:在另一個模型的顯示頁面上顯示一個模型的屬性?
def cli_full_name
[f_name, mi, l_name].join(' ')
end
我想cli_full_name在合同顯示頁顯示。這裏是我的應用程序/視圖/合同/ show.html.haml頁:
- provide(:title, @contract.authnum)
%h3
= @contract.authnum
%span1
= @client.cli_full_name
我得到一個錯誤, 「未定義的方法」 cli_full_name。
該協會是合同有*的has_many:客戶:通過=>:clientlines *
所以我增加了一個嵌套的路線到我的路線文件心想這下把事情的工作方式如下:
resources :contracts do
resources :clients
end
沒有運氣。
是否有人可以幫助我瞭解如何獲得cli_full_name顯示合同顯示頁上?
謝謝。
更新
,如果你跑過來給客戶展示頁它的工作原理,但我想它的合同顯示頁面上:)
即使我改變我的嵌套的路線通過了Jamis提出的格式巴克:
http://weblog.jamisbuck.org/2007/2/5/nesting-resources
我仍然無法獲得cli_full_name顯示在合同顯示頁面上。 也許我不明白嵌套的屬性和嵌套的路線?
幫助?
快速注意許多客戶端:它確實有助於遵循用於命名事物的Rails約定。而不是'cli_full_name',只是'full_name'更好,因爲它總是被客戶端所限制。可以拼寫出f_name,mi和l_name(例如,first_name,initial,last_name)......以及在你的客戶端模型中創建一個full_name方法,該方法可以從您擁有的組件中創建一個全名! Rails完全遵循以下約定來使一切變得更加簡單。 – 2012-03-14 00:12:18
Thnaks @tharrison ...會做。 – thomasvermaak 2012-03-27 20:50:02