【问题标题】:Time.now not changing in partial - railsTime.now 部分不改变 - 轨道
【发布时间】:2016-11-27 12:09:59
【问题描述】:

我正在渲染部分点击事件

$('#btnAddItem').on('click', function(){
  $('.item_list').append("<%= escape_javascript(render partial:'item_fields.html.erb') %>")
})

部分我正在尝试打印 Time.now 但我得到相同的时间,每当我点击按钮 - '#btnAddItem'

部分代码:

<%= Time.now %>

为什么我的时间是一样的?每次点击如何获得不同的时间?

更新:需要将 time.now 存储在 ruby​​ 变量中,以后会用到。

【问题讨论】:

  • 我很确定 jquery 不能更新 ruby​​ 变量……你需要为此访问服务器。

标签: javascript ruby-on-rails ruby-on-rails-4 ruby-on-rails-5


【解决方案1】:

下面的erb,

<%= Time.now %>

在渲染视图时评估服务器端。

javascript 在客户端运行已渲染的视图,因此时间不会改变。如果您想使用 Javascript 替换时间,则需要将其包装在 div 中并将其内容替换为当前时间。

【讨论】:

  • 我需要将 Time.now 存储在 ruby​​ 变量中
  • 然后改变你的问题......就目前而言......真的不清楚你想要什么。你的问题没有提到变量......我假设你的部分?如果是这样,请发布。
  • 更新问题
【解决方案2】:

如果您需要更改后端的某些值,则需要调用它。尝试为此创建一个控制器操作并通过 ajax 调用请求它。

$('#btnAddItem').on('click', function(){
  $.get('<%= new_item_path %>').done(function(data){
    $('.item_list').append(data)
  })
})

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    • 2019-11-26
    • 1970-01-01
    • 1970-01-01
    • 2011-04-21
    • 2023-03-18
    • 1970-01-01
    相关资源
    最近更新 更多