Rails FactoryGirl特征与模型after_create回调的关联未设置vanity_url

克里斯·霍夫

在我的模型中,我有一个after_create回调来触发该方法:

class Job < ActiveRecord::Base
  after_create :update_vanity_url

  private

  def update_vanity_url
    self.vanity_url = '/jobs/' + company.slug + '/' + slug + '/' + id.to_s + '/'
  end
end

这将为我的工作设置一个自定义网址,但是,当我尝试在优惠券工厂中使用它时,该网址未保存。优惠券是在未分配工作的情况下创建的。仅当使用优惠券时,它才与一个作业配对。我称其为已执行:

FactoryGirl.define do
  factory :coupon do
    code { rand(25**25) }
    percent_discount { rand(100**1) }
    start_at { Time.now }
    end_at { 30.day.from_now }

    trait :executed do |c|
      association :job, factory: [:job, :purchased] 
      c.executed_at { Time.now }
    end
  end
end

理想情况下,我希望能够调用FactoryGirl.create(:coupon, :executed)哪个方法,但是after_create永远不会被调用...。

带有可选模型关联的Rails FactoryGirl Factory包括此设置的更多详细信息。

根据下面的每个问题评论,我添加了我的路线部分和更新:

路线

  resources :jobs, only: [:new] do
    collection do
      post 'new', to: 'jobs#create'
    end
    get '/review', to: 'reviews#new'
    patch '/review', to: 'reviews#update'
    get '/payment', to: 'payments#new'
    patch '/payment', to: 'payments#update'
  end
  match '/jobs/:company_slug/:job_slug/:id', via: :get, to: 'jobs#show'
克里斯·霍夫

我研究了几个小时,这就是我发现的工作。原来不是FactoryGirl,而是模型本身...我想...

  def update_vanity_url
    self.vanity_url = '/jobs/' + company.slug + '/' + slug + '/' + id.to_s + '/'
    save
  end

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Rails 4 has_many:through关联:在其他父模型中使用devise current_user在after_create回调中

来自分类Dev

Rails回调中after_create,after_save和after_commit之间的区别

来自分类Dev

在Rails中替代after_create回调的优雅替代品?

来自分类Dev

Rails Mailer最佳实践-控制器还是after_create回调?

来自分类Dev

Rails Mailer最佳实践-控制器还是after_create回调?

来自分类Dev

rails after_create不更新父模型

来自分类Dev

Rails:after_create回调上的delay_job?

来自分类Dev

Rails:更新模型会触发after_save回调“ on::create”

来自分类Dev

rails 模型回调 before_validation

来自分类Dev

带有可选模型关联的Rails FactoryGirl Factory

来自分类Dev

Ruby on Rails模型关联

来自分类Dev

Rails关联模型

来自分类Dev

关于 Rails 模型关联

来自分类Dev

Rails 模型关联问题

来自分类Dev

Rails 查询关联模型

来自分类Dev

如何设置Rails关联?

来自分类Dev

rails after_save回调条件

来自分类Dev

在create Rails上跳过回调

来自分类Dev

Rails after_create做一个相关的对象

来自分类Dev

Rails,after_create被调用两次

来自分类Dev

FactoryGirl 为 Rails 模型时间属性设置错误的时间

来自分类Dev

验证Rails中的关联模型

来自分类Dev

使用Rails创建关联的模型

来自分类Dev

Rails模型复杂关联说明

来自分类Dev

Rails:与相同模型的双重关联

来自分类Dev

Rails从模型关联中排序

来自分类Dev

如何测试Rails模型关联

来自分类Dev

Rails 多态关联多模型

来自分类Dev

哪个 Rails 活动模型关联?