Friendly_id for fixture(slugs)

时间:2010-03-23 20:29:50

标签: testing fixtures friendly-id

我在我的应用程序中使用了freindly_id。我在我的应用程序中设置了一些灯具。我想对它们进行集成测试。在测试期间,我需要friendly_id,但是从fixture中创建的DB记录在Slug表中没有相应的slug。

不是从Fixture数据自动创建的slug?如果没有那么什么可以解决?

2 个答案:

答案 0 :(得分:0)

一种解决方案是运行生成slu的rake任务,但是在测试环境中。

在Windows上

>set RAILS_ENV=test
>rake friendly_id:redo_slugs MODEL=xxx

或Unix / Linux

>export RAILS_ENV=test
>rake friendly_id:redo_slugs MODEL=xxx

答案 1 :(得分:0)

最简单的方法是将slug添加到灯具数据:

# test/fixtures/things.yml
apple:
  title: Apple
  restricted: hellyes
  slug: apple
# app/model/thing.rb
class Thing << ApplicationRecord
  extend FriendlyId
  friendly_id :name, use: :slugged
end