ActiveModel::ForbiddenAttributesError.设计

ActiveModel::ForbiddenAttributesError.Devise

我尝试使用 gem 'devise'。我希望用户创建一个 post.

posts_controller

  def create
    @post = current_user.posts.build(params[:post])
  end

但浏览器显示错误

ActiveModel::ForbiddenAttributesError

我需要创建一个 Users 控制器并写入强参数或什么?

怎么解决?

抱歉我的英语不好

UPD

class PostsController < ApplicationController

  def index
    @posts = Post.all
  end

  def new
    @post = Post.new
  end

  def create
    @post = current_user.posts.build(params[:post])
  end

  private

    def post_params
      params.require(:post).permit(:title, :body, :user_id)
    end

end

您需要明确指定允许传递给模型的属性。

def create
  @post = current_user.posts.build(post_params)
  # ...
end

def post_params
  # Require params[:post] and allow its title and text key
  params.require(:post).permit(:title, :text) 
end