2013-03-19 95 views
0

我有一系列的div,我可以编辑jEditable。集合中的每个项目都有一个唯一的RESTful URL,我需要PUT来保存。例如:动态设置jeditable目标URL

  • 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

OP,

拓展上提供的related SO question答案。

为了引用标记中的RESTful URL,(和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> 

这是我们能够立刻想到的路线。

希望它有帮助。

+0

我想这正是我正在寻找的东西。将尽力回复你。 – jn29098 2013-03-19 12:21:34

+0

好的,所以这个工程可以将RESTful URL导入到JavaScript调用中,但是,Rails CSRF令牌不会与表单一起传递,并且每次将jEditable表单提交给服务器时,我的会话都会超时(使用设计进行身份验证)与错误:警告:无法验证CSRF令牌的真实性。 – jn29098 2013-03-20 11:54:44

+0

嗯。你能发布你的标记和你的JavaScript的片段吗? – couzzi 2013-03-20 13:37:49