2013-05-11 3 views
1

sunspot_rails 보석을 Rails Mountable Engine에 추가하려고합니다. 그래서 Solr을 사용하여 전체 텍스트 검색을 할 수 있습니다. 이 README 파일에 언급처럼 내 Gemfile이 추가되었습니다 : Sunspot/Solr raketasks가 레일 3에로드되지 않습니다. Mountable Engine

gem "sunspot_rails" 
gem "sunspot_solr" 

가 그럼 난 내 레일 엔진의 config 폴더에 sunspot.yml를 생성 rails g sunspot_rails:install을 실행합니다. 내가 실행하는 데 필요한 태양 흑점을 시작하려면 :

bundle exec rake sunspot:solr:start 

을하지만 그건 작동하지 않습니다, 그리고 나에게 다음과 같은 오류 메시지를 제공합니다 :

rake aborted! 
Don't know how to build task 'sunspot:solr:start' 

태양 흑점/SOLR 레이크를로드하지 않는 것 같다 작업, 그래서 그들을 찾을 수 없습니다. 나는 Rails 엔진에 일반 Rails 3 응용 프로그램에서 자동으로로드되는 파일을로드하지 않는 다른 문제를 겪었습니다. 나는 그 라인을 따라 무언가가 여기에서도 일어나고 있다고 생각한다. 내가 lib/tasks 폴더를 확인하고 거기에 하나의 파일 : my_app.rake입니다. 나는 어쩌면 수동으로 raketasks를 추가하고 my_app.rake에서 그들을로드해야합니다 생각

# desc "Explaining what the task does" 
# task :my_app do 
# # Task goes here 
# end 

: 해당 파일에 있습니다 단 몇 코드의 줄 댓글을 달았습니다. 그러나, 나는 이것을하는 방법에 대한 정보를 찾을 수 없으며, 아마도 내가 처음에는 완전히 틀렸을 것입니다. 잘하면 누군가 stackoverflow에 이것에 경험이있다.

어쨌든 사전에 도움을 주셔서 감사합니다!

답변

2

며칠 전이 문제에 대한 해결책을 직접 찾았으므로 다른 사람들에게 도움이 될 수 있도록 여기에 해결책을 게시하겠습니다.

레일 3 탑재 가능 엔진이 정상적인 레일스 앱처럼 많이 동작하지만 사소한 차이점이 많기 때문에 실제로 문제가 발생합니다. 그냥 bundle exec rake sunspot:solr:start 대신 bundle exec rake app:sunspot:solr:start을 실행하면됩니다.

그래서에 흑점이 레일 3 마운트 엔진에서 작업, 내가 다음 단계에 따라 얻을 :

가, 그 후

# Gemfile (Don't forget to move them to your gemspec when packaging your engine) 

gem 'sunspot_solr' #only for development mode 
gen 'sunspot_rails' 

을 Gemfile에 추가를 설치 bundle install를 실행하는 것을 잊지 마세요를 보석.

구성이 필요 config/sunspot.yml 파일 실행 생성하기 위해 태양 흑점/SOLR

를 사용하도록 엔진 :

마지막으로 로컬 컴퓨터에

rails generate sunspot_rails:install 

시작 SOLR을하는을 시작합니다 Solr의 로컬 인스턴스 실행 :

bundle exec rake app:sunspot:solr:start 

이제 모든 설정이 완료되었습니다.