0

我正在制作一个功能,单击它会附加更多日期字段。尽管“表单”标签不断被文件输出并失败。

 $('.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”行是失败的。如何将其添加到字符串中?

4

1 回答 1

0

括号中的 ERB (Embedded RuBy)<%= %>只有在服务器端运行时才会执行,因为 Ruby 是一种服务器端语言。相比之下,您在这里所做的只是在客户端,因此此时不涉及 Ruby。

因此,为了再次执行 Ruby 代码,您必须调用服务器。除非您希望页面重新加载,否则该调用必须是异步调用。幸运的是,这是一种非常标准的做法,Rails 让它变得非常简单!网上有很多很好的教程概述了如何做到这一点。这是 Codeship 中的一个,您可以通过谷歌搜索“Rails render partial with AJAX”之类的内容来找到其他内容。

于 2020-02-05T16:33:35.260 回答