这是我的控制器
class BooksController < ApplicationController
def create
@book = Book.new(book_params)
if @book.save
render json: @book, status: 201
else
render json: { error: "check attributes again", status: 400 }, status: 400
end
end
private
def book_params
params.require(:book).permit(:author, :categories, :publisher, :title)
end
end
我正在通过这样的婴儿车
{ "book":{
"author": "some one",
"categories": "some thing",
"publisher": "some publisher",
"title": "some thing my own"
}
}
我收到上述错误有什么不妥之处。有任何想法吗?我正在使用sqlite3
数据库和webric
服务器。
答案 0 :(得分:0)
检查以下日志文件。
“你的rails目录”/logs/development.log
还有一点,你应该像下面那样写'puts'调试,因为'puts'结果显示在日志文件之上。
def create
puts 'params => ' + params
@book = Book.new(book_params)
答案 1 :(得分:0)
@Nani,你必须在你的日志中找到与此类似的东西:
Started POST "/books" for 127.0.0.1 at 2016-02-18 18:58:17 +0200
Processing by BooksController#create as JS
Parameters: {"utf8"=>"✓", "authenticity_token"=>"....", "book"=>{....}}
在这里,您需要检查控制器中是否需要正确的参数。