rails4 add friendly_id 有错误的未定义方法`slug'
rails4 add friendly_id has wrong undefined method `slug' for
我用的是rails4.2.8, ruby2.5.0, 'friendly_id', '~> 5.1.0'
当我 gem 将 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
我在 Whosebug 里搜索错了,有人说把 models/user.rb
改成
extend FriendlyId
friendly_id :name, :use => [:slugged, :finders]
我试过这个答案,但它也显示错误:
NoMethodError in UsersController#create
undefined method `slug' for #<User:0x00007f89fb2d7508>
我该如何解决这个问题?非常感谢你的帮助~~~
您需要通过迁移向您的用户添加一个 slug 列 table。创建一个新的迁移:
rails g migration addSlugToUsers
然后添加:
add_column :users, :slug, :string
add_index :users, :slug, unique: true
到db/migrate/xxxx.add_slug_to_users.rb
和运行:rails db:migrate
我用的是rails4.2.8, ruby2.5.0, 'friendly_id', '~> 5.1.0'
当我 gem 将 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
我在 Whosebug 里搜索错了,有人说把 models/user.rb
改成
extend FriendlyId
friendly_id :name, :use => [:slugged, :finders]
我试过这个答案,但它也显示错误:
NoMethodError in UsersController#create
undefined method `slug' for #<User:0x00007f89fb2d7508>
我该如何解决这个问题?非常感谢你的帮助~~~
您需要通过迁移向您的用户添加一个 slug 列 table。创建一个新的迁移:
rails g migration addSlugToUsers
然后添加:
add_column :users, :slug, :string
add_index :users, :slug, unique: true
到db/migrate/xxxx.add_slug_to_users.rb
和运行:rails db:migrate