Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/52.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
Javascript 将ajax中的参数发布到我的控制器?_Javascript_Ruby On Rails_Jquery - Fatal编程技术网

Javascript 将ajax中的参数发布到我的控制器?

Javascript 将ajax中的参数发布到我的控制器?,javascript,ruby-on-rails,jquery,Javascript,Ruby On Rails,Jquery,我的索引页面上有几个按钮,它们不在表单中,充当地图上标记的过滤器 我正在尝试将筛选器选项作为参数发布到我的索引操作中 我怎么做这样的事 function filterchanged() { $.post('/index.html.erb', { filter1: 'value1', filter2: 'false' }, function(result) { alert('successfully posted filter1=value1&key2=filter

我的索引页面上有几个按钮,它们不在表单中,充当地图上标记的过滤器

我正在尝试将筛选器选项作为参数发布到我的索引操作中

我怎么做这样的事

 function filterchanged()
  {

  $.post('/index.html.erb', { filter1: 'value1', filter2: 'false' }, function(result) {
      alert('successfully posted filter1=value1&key2=filter2 to index.html.erb');
    });
   ....
}
我的索引控制器操作如下所示:

 def index

      if params.has_key?(:filter1) 
        if params[:filter2]
          @posts = Post.typeA
        else
          @posts = Post.typeB
      end

      else 
        @posts = Post.all
      end

    respond_to do |format|
      format.html # index.html.erb
      format.json { render json: @posts }
    end
  end

这是正确的方法吗?

尝试在表单中添加两个名为filter1和filter2的隐藏字段(因此表单会将它们传递给控制器操作。对每个按钮使用onClick事件来更新各自的隐藏字段值,并在需要时切换这些值。您可以将隐藏字段默认为0或false或任何您想要的值


然后,在控制器操作中检查过滤器变量的值。

索引操作的路径非常奇怪。
/index.html.erb
是索引视图的文件名,不打算以这种方式使用

要指向该操作,必须使用路由路径

打开一个终端,运行
rake routes
,检查索引操作的正确路由。 所有路由都在
/config/routes.rb

我想你应该看看这个: