私はRuby-on-RailsWebサイト(実際にはJRuby 1.5.5、Railsバージョン2.3.10を実行しています)を維持していますが、かなり奇妙なものが見られます。検索エンジンボットがアクセスすると、特定のコントローラーアクションがログに例外を引き起こしています。
ActionView::TemplateError (can't convert nil into String) on line #14 of app/vie
ws/scenarios/show_send_message.rhtml:
11: <% if ! is_logged_in? %>
12: <p>Your email (optional, used to contact you if necessary):<br /><%= tex
t_field_tag 'user_email', @user_email || '', :size => 50 %>
13: <% if ! is_human? %>
14: <%= show_simple_captcha %>
15: <% end %>
16: <% end %>
17: <p><%= submit_tag 'Send' %>
...ただし、ページを人間として表示すると、正常に機能します。「show_simple_captcha」はプラグインのメソッドであり、nilを返すことはできません。
RoRが実際のブラウザとは異なる方法でボットに応答する理由を誰かが知っていますか?私はデバッグを進める方法であるため、問題の答えをあまり探していませんが、前者を喜んで受け入れます。