0

我有一个主要观点。在它里面我有一个按钮,用这个 JS 代码渲染一个部分:

$('#add_more_lines_btn').click(function () {
    $("#trees_details").append("<%= escape_javascript( render "/green_trees/tree_details") %>");
});

部分有多个表单元素,这些元素必须具有不同的 id。我认为最好的想法是以毫秒为单位计算当前时间并将其附加到我的 ID:

 <% time_now = (Time.now.to_f*1000.0).to_i.to_s %>

问题...

每次当我单击按钮时.. 部分正确显示在第一个后面...但是所有表单元素都有相同的 id...所以 Rails 总是在绘制相同的部分而不计算时间。

为什么rails不加载新的部分(每次都不一样)?可以在不调用控制器的情况下做到这一点吗?

谢谢。

4

1 回答 1

0

您的时间技巧类似于 Ryan Bates 在他的 rails cast 中所做的:http ://railscasts.com/episodes/196-nested-model-form-revised

我使用与您完全相同的技术,但您必须确保您的点击处理程序进行搜索和替换以创建唯一 ID(使用客户端时间生成而不是服务器端)

于 2013-07-30T12:02:22.707 回答