2

我有一个使用 Rails 和 Mongoid ORM 的简单博客引擎。

我在博客中有 2 个模型,“文章”和“网址”。Article 模型包含所有帖子内容,Url 类是生成器函数,它获取 Article 的 slug 并为其创建一个短 URL。

例如 my-sample-blog-post -> ai3n 等等等等。

问题是我在将两者联系起来时遇到问题。我也不能在 Article 类中嵌入 URL 类。

我的问题是,在文章模型中创建帖子时,我可以动态生成一个短 URL 吗?Article 模型已经使用 Mongoid::slug 给我很好的帖子 slug,但我还需要每个帖子的短 URL。

对此的任何帮助将不胜感激。

4

1 回答 1

0

我认为您可能可以使用创建后回调来生成短 url,然后将其存储在 Article 模型内的字段中。

像这样的东西:

class Article

  field :title
  slug  :title
  field :short_url

  after_create :generate_short_url

  def generate_short_url
    self.short_url = shorten_it(self.slug)   # assuming you implement shorten_it 
    self.save
  end
end
于 2013-07-30T01:24:56.590 回答