У меня возникли проблемы с проектом рельсов с использованием Mongoid.
Проблема при создании / редактировании нового сообщения.
Я хотел бы выбрать тему / категорию для сообщения (развлечения / новости /
разное).
Сначала я попробовал метод в Railscast 238 (ближе к концу), используя
значение ключа
http://railscasts.com/episodes/238-mongoid
Но я продолжал получать ошибку BSID ObjectID. Во время поиска
Решение я нашел темы для обсуждения, но упомянутое исправление
уже в версии mongoid, которую я использую.
Так что я все изменил. Я понятия не имею, если это хорошая практика или
нет, но у меня кончились идеи. Вместо метода Railscast я использовал
код ниже. Однако я получаю эту ошибку ...
"неопределенный метод` метаданные 'для
"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>
Недавно я пытался перейти с Embedded_in / Embeds_one на Reference_one / referenced_in. Мне также говорят, что "Topic.all" не так, но я не знаю, что изменить, чтобы заставить его работать.
Информация о Gemfile ...
gem "mongoid", "2.0.0.rc.6"
gem "bson_ext", "~> 1.2"
Что-нибудь торчит?
Edit:
Обновление до 2.0.0.rc.7 до сих пор не получается.
Попробовал ключевой метод в видео Railscast просто для удовольствия. Так же
Ошибка «BSON :: InvalidObjectId в PostsController # update».