如何在局部显示'...'

时间:2012-11-22 10:02:25

标签: ruby-on-rails ruby-on-rails-3

我认为我有以下内容:

= form @user do |f|
  = f.label :name
  = f.text_field :name
  = f.fields_for :addresses do |f|
  = render "addresses", f: f 

在我的部分'_adresses.html.haml'

????????????
  =f.label :city
  =f.text_field :city 

如何在“????????”中放置“NOT CHOSEN”?当我的行动是新的时,以及我的行动编辑时的城市名称?

如果我写:

= :city

它显示城市一词,而不是城市名称。

1 个答案:

答案 0 :(得分:1)

您可以检查@user是否是新记录(未保存在表中),您可以使用@ user.persisted ?,如果@user已经在表User中,则返回true。

你可以这样做:

if f.object.persisted? 
<h1> CITY NAME </h1> 
else 
<h1> NOT CHOOSEN <h1> 
end 

在地址部分。如果您在地址部分,要获取名称,请输入:city,f.object.city.name