我在客户端模式下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