Ruby on rails 在Jquery ajax中将ruby参数作为查询字符串传递
我使用的是jquery可拖动和可拖放函数。因此,当一个元素被丢弃时,将启动一个ajax调用,将参数作为查询字符串传递。我知道如何传递查询字符串。但我需要在查询字符串参数中执行一些条件检查。我不知道怎样才能做到。请在下面找到我的代码Ruby on rails 在Jquery ajax中将ruby参数作为查询字符串传递,ruby-on-rails,ruby,jquery,Ruby On Rails,Ruby,Jquery,我使用的是jquery可拖动和可拖放函数。因此,当一个元素被丢弃时,将启动一个ajax调用,将参数作为查询字符串传递。我知道如何传递查询字符串。但我需要在查询字符串参数中执行一些条件检查。我不知道怎样才能做到。请在下面找到我的代码 jQuery('#<%= qtr %>').droppable({ hoverclass: 'e_high', accept: function(elm) { if (jQuery(this).hasClass('<%
jQuery('#<%= qtr %>').droppable({
hoverclass: 'e_high',
accept: function(elm) {
if (jQuery(this).hasClass('<%=name%>_edit'))
return true;
},
drop: function() {
jQuery.ajax({
type: "POST",
url: '/sections/reorder?site_id=<%=@site.id%>&page=<%=@page%>?<%=@page.id%>:nil&ref_id=<%=section.id%>&name=<%=name%>'
jQuery('#')。可拖放({
hoverclass:“e_high”,
接受:函数(elm){
if(jQuery(this).hasClass(“U编辑”))
返回true;
},
drop:function(){
jQuery.ajax({
类型:“POST”,
url:'/sections/reorder?site\u id=&page=?:nil&ref\u id=&name=
上面传递查询字符串的方法是否正确。我得到一个无方法错误。Nil对象。当我检查终端时,参数是参数:
{“page”=>,“site_id”=>“11650ecf55668fed9e7a624c93adcba2”}
首先,您的三元问号和冒号位于错误的位置,它们应该位于ERB分隔符内。您最好在此处使用数据
选项;这不仅更简洁,而且可以防止您在POST请求中使用GET参数。您还应该转义您的值,以便在Java中使用使用脚本。按如下方式尝试:
jQuery.ajax({
type: "POST",
url: '/sections/reorder',
data: {
site_id: '<%= j(@site.id) %>',
page: '<%= j(@page ? @page.id : '') %>',
ref_id: '%<= j(section.id) %>',
name: '%<= j(name) %>'
},
//...
url: '/sections/reorder?site_id=<%= j(@site.id) %>&page=<%= j(@page ? @page.id : '') %>&ref_id=<%= j(section.id) %>&name=<%= j(name) %>'
问题还不清楚。关于nil方法问题,可能没有定义@variable。您想编写什么样的条件?我的建议:不要混合使用ruby和JS代码。使用从partials调用的纯JS函数(在.JS文件中)(在ruby参数中始终是:argument.to_json)