Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在model.create上未调用创建之前_Ruby On Rails_Ruby On Rails 3 - Fatal编程技术网

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