将calendar_date_select链接到ActiveScaffold中的选择

时间:2009-10-17 16:19:51

标签: ruby-on-rails activescaffold

我正在尝试将calendaer_date_select链接到选择字段,因此选择列表将按选择日期进行过滤。我按照here

所述的说明进行操作

我在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小部件中选择一个日期 不会触发select来刷新。但是,如果我输入日期 它确实如此。有任何想法吗?

1 个答案:

答案 0 :(得分: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()'}