find_by_slug(params [:id])总是返回null

时间:2011-09-30 08:50:40

标签: ruby-on-rails ruby-on-rails-3.1

我只是使用Ruby on Rails 3.1,我想使用mongoid和mongoid_slug gem来使我的url可读。有我的问题: 在我的照片模式中输入此代码:“包括Mongoid :: Document”,“包括Mongoid :: Slug”和 “slug:title”(标题是照片属性之一) 在我的控制器中,我在行动中称之为: “@photo = Photo.find_by_slug(params [:id])”但此代码始终返回空值! 拜托,帮助我!

1 个答案:

答案 0 :(得分:3)

我找到了自己的答案,但无论如何谢谢你!它总是返回null值,因为模型没有加载slug(这意味着模型的每个对象都没有“slug:title”)。因此,我必须使用init slug到我的模型。我在db.rake文件中写下以下代码并运行rake db:init_slug。这是我的init_slug任务:“photo.all.each do | p | p.send(:generate_slug!)p.save!”然后再次重启服务器,代码不再返回空值