我有一张用脚手架生成的桌子, 像这样的东西
rails generate scaffold书名:string year:integer etc ...
只有管理员可以使用以下网址访问上表:
管理员/书籍/书-1
管理/书籍/书-2
我使用friendlyid gem来生成slug值,我没有问题。
但是现在我需要公开访问页面并根据slug字符串查询书籍数据,我真的不知道如何让路由接受这样的URL:
public/book-1
目前我使用查询字符串:public?book_id=123
并获取如下参数:Book.where(:id=>params[book_id])
我需要用slug方式改变它吗?
我试图将此添加到我的路线文件中,但仍然没有运气
# get 'public/:slug', to: 'public#detailed_book', as: 'slugged_post'
请咨询,请告诉我如何正确设置我的路线文件以及如何在控制器中获取参数。
答案 0 :(得分:0)
您可以使用
获取记录Book.friendly.find(params[:id])
希望有所帮助!