Rails - 刷新或多次访问后查看完整的白色

Phi*_*899 5 safari ruby-on-rails erb ruby-on-rails-4 rails-activerecord

我有一个视图页面,在我访问它几次后会随机变成一个空白页面.如果我在视图中更改了某些内容,它会暂时恢复正常,但经过几次页面访问后,该页面将再次变为白色.此外,它只发生在Safari中.以下是页面的控制器操作:

class ProjectsController < ApplicationController
    def show_current_projects_to_freelancer
        if current_user.type == 'Student'
            @projects = current_user.projects
            @schedules = current_user.projects.collect {|project| project.schedule}
        else
            redirect_to applicants_path, notice: 'Only Freelancers have access to this page.'
        end
    end
end
Run Code Online (Sandbox Code Playgroud)

有两种模式:Schedule和Project.计划belongs_To项目和项目has_one计划.计划和项目的路线嵌套如下:

get 'projects/current', to: 'projects#show_current', as: :current_freelancer_projects
resources :projects do
      resources :schedules
end 
Run Code Online (Sandbox Code Playgroud)

我已经多次改变了我的看法.无论视图中是否有内容或没有内容,都会发生这种情况.以下是该视图现在的样子:

<div style="color: black;">
<h3>Current freelancer Projects</h3>
    <table>
        <tr>
            <td>Project Name</td>
            <td>Employer Name</td>
            <td>Date of Bid</td>
            <td>rating</td>
            <td>Bid</td>
            <td>Tags</td>
            <td>Make Schedule</td>
        </tr>
    <% @projects.each do |project| %>
        <tr>
            <td><%= project.title %></td>
            <td><%= project.employer.email %></td>
            <td>date</td>
            <td>rating</td>
            <td>bid</td>
            <td>tags</td>
            <td><%= link_to 'Create Schedule', new_project_schedule_path(project.id, Schedule.new) %></td>
        </tr>
    <% end %>
    </table>
</div>
Run Code Online (Sandbox Code Playgroud)

我无法想象造成这种情况的原因.我知道它必须独立于视图,因为无论我如何改变视图,它仍然会发生.有没有人有任何想法?

以下是页面未显示时的日志.当页面显示时,它太长了.

Started GET "/current" for 127.0.0.1 at 2013-11-22 17:08:18 -0500
Started GET "/current" for 127.0.0.1 at 2013-11-22 17:08:18 -0500
  ActiveRecord::SchemaMigration Load (0.4ms)  SELECT "schema_migrations".* FROM "schema_migrations"
  ActiveRecord::SchemaMigration Load (0.4ms)  SELECT "schema_migrations".* FROM "schema_migrations"
Processing by ProjectsController#show_current_projects_to_freelancer as HTML
Processing by ProjectsController#show_current_projects_to_freelancer as HTML
  User Load (1.0ms)  SELECT "users".* FROM "users" WHERE "users"."id" = 226 ORDER BY "users"."id" ASC LIMIT 1
  User Load (1.0ms)  SELECT "users".* FROM "users" WHERE "users"."id" = 226 ORDER BY "users"."id" ASC LIMIT 1
  Project Load (3.3ms)  SELECT "projects".* FROM "projects" WHERE "projects"."student_id" = $1  [["student_id", 226]]
  Project Load (3.3ms)  SELECT "projects".* FROM "projects" WHERE "projects"."student_id" = $1  [["student_id", 226]]
  Employer Load (1.0ms)  SELECT "users".* FROM "users" WHERE "users"."type" IN ('Employer') AND "users"."id" = $1 ORDER BY "users"."id" ASC LIMIT 1  [["id", 202]]
  Employer Load (1.0ms)  SELECT "users".* FROM "users" WHERE "users"."type" IN ('Employer') AND "users"."id" = $1 ORDER BY "users"."id" ASC LIMIT 1  [["id", 202]]
  Employer Load (0.5ms)  SELECT "users".* FROM "users" WHERE "users"."type" IN ('Employer') AND "users"."id" = $1 ORDER BY "users"."id" ASC LIMIT 1  [["id", 201]]
  Employer Load (0.5ms)  SELECT "users".* FROM "users" WHERE "users"."type" IN ('Employer') AND "users"."id" = $1 ORDER BY "users"."id" ASC LIMIT 1  [["id", 201]]
  CACHE (0.0ms)  SELECT "users".* FROM "users" WHERE "users"."type" IN ('Employer') AND "users"."id" = $1 ORDER BY "users"."id" ASC LIMIT 1  [["id", 201]]
  CACHE (0.0ms)  SELECT "users".* FROM "users" WHERE "users"."type" IN ('Employer') AND "users"."id" = $1 ORDER BY "users"."id" ASC LIMIT 1  [["id", 201]]
  CACHE (0.0ms)  SELECT "users".* FROM "users" WHERE "users"."type" IN ('Employer') AND "users"."id" = $1 ORDER BY "users"."id" ASC LIMIT 1  [["id", 201]]
  CACHE (0.0ms)  SELECT "users".* FROM "users" WHERE "users"."type" IN ('Employer') AND "users"."id" = $1 ORDER BY "users"."id" ASC LIMIT 1  [["id", 201]]
  Rendered projects/show_current_projects_to_freelancer.html.erb within layouts/application (97.3ms)
  Rendered projects/show_current_projects_to_freelancer.html.erb within layouts/application (97.3ms)
   (0.9ms)  SELECT COUNT(*) FROM "relationships" WHERE "relationships"."student_id" = $1 AND "relationships"."state" = 'active'  [["student_id", 226]]
   (0.9ms)  SELECT COUNT(*) FROM "relationships" WHERE "relationships"."student_id" = $1 AND "relationships"."state" = 'active'  [["student_id", 226]]
  Profile Load (1.0ms)  SELECT "profiles".* FROM "profiles" WHERE "profiles"."user_id" = $1 ORDER BY "profiles"."id" ASC LIMIT 1  [["user_id", 226]]
  Profile Load (1.0ms)  SELECT "profiles".* FROM "profiles" WHERE "profiles"."user_id" = $1 ORDER BY "profiles"."id" ASC LIMIT 1  [["user_id", 226]]
  Rendered layouts/_ssi_header_inner.html.erb (69.1ms)
  Rendered layouts/_ssi_header_inner.html.erb (69.1ms)
  Rendered layouts/_ssi_footer.html.erb (0.3ms)
  Rendered layouts/_ssi_footer.html.erb (0.3ms)
Completed 200 OK in 547ms (Views: 384.9ms | ActiveRecord: 17.2ms)
Completed 200 OK in 547ms (Views: 384.9ms | ActiveRecord: 17.2ms)
Run Code Online (Sandbox Code Playgroud)

Phi*_*899 1

问题出在缓存上。通过禁用缓存,我能够解决该问题。