ruby sinatra中的补丁方法
我正在使用sinatra和activerecord编写一个web应用程序,但我无法找出我的代码中的错误…如果你能检查它并指导我完成它,那就太棒了!!所有模型都已链接,但我无法将某些书籍的信息更新到数据库中 RUBY SINATRA代码:ruby sinatra中的补丁方法,ruby,sinatra-activerecord,Ruby,Sinatra Activerecord,我正在使用sinatra和activerecord编写一个web应用程序,但我无法找出我的代码中的错误…如果你能检查它并指导我完成它,那就太棒了!!所有模型都已链接,但我无法将某些书籍的信息更新到数据库中 RUBY SINATRA代码: get '/info/:isbn/edit' do @book = Book.find_by(isbn: params[:isbn]) erb :edit end patch '/info/:isbn' d
get '/info/:isbn/edit' do
@book = Book.find_by(isbn: params[:isbn])
erb :edit
end
patch '/info/:isbn' do
book = Book.find_by(isbn: params[:isbn])
book.title = params[:title]
book.page_count = params[:number_pages]
book.category = params[:category]
book.save
redirect to "/info/#{ params[:isbn] }"
end
雇员再培训局网页
<form action="/info/<%= @book_isbn%>/edit" method="post">
<input type="hidden" value="patch" name="_method">
<label for="">Title</label>
<input type="text" name="title" value="<%= @book_title %>">
</form>
标题
您将表单发送到错误的URL:
<form action="/info/<%= @book_isbn%>/edit" method="post">
URL应为
/info/
您将表单发送到错误的URL:
<form action="/info/<%= @book_isbn%>/edit" method="post">
URL应该是
/info/
检查以确保控制器将:method\u override设置为true
set :method_override, true
没有它,Sinatra将不知道如何处理
input type=“hidden”value=“patch”name=“\u method”
检查以确保控制器将:method\u override设置为true
set :method_override, true
没有它,Sinatra将不知道如何处理
input type=“hidden”value=“patch”name=“\u method”
,谢谢..但它一直给我相同的错误,只是现在它用实际的数字替换:isbn…问题是:即使我试图指定另一条路径,也可以说“get'/info/edit/:isbn'do”(也为补丁更改它)服务器的回答是“sinatra不知道这首小曲,试试这个:get'/info/3821284293/edit'do”…但我的路径不同!!!!尝试重新启动服务器..但没有..@Uzbekjon感谢..但它一直给我相同的错误,只是现在它用实际数字替换:isbn…问题是:即使我尝试指定另一个路径,让我们说“get'/info/edit/:isbn'do”(也为补丁更改它)服务器的答案是“sinatra不知道这首小曲,试试这个:get'/info/3821284293/edit'do.”。但我的路径不同!!!!尝试重新启动服务器..但没有..@Uzbekjon