在Rails应用程序中,我有销售和销售人员:
class Sale < ActiveRecord::Base
belongs_to :salesperson
end
class Salesperson < ActiveRecord::Base
has_many :sales
end
我有一个ActiveScaffold用于销售。我已经开启了现场搜索,可以成功过滤销售人员的销售情况。但是我只想在销售人员下拉列表中显示销售人员的子集,因此我使用表单覆盖:
def salesperson_form_column(record, input_name)
select :record, :salesperson, current_user.office.salespeople.find(:all).collect {|p| [ p.name, p.id ] }, :name => input_name
end
这可以在表单上正确地创建/更新销售记录,但是它不适用于字段搜索。正确显示下拉列表,但没有任何效果。我可以选择一个销售人员,但列表不会过滤。
我比较了标准销售人员下拉列表和我的覆盖者下拉列表之间生成的HTML,但它们似乎略有不同:
<select class="salesperson-input" id="search_salesperson" name="search[salesperson][id]">
-vs -
<select class="" id="record_salesperson" name="search [salesperson]">
有什么想法吗?感谢
答案 0 :(得分:1)
覆盖搜索字段,如http://wiki.github.com/activescaffold/active_scaffold/search-overrides。
中所述def salesperson_search_column(record, input_name)
select :record, :salesperson, current_user.office.salespeople.find(:all).collect {|p| [ p.name, p.id ] }, :name => input_name
end