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
我尝试使用 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