1
active_scaffold :formats do |config|
    format_order = Format.find(:all, :select => :format_order, :order => :format_order).collect(&:format_order)
    format_order << format_order.size + 1  # I want only implement when new
    config.columns = [:name, :format_order]
    config.columns[:format_order].form_ui = :select
    config.columns[:format_order].options = {
      :options => format_order
    }
    config.list.columns = [:name, :format_order]
  end

我希望如果我使用新格式,format_order 将添加一个数字作为代码(format_order.size + 1),但我不想实现它进行编辑。请帮我。谢谢

4

1 回答 1

1

您将不得不实现一个回调:

class Format < ActiveRecord::Base
...
  after_validation(:on => :create) do
    self.code = whatever_code_you_want_to_assign #
  end
...
end
于 2010-10-21T06:02:04.267 回答