【发布时间】:2018-10-12 12:49:18
【问题描述】:
我用过 rails4.2.8, ruby2.5.0, 'friendly_id', '~> 5.1.0'
当我将 friendly_id 放到 Gemfile 中时,
第一:bundle
第二:rake db:migrate
第三:在models/user.rb添加
extend FriendlyId
friendly_id :name, use: :slugged
在controllers/user_controller.rb修改如下:
def show
# @user = User.find(params[:id])
@user = User.friendly.find(params[:id])
# debugger
end
然后我rails s并创建新用户,它显示错误:
NoMethodError in UsersController#create
undefined method `slug' for #<User:0x00007f89fb2d7508>
def create
@user = User.new(user_params)
if @user.save
log_in @user
flash[:success] = "signup success~"
redirect_to @user
我在stackoverflow中搜索过这个错误,有人说将models/user.rb更改为
extend FriendlyId
friendly_id :name, :use => [:slugged, :finders]
我试过这个答案,但它也显示错误:
NoMethodError in UsersController#create
undefined method `slug' for #<User:0x00007f89fb2d7508>
我该如何解决这些问题?非常感谢您的帮助~~~
【问题讨论】:
-
您需要将
:slug列添加到您的用户表中 -
@sovalina 感谢您的帮助,我应该如何将列
:slug添加到我的用户表中?你能给我看看代码吗?非常感谢~~ -
检查@a3y3 答案:)
-
好的,也非常感谢...