我正在尝试识别用户ID号,从ActiveRecord表中获取学生行,但由于某种原因,“post”块将找不到我的:id。
对于'get',网址为localhost:9456 / update / 17。这是我需要传递到'post'块来更新数据库。
我不知道该怎么做。解析URL?好像我错过了一些明显的东西。
# update user page
get '/update/:id' do
@student = Student.find(params[:id]) #this returns ID=17
erb :update
end
#update user submit
post '/update' do
@student = Student.find(params[:id]) #this line doesn't work
@student.name = (params[:name])
@student.email = (params[:email])
@student.save
redirect '/'
end
谢谢!
答案 0 :(得分:5)
你实际上正在通过id
吗?您是通过POST
提交表单吗?如果是这样,您需要做的就是添加name
属性为id
的输入。
<form action='/student/update' method='post'>
<input type='hidden' name='id' value='17' />
</form>