J'ai des problèmes avec un projet de rails utilisant la mongoïde.Problème avec collection_select/mongoid/mongodb
Le problème est lors de la création/modification d'un nouveau message.
Je voudrais sélectionner un sujet/catégorie pour poste (divertissement/nouvelles/ divers).
Au début, j'essayé la méthode Railscast 238 (vers la fin) en utilisant une valeur de clé
http://railscasts.com/episodes/238-mongoid
Mais je continué à obtenir une erreur ObjectID BSON. Lors de la recherche d'une solution j'ai trouvé des sujets en discuter, mais le correctif mentionné est déjà dans la version de mongoid que j'utilise.
Alors j'ai changé les choses. Je n'ai aucune idée si c'est une bonne pratique ou pas, mais j'ai manqué d'idées. Au lieu de la méthode railscast, j'ai utilisé le code ci-dessous. Cependant, je reçois cette erreur ...
"méthode non définie des métadonnées » pour "4d4165b3fcf1ee14e0000049": String"
post model
class Post
include Mongoid::Document
field :link
field :title
field :synopsis
field :added_on, :type => Date
validates_presence_of :link
embeds_many :replies
embeds_one :topic
end
topic model
class Topic
include Mongoid::Document
field :category, :type => String
embedded_in :post, :inverse_of => :topics
end
_form.html.erb
<div class="field">
<%= f.label :topic_id %>
<%= f.collection_select :topic, Topic.all, :id, :category, :prompt
=> "Select a Topic" %>
</div>
J'ai récemment essayé passant de embedded_in/embarque_one à references_one/referenced_in. On me dit aussi que "Topic.all" est faux, mais je ne sais pas quoi changer pour le faire fonctionner.
informations Gemfile ...
gem "mongoid", "2.0.0.rc.6"
gem "bson_ext", "~> 1.2"
Tout bâton dehors?
Edit:
Mise à jour à 2.0.0.rc.7 ne peut toujours pas obtenir.
J'ai essayé la méthode clé dans la vidéo railscast juste pour le plaisir. Same Erreur "BSON :: InvalidObjectId dans PostsController # update".
@ user650437 J'ai essayé de le faire avant et cela n'a pas fonctionné. Finalement, j'ai dû abandonner l'utilisation de l'embedded et passer à référencé. Je ne sais pas si c'est bon ou mauvais, mais c'est la seule façon de le faire fonctionner. – moctopus