Ruby on rails RubyonRails:从初始值设定项文件运行rake任务时出错

Ruby on rails RubyonRails:从初始值设定项文件运行rake任务时出错,ruby-on-rails,ruby,rake,initializer,Ruby On Rails,Ruby,Rake,Initializer,我有config/initializers/custom.rb文件 文件中只有一行: `rake thinking_sphinx:start` 我认为这应该像在命令行中键入命令一样执行该行。使用这行代码,当我运行“ruby脚本/服务器”时,服务器将冻结,并且不会输出任何错误消息。我错过什么了吗 谢谢 初始化程序在应用程序加载时加载。Rake任务通常加载您的应用程序。如果您从初始值设定项调用Rake任务,您将抛出应用程序进行循环 如果您担心在开发中忘记启动斯芬克斯,只需给自己一点警告: # co

我有config/initializers/custom.rb文件

文件中只有一行:

`rake thinking_sphinx:start`
我认为这应该像在命令行中键入命令一样执行该行。使用这行代码,当我运行“ruby脚本/服务器”时,服务器将冻结,并且不会输出任何错误消息。我错过什么了吗


谢谢

初始化程序在应用程序加载时加载。Rake任务通常加载您的应用程序。如果您从初始值设定项调用Rake任务,您将抛出应用程序进行循环

如果您担心在开发中忘记启动斯芬克斯,只需给自己一点警告:

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

初始化器在应用程序加载时加载。Rake任务通常加载您的应用程序。如果您从初始值设定项调用Rake任务,您将抛出应用程序进行循环

如果您担心在开发中忘记启动斯芬克斯,只需给自己一点警告:

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

我问过如何通过netbeans在开发模式下启动它,但想法是一样的


我的猜测是,您无法启动服务器,因为sphinx需要自己的进程,因此它永远不会返回到您的自定义初始值设定项。

我问过如何通过netbeans在开发模式下启动它,但想法是一样的


我的猜测是,您无法启动服务器,因为sphinx需要自己的进程,因此它永远不会返回到自定义初始值设定项。

我也考虑过这一点,除了从命令行运行rake任务时,该进程是在后台启动的。所以这不应该发生,我也考虑过,除非当我从命令行运行rake任务时,这个过程是在后台启动的。所以这不应该发生,呃…我喜欢这个想法,但仍然是bug/vendor/plugins/thinking sphinx/lib/thinking_sphinx/collection.rb:100:in
class_from_crc':当你没有预料到它时,你有一个nil对象!(NoMethodError)从/vendor/plugins/thinking sphinx/lib/thinking_sphinx/collection.rb:79计算nil.constantize时出错。在
instances中,从_classesTry从空白搜索改为“test”(过去调用ModelName.search时,空白搜索对我来说很有效,但我猜如果没有范围,事情就会爆发).这样行得通。我也喜欢这种方法,因为我可能应该使用守护进程管理器插件来管理生产中守护进程的实际启动和停止,但在开发模式下发出警告是非常好的。特别是在我开始设置守护进程managereh之前……我喜欢这个想法,但仍然是bug/vendor/plugins/thinking sphinx/lib/thinking_sphinx/collection.rb:100:in
class_from_crc':当你没有预料到它时,你有一个nil对象!(NoMethodError)从/vendor/plugins/thinking sphinx/lib/thinking_sphinx/collection.rb:79计算nil.constantize时出错。在
instances中,从_classesTry从空白搜索改为“test”(过去调用ModelName.search时,空白搜索对我来说很有效,但我猜如果没有范围,事情就会爆发).这样行得通。我也喜欢这种方法,因为我可能应该使用守护进程管理器插件来管理生产中守护进程的实际启动和停止,但在开发模式下发出警告是非常好的。尤其是在我开始设置守护进程管理器之前