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

标签 ruby-on-rails ruby mongodb mongoid mongoid3

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

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

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

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

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

如有任何帮助,我们将不胜感激。

最佳答案

我认为您可以使用创建后回调来生成短 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

关于ruby-on-rails - 使用 Mongoid 的 Rails 博客 - 在创建帖子时自动生成短 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16070977/

相关文章:

ruby - 用于配对两个数组元素的快速 Ruby 方法/算法

mongodb - 多维数据集如何连接从 MongoDB 数组创建的两个表?

ruby-on-rails - 使用正则表达式从文件中提取环境变量

ruby-on-rails - Rails 隐藏字段未定义方法 'merge' 错误

ruby-on-rails - ruby 中集合操作与数组操作的效率

ruby - Mechanize 抓取谷歌网址

html - Bootstrap Navbar 格式与模板不匹配

ruby-on-rails - 将 Warbler 制作的 .war 部署到 Tomcat

javascript - 在 jade 页面上使用可变 JSON 对象时的 NodeJS "identifier starts immediately after numeric literal"

java - 查询二进制数据 - MongoDB