私は MongoDB と MongoID の初心者です。足場を2つ作りました
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 %>
しかし、私の質問は次のとおりです。それらの1つだけを表示するにはどうすればよいですか? ville、または code_postal または address1... など?