我有一个rails应用程序,由于握手不好而失败了。
我相信这与mysql库有关,我可以很好地访问大多数应用程序,但是当我遇到一个使用了ferret的页面时,它就失败了。
我认为这与我运行RVM有关。对于我的用户来说,gem和rails的版本都已经安装好了,但是ferret脚本是这样启动的。
#!/usr/bin/env ruby在命令行上,如果我这样做了,ruby -v就会显示正确的版本。
我认为它使用的是不同的ruby,因为它可能没有正确设置路径?
下面是我在生产日志文件中看到的输出。
注意: localhost:9010是ferret服务器的主机和端口。
ActionView::TemplateError (#08S01Bad handshake) on line #38 of
layouts/_sheet_info.rhtml:
35:
36: <%= worked_nice(@current_sheet.duration/60) -%><%= info_string -%
<%= " - " if total_today > 0 %>
37: <% end %>
38: <% if total_today > 0 %>
39: <%= distance_of_time_in_words(total_today.minutes) %> <%=_ 'worked
today'%>
40: <% end %>
41:
(druby://localhost:9010) /...myapp../vendor/rails/activerecord/lib/active_record/vendor/mysql.rb:523:in `read'
(druby://localhost:9010) /...myapp../vendor/rails/activerecord/lib/active_record/vendor/mysql.rb:153:in `real_connect'
(druby://localhost:9010) /...myapp../vendor/rails/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb:527:in `connect'
(druby://localhost:9010) /...myapp../vendor/rails/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb:186:in `initialize'
(druby://localhost:9010) /...myapp../vendor/rails/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb:85:in `new'
(druby://localhost:9010) /...myapp../vendor/rails/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb:85:in `mysql_connection'
(druby://localhost:9010) /...myapp../vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb:292:in `send'
(druby://localhost:9010) /...myapp../vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb:292:in `connection='
(druby://localhost:9010) /...myapp../vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb:260:in `retrieve_connection'
(druby://localhost:9010) /...myapp../vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb:78:in `connection'
(druby://localhost:9010) /...myapp../vendor/rails/activerecord/lib/active_record/base.rb:1143:in `table_exists?'
(druby://localhost:9010) /...myapp../vendor/rails/activerecord/lib/active_record/base.rb:1222:in `inspect'
(druby://localhost:9010) /...myapp../vendor/plugins/acts_as_ferret/lib/ferret_server.rb:143:in `rebuild_index'
(druby://localhost:9010) /...myapp../vendor/plugins/acts_as_ferret/lib/ferret_server.rb:171:in `reconnect_when_needed'
(druby://localhost:9010) /...myapp../vendor/plugins/acts_as_ferret/lib/ferret_server.rb:142:in `rebuild_index'
(druby://localhost:9010) /...myapp../vendor/plugins/acts_as_ferret/lib/ferret_server.rb:165:in `with_class'
(druby://localhost:9010) /...myapp../vendor/plugins/acts_as_ferret/lib/ferret_server.rb:138:in `rebuild_index'
(druby://localhost:9010) /...myapp../vendor/plugins/acts_as_ferret/lib/ferret_server.rb:123:in `ensure_index_exists'
(druby://localhost:9010) /...myapp../vendor/plugins/acts_as_ferret/lib/ferret_server.rb:165:in `with_class'
(druby://localhost:9010) /...myapp../vendor/plugins/acts_as_ferret/lib/ferret_server.rb:119:in `ensure_index_exists'
vendor/plugins/acts_as_ferret/lib/remote_index.rb:16:in `send'
vendor/plugins/acts_as_ferret/lib/remote_index.rb:16:in
`method_missing'
vendor/plugins/acts_as_ferret/lib/act_methods.rb:189:in
`acts_as_ferret'
app/models/work_log.rb:6发布于 2012-01-25 01:51:24
这是因为运行到设置ferret的脚本是以另一个用户身份运行的。还重新启动了机器,这可能会有所帮助。
https://stackoverflow.com/questions/8979943
复制相似问题