Вопрос

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), но я не хочу реализовать его для редактирования. пожалуйста, помогите мне. Благодарность

Это было полезно?

Решение

Вам придется реализовать обратный вызов:

class Format < ActiveRecord::Base
...
  after_validation(:on => :create) do
    self.code = whatever_code_you_want_to_assign #
  end
...
end
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top