Ruby on rails 在model.create上未调用创建之前
我有以下代码:Ruby on rails 在model.create上未调用创建之前,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我有以下代码: class Project < ActiveRecord::Base acts_as_paranoid belongs_to :user belongs_to :organization accepts_nested_attributes_for :organization attr_accessible :name, :permalink, :organization_id, :user_id validates_l
class Project < ActiveRecord::Base
acts_as_paranoid
belongs_to :user
belongs_to :organization
accepts_nested_attributes_for :organization
attr_accessible :name, :permalink, :organization_id, :user_id
validates_length_of :name, :minimum => 4
validates_presence_of :permalink
validates_uniqueness_of :permalink, :case_sensitive => false, :scope => :deleted_at
validates_presence_of :user
validates_presence_of :organization
before_create :generate_permalink
protected
def generate_permalink
binding.pry
self.permalink = "123456789"
end
end
应用程序在generate_permalink中binding.pry时未停止,并且项目无效且未保存,因为permalink==nil。为什么不调用generate\u permalink方法?您必须在\u validation回调之前设置premlink。
在验证后调用创建回调之前。这里验证失败,因此您的创建前回调永远不会调用
在这里检查回调序列
p = Project.new
p.name = "abcdef"
p.save