сфера в рубине / синатре - PullRequest
       14

сфера в рубине / синатре

1 голос
/ 18 декабря 2009

Я пытаюсь идентифицировать идентификационный номер пользователя, чтобы извлечь строку Student из таблицы ActiveRecord, но по какой-то причине блок 'post' не найдет мой: id.

Для 'get' URL-адрес является localhost: 9456 / update / 17. Именно эти 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

спасибо!

1 Ответ

5 голосов
/ 18 декабря 2009

Вы действительно передаете id назад? Вы отправляете форму через POST? Если это так, все, что вам нужно сделать, это добавить вход с атрибутом name id.

<form action='/student/update' method='post'>
  <input type='hidden' name='id' value='17' />
</form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...