求助: 今天遇到一个很奇怪的问题,在 Development 模式中,刷新页面会报 nilclass 错误,然后重启 server 后一切正常。
下面是 log
Started GET "/en/jobs/Instrument-Software-Architect/JHQ7GJ5XFBJH0YL9T9C" for 127.0.0.1 at 2013-05-15 11:04:21 +0800
Processing by CbIntl::JobsController#detail as HTML
Parameters: {"locale"=>"en", "title"=>"Instrument-Software-Architect", "did"=>"JHQ7GJ5XFBJH0YL9T9C"}
IP: 127.0.0.1
Rendered cb_intl/jobs/detail.html.erb within layouts/cb_intl/application (47.0ms)
Completed 500 Internal Server Error in 117ms
#1 楼 @williamherry 怎么 trace? 在CbIntl::JobsController#detail
这个 action 中加 debug 吗
#7 楼 @ChanceDoor 这个action
实际就是调用一个 api,api 返回结果我都做了缓存了,不会每次都发送请求呀,log 显示应该已经走到render
这一步了
#11 楼 @ChanceDoor 代码公司的,不大方便贴。我在action
中用了binding.pry
,刷新后都没有进 debug,然后重启 server 后又好了。。。我去
#13 楼 @Vincent178 重启就好了肯定是资源不足导致的 代码你可以抽象一下发上来 detail.html.erb 和 layouts/cb_intl/application.html.erb里没问题吗?你是不是每次刷新都会调用那个API 然后进行缓存 detail 页面从缓存里读取结果?
#15 楼 @ChanceDoor
tig 中显示的结果
action
中改变,类似的改了 3 个地方
respond_to do |format|
- format.js
+ format.js { @translation = t(:jd_email_capture) }
end
view
中的改变
<h5><%= t :jd_emailjob_label%></h5>
<p><%= @job.job_title %></p>
<div id='emailFeedBack'>
- <%= form_tag main_app.email_this_job_path(:did=>@job.did), :method => "post", :remote => true do %>
+ <%= form_tag main_app.email_this_job_path, :method => "post", :remote => true do %>
<%= content_tag :label, t(:jd_email_to) %>
<%= text_field_tag :email %>
email_capture.js.erb
中的改变
-$(".popover-content .span9 form").html("<p>订阅成功!您可以收到相关职位推荐了。同时我们也为您自动注册了一个账号,请在您的邮箱查看账号信息。 </p>");
+var text = "<p>" + "<%= @translation %>" + "</p>"
+$(".popover-content .span9 p").hide();
+$(".popover-content .span9 form").html(text);