0

MongoMapper를 만드는 데 어려움을 겪고 있습니다. & Formtastic이 함께 작동합니다.모델에 대해 정의되지 않은 메소드 'Scoped': Formtastic 및 MongoMapper 클래스

문제를 격리하기 위해 최소한의 코드로 더미 응용 프로그램을 만들었습니다.

두 개의 주요 모델 (캐비닛 & 장치)이 있으며 캐비닛 ressource에 대한 스캐 폴딩 컨트롤러와 "many/belongs_to"관계가 있습니다.

단순한 "키"필드 선언 이외의 다른 것으로 매우 기본적인 formtastic 양식을로드 할 때 (다음 참조) 다음 오류가있는 "NoMethodError"예외가 컨트롤러에 발생합니다. "정의되지 않은 메서드 '범위가 지정됨' 장치 : 클래스 "는 _form.html.haml 부분의 4 번 행을 참조합니다.

여기에 대한 의견이 있으십니까?

응용 프로그램/모델/cabinet.rb

class Cabinet 
    include MongoMapper::Document 
    safe 

    key :label, String, :required => true 
    many :devices 
end 

응용 프로그램/모델/device.rb

class Device 
    include MongoMapper::Document 
    safe 

    key :label, String, :required => true 
    belongs_to :cabinet 
end 

응용 프로그램/뷰 ... 구글이나 StackOverflow의를 통해 유용한 내용을 찾지 못 하셨나요 /cabinet/_form.html.haml

= semantic_form_for @cabinet do |f| 
    = f.inputs do 
    = f.input :label 
    = f.input :devices 
    = f.actions 

스캐 폴딩 된 코드를 어떤 식 으로든 건드리지 않았으므로 스캐 폴딩 된 컨트롤러를 포함하지 않았습니다. 사용

보석 버전 :

Gems included by the bundle: 
    * actionmailer (3.2.7) 
    * actionpack (3.2.7) 
    * activemodel (3.2.7) 
    * activerecord (3.2.7) 
    * activeresource (3.2.7) 
    * activesupport (3.2.7) 
    * arel (3.0.2) 
    * bson (1.6.4) 
    * bson_ext (1.6.4) 
    * builder (3.0.0) 
    * bundler (1.1.5) 
    * coffee-rails (3.2.2) 
    * coffee-script (2.2.0) 
    * coffee-script-source (1.3.3) 
    * erubis (2.7.0) 
    * execjs (1.4.0) 
    * formtastic (2.2.1) 
    * haml (3.1.6) 
    * haml-rails (0.3.4) 
    * hike (1.2.1) 
    * hpricot (0.8.6) 
    * i18n (0.6.0) 
    * journey (1.0.4) 
    * jquery-rails (2.0.2) 
    * json (1.7.4) 
    * libv8 (3.3.10.4) 
    * mail (2.4.4) 
    * mime-types (1.19) 
    * mongo (1.6.4) 
    * mongo_mapper (0.11.2) 
    * multi_json (1.3.6) 
    * plucky (0.5.1) 
    * polyglot (0.3.3) 
    * rack (1.4.1) 
    * rack-cache (1.2) 
    * rack-ssl (1.3.2) 
    * rack-test (0.6.1) 
    * rails (3.2.7) 
    * railties (3.2.7) 
    * rake (0.9.2.2) 
    * rdoc (3.12) 
    * ruby_parser (2.3.1) 
    * sass (3.1.20) 
    * sass-rails (3.2.5) 
    * sexp_processor (3.2.0) 
    * sprockets (2.1.3) 
    * therubyracer (0.10.1) 
    * thor (0.15.4) 
    * tilt (1.3.3) 
    * treetop (1.4.10) 
    * tzinfo (0.3.33) 
    * uglifier (1.2.7) 

답변

0

mongomapper은 "범위"클래스 방법이 없습니다. ActiveRecord와 Mongoid의 기능입니다.

+0

답장을 보내 주셔서 감사합니다. 나는 사실 몽고와 일하고있다. MongoMapper가 실제로 Formtastic과 잘 작동한다는 사실을 Google에서 알게 되었기 때문에 나는 여전히 tho를 혼동합니다. 지금은 아직 어딘가에서 엉망진창을 찾고 계속 검색한다고 가정합니다. –

+0

범위는 현재 레일 4에서 사용되지 않습니다. 그러나 formtastic은 여전히 ​​나를 위해 그것을 부르고있다! – light24bulbs

관련 문제