0

我正在尝试将 calendaer_date_select 链接到选择字段,因此选择列表按所选日期进行过滤。我已按照此处所述的说明进行操作

我在 activescaffold 配置中:

config.columns[:order_date].form_ui = :calendar_date_select
config.columns[:order_date].options = {:update_column => :sale}
config.columns[:sale].form_ui = :select

...并在助手中:

def options_for_association_conditions(association)
  if association.name == :sale
    {'sales.order_date' => @record.order_date}
  else
    super
  end
end

问题是从 javascript 小部件中选择日期不会触发选择刷新。但是,如果我输入日期,那就可以了。有任何想法吗?

4

1 回答 1

0

这是今天早上修复的 ActiveScaffold 的一个错误。因此,再次克隆存储库将解决您的问题。

作为记录,ActiveScaffold 用于监视更改的方法没有捕捉到 Calendar Date Select 设置字段的方式。ActiveScaffold 监视字段上的更改事件以进行列更新。更改事件由在获得和失去焦点之间的字段值的修改触发。日历日期选择修改值而不赋予或移除该字段的焦点。

如果你不想更新你的插件,你可以通过执行以下操作自己破解它:

config.columns[:order_date].options = {:update_column => :sale}

config.columns[:order_date].options = {:update_column => :sale, 
  :before_show => 'this.focus()', :onchange => 'this.blur()'}
于 2009-10-25T22:47:48.030 回答