Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.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 将参数传递到控制器-自动完成_Ruby On Rails_Ruby On Rails 3 - Fatal编程技术网

Ruby on rails 将参数传递到控制器-自动完成

Ruby on rails 将参数传递到控制器-自动完成,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,拥有一个rails应用程序,该应用程序应显示产品/经理列表。在上下搜索之后,我得到了一些响应,发现我需要将参数表传递到包含列表的控制器中 def manager_list list=User.all.map{|i|i.full_name} arr= [].concat(list.sort{|a,b| a[0]<=>b[0]}).to_json render :json =>arr end 我对ruby和javascript的了解并不是最

拥有一个rails应用程序,该应用程序应显示产品/经理列表。在上下搜索之后,我得到了一些响应,发现我需要将参数表传递到包含列表的控制器中

    def manager_list  
    list=User.all.map{|i|i.full_name}
    arr= [].concat(list.sort{|a,b| a[0]<=>b[0]}).to_json
    render :json =>arr
  end

我对ruby和javascript的了解并不是最高的。但是我知道下面的列表=User.all.map。正在收集所有用户的全名并将其连接。我花了几个小时的时间试图弄清楚如何准确地将var‘term’作为参数传递给我的用户控制器。因此,当我运行rails应用程序并搜索特定的经理或产品时,它将显示一条信号记录,而不是整个列表

由于您正在尝试实现自动完成功能,因此我假定您搜索以给定模式开头的名称

控制器的外观如下所示:

def manager_list  
  matching_users = User.where(['full_name like ?', "#{params[:term]}%"])
  matching_names = [].concat(matching_users.map(&:full_name).sort{|a,b| a[0]<=> b[0]}).to_json
  render :json => matching_names 
end
User.find_by_term!(term)
def管理器列表 匹配的_users=User.where(['full_name like?',“#{params[:term]}%]”) matching|u names=[].concat(matching|u users.map(&:full|u name)。排序{a,b|a[0]b[0]})。到|json render:json=>匹配_名称 结束
而且,
term:request.term
对我来说也不合适。我不确定您从UI中获取搜索词的位置。请验证。

您是否在控制器中管理列表方法

以下是控制器的外观:

class UserController < ActionController::Base

  def manager_list
    var term = params[:term]
    ... // work with your parameter
  end
end
希望我回答了你的问题

问候

User.find_by_term!(term)