【问题标题】:Rails clock displayRails 时钟显示
【发布时间】:2017-09-02 07:43:51
【问题描述】:

我有一个需要在索引页面上显示时钟的应用程序。 所以我有一个像这样的静态控制器:

控制器/static_controller.rb:

class StaticController < ApplicationController

  def index
    @time = Time.now.strftime("%H:%M:%S ")
  end

  def get_time
    @time = Time.now.strftime("%H:%M:%S ")
    render partial: "date"
  end

end

我在views/static/index.html.erb上有这个:

<div class="time-container">
   <%= render partial: "date" %>
</div>

这个部分视图/static/_date.html.erb 只包含 var:

  <%=@time%>

我使用这个 JS 函数来尝试更新 assets/javascripts/static.js 上的时间:

$(document).ready(function () {
    setInterval(function () {
        $('.time-container').load('/static/get_time');

    }, 1000);
});

我的 routes.rb 是这样的:

Rails.application.routes.draw do
  # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html
  root "static#index"
  resources :static

end

这样,页面加载时会显示时钟,但它始终保持不变并且不会更新。我错过了什么吗?

【问题讨论】:

  • 浏览器上的 javascript 控制台是否显示任何错误?
  • 是:GET localhost:3000/static/get_time 404(未找到)
  • 我缺少路由配置吗?
  • yeap.. 发布您的路线文件,看看会发生什么

标签: jquery ruby-on-rails setinterval clock


【解决方案1】:

您的路线与您构建的流程不匹配。

你很幸运静态/索引工作,因为它包含在资源声明中。

取出:

resources :static

并替换为

get 'static/index'
get 'static/get_time'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-06-14
    • 1970-01-01
    • 2016-12-21
    • 1970-01-01
    • 2020-01-17
    • 2012-06-04
    • 2017-10-12
    相关资源
    最近更新 更多