我很难找到我对rails3-jquery-autocomplete gem遇到的问题的答案。
我有2个型号。环境与环境属性。
class Environment < ActiveRecord::Base
has_many :properties
name: string, envfile: string
class Property < ActiveRecord::Base
scope :with_environment_id, where(:environment_id => 14)
belongs_to :environment
name: string, value: string, environment_id: integer
我有一个视图,它显示属于特定环境的所有属性,并在该视图中显示以下基于属性名称自动搜索的代码
<%= form_tag('tbd')%>
<%= autocomplete_field_tag :property_name, '', autocomplete_property_name_properties_path>
属性控制器
class PropertiesController < ApplicationController
autocomplete :property, :name, :scopes => [:with_environment_id]
和routes.rb有
get :autocomplete_property_name, :on => :collection
自动完成工作正常,但它返回属性表中的所有记录。我只想在视图中显示属于环境的属性。
正如你所看到的,我已经在属性模型中定义了一个范围,我在其中硬编码了一个有效的environment_id,以使其按照我的意愿工作。
所以我的问题是如何将environment_id从视图/控制器传递回范围?
也许我是从错误的角度解决这个问题。
道歉,如果这是一个愚蠢的问题,但它整天困扰我。
答案 0 :(得分:0)
def get_autocomplete_items(parameters)
super(parameters).where(:user_id => current_user.id)
end