2012-07-09 2 views
0

일부 ActiveRecord 파생 모델이있는 보석이 있습니다. 그들은 테스트를 거쳐 작동합니다.Rails 3에서 보석의 모델을 사용하려면 어떻게해야합니까?

은 그 보석에 대한 종속성을 추가했습니다,하지만 난 form_for 성명에서 해당 모델을 참조 페이지에 액세스하려고 할 때, 예를 들어, 나는 지칠대로 지친 method_missing 오류 얻을 :

undefined method mygem_mymodel_path'`

참고 평소처럼 내 app/models 디렉토리에 모델이 있었으며 모두 정상적으로 작동했습니다. 내 보석을이 보석으로 옮기는 것이 슬픔의 원인이었습니다.

UPDATE 1 : 로빈의 질문에 대한 응답 : 로빈의 제안 후

<%= form_for(MyModel.new, :remote => true, :html => { :class => "new_mymodel_form", :id => "new_mymodel_form"}) do |f| -%> 

이 : 폼 코드 로빈의 요청 양식 ERB 경우 :

> rails console 
> MyModel 
=> MyGem::MyModel(id:string, name:string) 

업데이트 2 그 주위에서 내가 발견 한 유일한 방법입니다 :

UPDATE 3 : Mymodel라는 모델과 모듈이라는 인 MyModule과 추악한 해결

:

post '/mymodels', to: 'mymodels#create', as: 'my_module_mymodels 

때문에 경로 기호 이름을 제어하자 '로'. 나는 오히려 '리소스'매크로를 사용하는 것이 좋겠지 만, form_for가 모듈 이름을 추가하더라도 모듈을 만들 때 경로 기호에 모듈 이름을 추가하는 것을 모르는 것 같습니다. 이 문제를 해결할 방법이 있다고 가정하지만이 시나리오에 대해서는 아무 것도 찾을 수 없습니다.

+0

내가이 물린 것 같아요 : http://stackoverflow.com/questions/4074830/adding-lib-to-config-autoload-paths-in-rails -3-does-not-autoload-my-module입니다. 찾으려고합니다. – sethcall

+1

오류가 모델을 찾을 수 없다는 의미는 아닙니다. 그것은 경로에 관한 것입니다. 앱이 모델을로드하는지 확인하려면'rails s' 콘솔을 실행하고 모델 이름을 입력하십시오. – Robin

+0

좋은 포인터입니다. 고마워요. 나는 지금 그 방향으로보고있다. Rails가 콘솔을 사용하여 모델을 알고 있음을 확인했습니다. 감사합니다. – sethcall

답변

2

사용 scope :

scope :as => "mymodule" do 
    resources :my_resources 
end 
관련 문제