在ActiveScaffold中,表单覆盖会中断字段搜索

时间:2009-10-16 13:45:45

标签: ruby-on-rails activescaffold

在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]">

有什么想法吗?感谢

1 个答案:

答案 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