当一个谷歌机器人试图访问我的一个控制器时,我收到了这个错误消息。ActionView :: MissingTemplate:Missing template
ActionView::MissingTemplate: Missing template channels/show, application/show with {:locale=>[:"sv-SE", :en], :formats=>["*/*;q=0.9"], :handlers=>[:erb, :builder, :haml]}. Searched in: * "/opt/www/app/releases/20120228181534/app/views" * "/opt/www/app/shared/bundle/ruby/1.9.1/gems/kaminari-0.13.0/app/views"
问题是我无法重现它。 该错误发生了上周的121次(根据airbrake)。
Here是回溯。
行18,这是所提到的只是行存在于我的应用程序,这是代码的super
部分
def render(options = {}, extra_options = {}, &block)
if request.headers['X-PJAX'] or params[:no_layout] == "true" or params[:_pjax]
options[:layout] = false
end
super(options, extra_options, &block)
end
控制器方法channels#show
看起来像这样
def show
@channel = # ...
@today = # ...
@yesterday = # ...
@tomorrow = # ...
end
访问URL提出了谷歌机器人的错误不会为我提出一个错误。
唯一失败的网址是包含特殊字符如{"action"=>"show", "id"=>"25-jönköping", "controller"=>"channels"}
的网址。 ORIGINAL_FULLPATH
值设置为/channels/25-j%c3%b6nk%c3%b6ping
。
我正在使用rails 3.2.1。
它打的是哪个网址?尝试在开发过程中自己进入该URL。另外,请检查HTTP引用来查看它来自哪个页面。 – nicholaides 2012-03-05 04:07:48
@nicholaides我已经试着访问有问题的网址,这是有效的。 – Oleander 2012-03-05 13:01:56
这个应用程序的实时URL是什么? – 2012-03-25 15:23:52