Joh*_*son 4 ruby url ruby-on-rails slug friendly-id
我下载了friendly_id gem,以使我的URL更加用户友好.为了兑现他们的指示,我在这里问这个而不是GitHub.
这是我的Show Method
def show
@movie = Movie.friendly.find(params[:id])
end
Run Code Online (Sandbox Code Playgroud)
这符合他们的文档
Finders are no longer overridden by default. If you want to do friendly finds, you must
do Model.friendly.find rather than Model.find. You can however restore FriendlyId
4-style finders by using the :finders addon:
Run Code Online (Sandbox Code Playgroud)
在我的Model.rb文件中,我有以下内容
extend FriendlyId
friendly_id :title, use: :slugged
Run Code Online (Sandbox Code Playgroud)
从他们的文件
friendly_id :foo, use: :slugged # you must do MyClass.friendly.find('bar')
Run Code Online (Sandbox Code Playgroud)
也来自他们的文件
def set_restaurant
@restaurant = Restaurant.friendly.find(params[:id])
end
Run Code Online (Sandbox Code Playgroud)
作为参考,这是他们的指南.
当然,我还没有生成迁移,因为我已经创建了表.
我不确定我的下一步应该是什么?
谢谢您的帮助.
Mar*_*ina 16
您需要运行迁移以将slug列添加到表中:
class AddSlugToMovies < ActiveRecord::Migration
def change
add_column :movies, :slug, :string, unique: true
end
end
Run Code Online (Sandbox Code Playgroud)
运行rake db:migrate,然后在rails控制台中运行Move.find_each(&:save)以填充slug列.
| 归档时间: |
|
| 查看次数: |
3406 次 |
| 最近记录: |