我有一个hotel
模型及其属性是:
id, hotel_name, address, searchable.
当我设置可搜索时false
对于特定酒店,当我在搜索字段中输入时,该酒店不应出现在下拉列表中。
控制器是
class HotelsController < Admin::BaseController
autocomplete :hotel, :hotel_name, :full => true
end
我该如何优化这个
在你的控制器中
def get_autocomplete_items(parameters)
items = active_record_get_autocomplete_items(parameters)
items = items.where(searchable: true)
end
在上面的例子中我们调用active_record_get_autocomplete_items
而不是super
;有nosuper ,因为这些方法是由于处理多个 ORM 的设计而动态调用的。在上面的例子中ActiveRecord
然而假设Mongoid
and MongoMapper
目前也都支持(其他人将来可能也会支持)。上面的示例仍然有效,但取决于您使用的 ORM 调用active_record_get_autocomplete_items(parameters)
需要更改以匹配您的驱动程序,例如它会变成mongo_mapper_get_autocomplete_items(parameters)
为了MongoMapper
driver.
使用范围
autocomplete :hotel, :hotel_name, :full => true, :scopes => [:searchable_allow]
In model
scope :searchable_allow, where(searchable: true)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)