使用Mongoid的Rails博客 - 在创建帖子时自动生成短URL

时间:2013-04-17 21:57:17

标签: ruby-on-rails ruby mongodb mongoid mongoid3

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

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

E.g。 my-sample-blog-post - > ai3n 等等。

问题是我在连接两者时遇到问题。我无法在Article类中嵌入URL类。

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

对此的任何帮助都将非常感激。

1 个答案:

答案 0 :(得分:0)

我认为您可以使用after create call来生成短网址,然后将其存储在文章模型内的字段中。

这样的事情:

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