Ruby on Rails - отправка данных формы непосредственно в переменную сеанса - PullRequest
3 голосов
/ 13 февраля 2012

Я потратил часы, пытаясь найти ресурс, который объясняет процесс отправки данных формы непосредственно в переменную сеанса, но мне не повезло найти что-либо!

По сути, я не хочу хранить данные в базе данных, когда пользователь отправляет данные в этой конкретной форме, я просто хочу, чтобы они присваивались переменной session[:member_pin], когда пользователь отправляет форму, поэтому я могу проверить, введенный ими контакт соответствует контакту в записи базы данных участников.

Пожалуйста, дайте мне знать, если вам нужно больше разъяснений по поводу того, что я пытаюсь сделать, и большое спасибо за вашу помощь!

Ответы [ 2 ]

4 голосов
/ 13 февраля 2012

Вам не нужно сохранять данные в базу данных каждый раз при отправке формы.В действии вашего контроллера получите нужные параметры и сохраните их в сеансе.Например,

def some_action
  session[:user_id] = User.find_by_pin(params[:pin]) if params[:pin]
end

Затем в вашем контроллере приложения создайте вспомогательный метод, подобный этому.Тогда вы сможете получить доступ к методу current_user в своих представлениях.(Это будет ноль, если вы не получили ни одного пользователя, проверенного с помощью пинов.

def current_user
  User.find(session[:user_id]) if session[:user_id].present?
end
0 голосов
/ 13 февраля 2012

может быть что-то вроде этого в вашем методе контроллера:

session[:member_pin] = params[:member_pin_input_name]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...