我是这样写的:
def create
@new_book = NewBook.create ([
{
:bookname => params[:new_book][:bookname] ,
:author => params[:new_book][:author] ,
:isbn => params[:new_book][:isbn]
} , {
:bookname => "EJB 3.0" ,
:author => "youndtang" ,
:isbn => "978-7-121-02776-6"
}
])
respond_to do |format|
if @new_book
flash[:notice] = 'NewBook was successfully created.'
format.html { redirect_to(@new_book) }
format.xml { render :xml => @new_book, :status => :created, :location => @new_book }
else
format.html { render :action => "new" }
format.xml { render :xml => @new_book.errors, :status => :unprocessable_entity }
end
end
end
添加新数据,提交时弹出此错误,但是数据库中2条数据却加进去了,这是为什么??
检查你的redirect,跳转到new_book_new_book_url有问题
@new_book是一个Array,传给redirect_to后,就生成了new_book_new_book_url这个url。也许你想传别的参数给redirect_to,而不是给它一个Array。