Time.Now不改变部分轨道

时间:2016-11-27 12:10:00

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

我正在渲染部分点击事件

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

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

部分代码:

<%= Time.now %>

为什么我会得到相同的时间?我每次点击时如何获得不同的时间?

更新:需要在ruby变量中存储time.now,这将进一步使用。

2 个答案:

答案 0 :(得分:1)

以下erb,

<%= Time.now %>
在渲染视图时,

在服务器端进行评估。

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

答案 1 :(得分:0)

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

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