动态设置可编辑目标URL

时间:2013-03-19 03:33:33

标签: javascript jquery ruby-on-rails jeditable

我有一系列div,我可以使用jEditable进行编辑。集合中的每个项目都有一个唯一的RESTful URL,我需要PUT来保存。例如:

  • budgets/6/incomes/1
  • budgets/6/incomes/5
  • budgets/6/incomes/8
  • 等...

我不确定如何将唯一的URL插入到jEditable的settings.target属性中,用于输出的每一行(在这种情况下为收入)。

JavaScript:

  $(document).ready(function() {
     $('.edit').editable("http://<needstobedynamic", {
        method    : 'PUT',
        indicator : "saving...",
        tooltip   : "Click to edit"
     });

Rails视图(html.erb):

<% @incomes.each do |income| %>
    <div class="row-fluid action_container">
        <div class="edit"><%= number_to_currency income.amount %></div>
    </div>
<% end %>

这是引用问题的another post,但没有接受答案。这篇文章中给出的答案允许我动态设置目标URL,但是没有解决在HTML声明中将URL设置在某个地方而不是在JavaScript中设置的问题。

我也对其他图书馆的建议表示欢迎和赞赏。

1 个答案:

答案 0 :(得分:1)

OP,

扩展所提供的related SO question中的答案。

要在标记中引用RESTful网址(以及在JS中),会将值存储在适合您需要的数据属性中吗?

$('div.whatever').editable("", {
    onsubmit: function (settings) {
      settings.target = "//foo.bar" || $(this).attr('data-editable-url');
    }
});
<div class="whatever" data-editable-url="budgets/6/incomes/1">
...
</div>

这就是我想到的路线。

希望它有所帮助。