在Rails中,使用FriendlyId时可以通过命名路由来设置根路径。下面是详细的步骤:
gem 'friendly_id'
然后运行bundle install
来安装gem。
friendly_id
方法。例如,如果你有一个名为Product
的模型,你可以在该模型的类定义中添加以下代码:extend FriendlyId
friendly_id :name, use: :slugged
这将使用产品的名称来创建唯一的slug(URL路径的一部分)。
rails generate migration add_slug_to_products slug:string:uniq
然后运行rake db:migrate
来执行migration。
config/routes.rb
文件,在routes.rb
文件中添加以下代码:root to: 'products#index'
这将将根路径(/
)指向products
控制器的index
动作。
find
方法来查找具有特定slug的记录。例如,以下是在ProductsController
中使用FriendlyId的示例:class ProductsController < ApplicationController
def show
@product = Product.friendly.find(params[:id])
end
end
这样,当你访问类似于http://yourdomain.com/products/your-product-slug
的URL时,FriendlyId将根据slug找到相应的产品记录并显示。
总结:
在Rails中,使用FriendlyId时可以通过设置命名路由来实现在根路径上使用。首先,在模型中添加friendly_id
方法来配置FriendlyId。然后,创建migration并在数据库表中添加slug列。接下来,在路由文件中将根路径指向相应的控制器动作。最后,在控制器中使用FriendlyId的find
方法来查找具有特定slug的记录。
领取专属 10元无门槛券
手把手带您无忧上云