我正在渲染部分点击事件
$('#btnAddItem').on('click', function(){
$('.item_list').append("<%= escape_javascript(render partial:'item_fields.html.erb') %>")
})
在部分我试图打印Time.now,但每当我点击按钮时,我都会得到相同的时间 - '#btnAddItem'
部分代码:
<%= Time.now %>
为什么我会得到相同的时间?我每次点击时如何获得不同的时间?
更新:需要在ruby变量中存储time.now,这将进一步使用。
答案 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)
})
})