我做了一个功能,点击它将追加更多的日期字段。尽管'form‘标签一直被文件输出,但是失败了。
$('.add-date-btn').click(function(e) {
e.preventDefault()
console.log('btn clicked')
var appendStr = '<div class="form-group classes-field-one-time date-field">' +
'<label>If recurring once: <br />Add Date</label>' +
'<%= form.date_field :event_date, :class => 'form-control' %>' +
'</div>'
$('#recurring-dates').append(appendStr)
})
"form.date_field“行就是失败的地方。如何将其添加到字符串中?
发布于 2020-02-06 00:33:35
<%= %>
括号中的ERB (Embedded RuBy)只有在服务器端运行时才会执行,因为Ruby是一种服务器端语言。相比之下,您在这里所做的只是在客户端,所以Ruby在这一点上没有涉及。
因此,为了再次执行Ruby代码,您必须调用服务器。除非您希望页面重新加载,否则该调用必须是异步调用。幸运的是,这是一个非常标准的实践,Rails让它变得非常简单!网上有很多很好的教程,概述了如何做到这一点。Here's one from Codeship,你可以通过谷歌搜索像"Rails render partial with AJAX“这样的东西来找到其他的。
https://stackoverflow.com/questions/60079914
复制相似问题