【问题标题】:undefined local variable or method `resource_class' for #<PostsController:0xd034f28>#<PostsController:0xd034f28> 的未定义局部变量或方法“resource_class”
【发布时间】:2019-03-27 14:02:02
【问题描述】:

ruby 2.3.3 & rails 5.2

我收到这个错误

#PostsController:0xd034f28 的未定义局部变量或方法“resource_class”>

这是我的应用程序控制器

class ApplicationController < ActionController::Base
  protect_from_forgery with: :exception

  before_action :configure_permitted_parameters, If: :devise_controller?

  protected

  def configure_permitted_parameters
    devise_parameter_sanitizer.permit(:sign_up, keys: [:name])
    devise_parameter_sanitizer.permit(:account_update, keys: [:name])
  end     
end

我的后期控制器

class PostsController < ApplicationController
    before_action :find_post, only: [:show, :edit, :update, :destroy]
    before_action :authenticate_user!, except: [:index, :show]

    def index
        @posts = Post.all.order("created_at DESC")
    end

    def show
    end

    def new
        @post = current_user.posts.build
    end

    def create
        @post = current_user.posts.build(post_params)
        if @post.save
            redirect_to @post
        else
            render 'new'
        end
    end

    def edit        
    end

    def update
        if @post.update(post_params)
            redirect_to @post
        else
            render 'edit'
        end
    end

    def destroy
        @post.destroy
        redirect_to root_path
    end

    private

    def find_post
        @post = Post.find(params[:id])
    end

    def post_params
        params.require(:post).permit(:title, :link, :description)
    end
end

【问题讨论】:

  • If: :devise_controller? 应该是if: :devise_controller?,if 中有小 i
  • @Vasilisa 哈哈哈哈哈!工作。非常感谢

标签: ruby-on-rails ruby devise


【解决方案1】:

试试

before_action :configure_permitted_parameters, if: :devise_controller?

【讨论】:

  • 这个答案是自动标记的,因为它很短。但这仍然是一个答案,而不是链接或评论。
猜你喜欢
  • 2015-06-24
  • 1970-01-01
  • 2013-07-03
  • 2017-01-26
  • 2018-04-19
  • 2015-01-01
相关资源
最近更新 更多