휴무 - 많은 프로젝트가이 랩에 쌓여 있으며 아무런 도움이되지 않는 곳에서 검색을 수행했습니다. 따라서 다른 누군가가 유사한 스택을 사용하고 있는지 확인하고 해결책을 찾을 수 있습니다.Mongoid embeds_many/embedded_in ActiveAdmin의 Formtastic과의 관계 ...?
Mongoid-enabled fork of ActiveAdmin을 사용하여 Rails 3 앱용 관리 인터페이스를 구축하고 있습니다.
(Formtastic을 사용하여 양식을 작성하는) ActiveAdmin이 지금까지 재생되고있는 것으로 보입니다. 하지만 Mongoid의 embeds_many
과 embedded_in
릴레이션과 함께이 스택을 사용하려고 할 때 걸렸습니다. 나는 훌륭한 시민이되고 Mongo와 함께 적절한 데이터 모델링 기술을 사용하려고 노력하고 있지만 Formtastic은 함께 놀고 싶어하지 않습니다.
난해한 내용 일지 모르지만 구체적인 오류는 공유 할 것입니다.
좋은 해결책을 찾을 수 없다면 MongoDB의 주된 이점을 포기할 것임에도 불구하고 그것을 빨아 들여 has_many
과 belongs_to
을 사용하십시오. 조인 부족/여러 쿼리가 문제가 될 정도로 크지 만, 처음부터 올바르게 할 것이라고 생각했습니다!). 그것은 f.input :location
라인과 던지기에 질식
class Location
include Mongoid::Document
embeds_many :events
field :venue_name, type: String
end
class Event
include Mongoid::Document
embedded_in :location
field :event_name, type: String
end
ActiveAdmin.register Event do
form do |f|
f.inputs do
f.input :event_name
f.input :location, :as => :select
end
f.buttons
end
:
ActionView::Template::Error (undefined method `event_id' for #<Event:0x007fa4224a20e0>):
1: insert_tag renderer_for(:new)
내가 :as => :check_boxes
에 :as => :select
을 변경하고 실제로 정확한 위치를 표시하는 데있어 (하지만 확인란하는 선택 또는 라디오하지). 그러나 양식을 제출하기에, 내가 다음에 인사 해요 : 원시 제출보고에서
Mongoid::Errors::NoParent (
Problem:
Cannot persist embedded document Event without a parent document.
)
, 대신 부모 문서 (위치)의 id의 "EVENT_ID"나의 선택을 보내려고합니다.
어쨌든 - 내 직감은 사각형의 못을 여기 둥근 구멍에 끼워 넣으려는 것이지만, 다른 누군가가 어떤 생각을 갖고 있다면, 그들은 대단히 감사 할 것입니다.