4

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

不是从夹具数据自动创建的 slug 吗?如果没有,那么有什么办法可以解决?

4

2 回答 2

0

一种解决方案是在测试环境中运行生成 slug 的 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

更新 rake 任务已被删除,请参阅对此答案的评论或friendly_id README。

于 2011-03-05T05:44:26.150 回答
0

最简单的方法是将slugs 添加到夹具数据中:

# 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
于 2020-07-03T12:55:16.953 回答