铁路3:我如何重新加载部分?

时间:2013-07-30 08:40:17

标签: javascript ruby-on-rails-3 partial-views

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

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

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

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

问题......

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

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

感谢。

1 个答案:

答案 0 :(得分:0)

你的时间技巧与Ryan Bates在他的铁杆演员中所做的相似:http://railscasts.com/episodes/196-nested-model-form-revised

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