我在跟随Ryan Bates railscast#258后使用jquery_token_input,这是作者控制器中搜索输入的查询并生成json以呈现自动完成列表的代码。 目前,它选择名称与输入的参数类似的作者。
def index
@authors = Author.where("name like ?", "%#{params[:q]}%")
respond_to do |format|
format.html
format.json { render :json => @authors.map(&:attributes) }
end
end
作者模型具有列:name和:user_id。我想首先选择user_id等于current_user.id的作者。然后从该数组中选择作者的名字就像输入的参数。
这有意义吗?非常感谢任何见解。
答案 0 :(得分:1)
这最终成为我需要的行:(我有一个名为uid的辅助方法)
def index
@authors = Author.where(:user_id => uid).where(["name like ?", "%#{params[:q]}%"])
respond_to do |format|
format.html
format.json { render :json => @authors.map(&:attributes) }
end
end
有没有办法通过删除第二个在哪里来改善这个?那甚至重要吗?
答案 1 :(得分:0)
我想首先选择作者在哪里 user_id等于 current_user.id。
听起来很奇怪。假设user_id是主键,则应该返回一个结果(或者没有);但绝不是作者名单。