在创建对象时不调用before_create

时间:2015-06-12 18:49:32

标签: ruby-on-rails sequel

我有租赁模式:

class Lease < Sequel::Model
    def before_create
        self.issued_date = DateTime.now
        self.return_date = DateTime.now + 2.weeks
        super
    end
end

用户模型:

class User < Sequel::Model
    many_to_many :items, left_key: :user_id, right_key: :item_id,
                 join_table: :leases
end

和项目模型:

class Item < Sequel::Model
    many_to_many :users, left_key: :item_id, right_key: :user_id,
                 join_table: :leases
end

我的租借模型将user_id和item_id作为外键。

当我创建Lease对象时,创建了issued_date和return_date并将其保存在数据库中。

但是当我为用户分配一个项目时,会创建一个租约对象但是没有调用before_create,导致issued_date和return_date设置为nil。

非常感谢。

1 个答案:

答案 0 :(得分:0)

你需要像这样设置你的before_create方法:

before_create :before_create_method

def before_create_method
  #method body
end