我是 MongoDB 和 MongoID 的真正初学者。我创建了两个脚手架
class Objet
include Mongoid::Document
field :nom, type: String
embeds_one :coordonnee
end
和
class Coordonnee
include Mongoid::Document
field :adresse1, type: String
field :adresse2, type: String
field :code_postal, type: String
field :ville, type: String
embedded_in :objet
end
这就是我在创建新时得到的Objet
:
现在,我试图只显示adresse1
该文档的字段,但它不起作用。我只能显示整个嵌入文档:
当我做 :
<%= @objet.coordonnees.adresse1 %>
我收到此错误:
undefined method `adresse1' for #<Hash:0x2b2b1f0>
我怎样才能做到这一点 ?
编辑
这样做,我可以显示所有元素 "Adresse1, adresse2, ville, code_postal" :
Controller
def show
@objet = Objet.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.json { render json: @objet }
end
end
View
<%= @objet.nom %>
<% @objet.coordonnee.each do |t| %>
<%= t[1] %>
<% end %>
但我的问题是:如何只显示其中一个?比如 ville,或者 code_postal 或者 adresse1...?