Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在Jquery ajax中将ruby参数作为查询字符串传递_Ruby On Rails_Ruby_Jquery - Fatal编程技术网

Ruby on rails 在Jquery ajax中将ruby参数作为查询字符串传递

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可拖动和可拖放函数。因此,当一个元素被丢弃时,将启动一个ajax调用,将参数作为查询字符串传递。我知道如何传递查询字符串。但我需要在查询字符串参数中执行一些条件检查。我不知道怎样才能做到。请在下面找到我的代码

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)