플러그 인 확장 (2)
rails3.0.3
플러그 인 을 만 드 는 과정 에서 plugin 의 models, controllers 등 구성 요 소 를 자동 으로 도입 하 는 과정 에서 다음 코드 를 추가 하 는 데 문제 가 발생 했 습 니 다.
http://guides.rubyonrails.org/plugins.html#models
가입 코드:
%w{ models }.each do |dir|
path = File.join(File.dirname(__FILE__), 'app', dir)
$LOAD_PATH << path
ActiveSupport::Dependencies.load_paths << path
ActiveSupport::Dependencies.load_once_paths.delete(path)
end
질문:
/root/NetBeansProjects/rails-demo/vendor/plugins/yaffle/lib/yaffle.rb:10:in `block in <top (required)>': undefined method `load_paths' for ActiveSupport::Dependencies:Module (NoMethodError)
from /root/NetBeansProjects/rails-demo/vendor/plugins/yaffle/lib/yaffle.rb:5:in `each'
from /root/NetBeansProjects/rails-demo/vendor/plugins/yaffle/lib/yaffle.rb:5:in `<top (required)>'
from /usr/local/ruby/lib/ruby/gems/1.9.1/gems/activesupport-3.0.3/lib/active_support/dependencies.rb:239:in `require'
from /usr/local/ruby/lib/ruby/gems/1.9.1/gems/activesupport-3.0.3/lib/active_support/dependencies.rb:239:in `block in require'
from /usr/local/ruby/lib/ruby/gems/1.9.1/gems/activesupport-3.0.3/lib/active_support/dependencies.rb:227:in `load_dependency'
from /usr/local/ruby/lib/ruby/gems/1.9.1/gems/activesupport-3.0.3/lib/active_support/dependencies.rb:239:in `require'
from /root/NetBeansProjects/rails-demo/vendor/plugins/yaffle/rails/init.rb:2:in `block in <class:Plugin>'
load 를 찾 을 수 없 음paths 방법, 마지막 으로 소스 코드 에서 보 았 지만 load 를 발견 하지 못 했 습 니 다.paths 와 loadonce_paths 방법.이 두 가지 방법 은 2.3.5 버 전에 서 발견 되 었 는데 3.0.3 으로 업그레이드 되 었 을 때 삭제 되 었 습 니까?
3.0.3 에서 autoload 를 사 용 했 습 니 다.paths 와 loadonce_paths, 이것 은 앞의 두 가지 방법의 교체 방법 입 니 다.코드 를 다음 코드 로 바 꾸 면 테스트 를 통과 합 니 다.
%w{ models }.each do |dir|
path = File.join(File.dirname(__FILE__), 'app', dir)
$LOAD_PATH << path
ActiveSupport::Dependencies.autoload_paths << path
ActiveSupport::Dependencies.autoload_once_paths.delete(path)
end
[1]http://guides.rubyonrails.org/plugins.html#models
[2]http://rubydoc.info/docs/rails/3.0.0/frames
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다른 사람의 웹사이트 편집: contenteditable 및 designMode그래도 우리가 그렇게 할 수 있다고 생각하는 것은 멋진 일입니다. 제가 강조하고 싶었던 일종의 관련 API가 실제로 몇 개 있기 때문에 오늘 그것을 가져왔습니다. contenteditable는 "true" 값이 할당...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.