2009-04-17 71 views
0

我有一個文件配置/初始化/ custom.rbRuby on Rails的:從運行初始化文件rake任務時出錯

在該文件中,只有一個行:

`rake thinking_sphinx:start` 

我想這應該只是執行行,就像從命令行輸入一樣。用這行代碼,當我運行「ruby腳本/服務器」時,服務器凍結並且不輸出錯誤消息。我錯過了什麼嗎?

謝謝!

回答

4

初始化程序在應用程序加載時加載。 Rake任務通常會加載您的應用程序。如果您從初始化程序調用Rake任務,那麼您將要將應用程序放到一個循環中。

如果你擔心忘記在發展中開始獅身人面像,只是給自己一點警告:

# config/initializers/custom.rb 
begin 
    ThinkingSphinx::Search.search "test" # test search 
rescue ThinkingSphinx::ConnectionError 
    puts "** Oops! ThinkingSphinx is off! **" 
end 
+0

呃...我喜歡這個主意,但還是老樣子馬車 /vendor/plugins/thinking-sphinx/lib/thinking_sphinx/collection.rb:100:in`class_from_crc「:你有一個零對象時你沒」期待它! (NoMethodError) 從/vendor/plugins/thinking-sphinx/lib/thinking_sphinx/collection.rb:79:in`instances_from_classes – Tony 2009-04-19 06:58:18

+0

評估nil.constantize時發生錯誤嘗試將空白搜索更改爲「test」(空白搜索有過去在調用ModelName.search時爲我工作,但當我們沒有作用域時,我想事情會爆炸)。 – stephencelis 2009-04-19 13:57:46

0

我問起如何得到它通過NetBeans的啓動在開發模式,但這個想法是一樣。 Bounty is still open

我的猜測是你沒有去服務器,因爲獅身人面像需要它是自己的過程,所以它永遠不會返回到你的自定義初始值設定項。