social_stream (레일 엔진)과 rails3_acts_as_paranoid (lib)의 두 개의 보석을 사용하고 있습니다.여러 개의 보석을 사용할 때 충돌하는 모듈 이름 (내 경우 social_stream 및 rails3_acts_as_paranoid)
NameError in Home#index
/home/pinouchon/code/sharewizz/webapp/app/views/home/index.html.erb 곳에 표시 : I는 홈페이지를 참조 할 때
, 나는 다음과 같은 오류가 라인 # 25 제기 : 초기화되지 않은 상수 ActsAsParanoid :: 관계 :: 공중을 추출 소스 (라인 # 25 정도) :
22:
23: <%=
24: render :partial => "activities/index",
25: :locals => { :activities => current_subject.wall(:home).page(params[:page]),
26: :owner => current_subject }
27: %>
28:
전체 추적 : Relation
:
social_stream-base (0.21.0) app/models/relation.rb:159:in `ids_shared_with'
app/models/activity.rb:70:in `block in <class:Activity>'
activerecord (3.2.2) lib/active_record/scoping/named.rb:180:in `call'
activerecord (3.2.2) lib/active_record/scoping/named.rb:180:in `block (2 levels) in scope'
# ...
나는 그 보석에 의해 정의 된 두 모듈이 동일한 이름을 공유 있기 때문에 생각합니다. /home/pinouchon/.rvm/gems/ruby-1.9.3-p39[email protected]/gems/rails3_acts_as_paranoid-0.2.5/lib/acts_as_paranoid/relation.rb에서
:
module ActsAsParanoid
module Relation
# ...
/home/pinouchon/.rvm/gems/[email protected]/gems/social_stream-base-0.21.0/app/models/relation.rb에서 :
class Relation < ActiveRecord::Base
#...
def ids_shared_with(subject)
# line 159:
ids = [Relation::Public.instance.id]
# ...
에서 /home/pinouchon/.rvm/gems/[email protected]/gems/social_s tream 기반-0.21.0/응용 프로그램/모델/관계/public.rb : 전
class Relation::Public < Relation::Single
# ...
, 나는 단지 소셜 스트림을 사용했는데, 아무 충돌하는 모듈의 이름은 없었다. 지금, 그것은 .../social_stream/.../relation.rb
라인, 따라서 문제를 Relation
를 대체 ActsAsParanoid::Relation
것처럼입니다 159
그러나 rails3_acts_as_paranoid
의 관계 모듈이 잘 module ActsAsParanoid
에 네임 스페이스 것이 무엇인지 놀라운 일입니다. 따라서 전역 범위에 정의 된 social_stream의 Relation
을 방해해서는 안됩니다. 아마도 뭔가를 놓친 것 같습니다.
오류의 원인은 무엇입니까? 해결할 수있는 방법이 있습니까? 라인 159 social_stream에 의해 정의 된 모델 관계 (응용 프로그램/모델에 파일을 복사)을 덮어 및 변경하여