Я не очень уверен в Rails, но недавно начал добавлять пользовательские переменные сеанса для хранения некоторых данных, таких как идентификаторы. Я пытаюсь установить идентификатор вызова для недавно созданного значения, но продолжаю получать ошибку.Невозможно добавить переменную сеанса - ActiveModel :: MissingAttributeError
Код:
callid = Call.createCall(sessionid,tp_cd)
session[:callid] = callid
Это точно такая же вещь работает и в других действиях в том же контроллере, но здесь я получаю:
ActiveModel::MissingAttributeError (can't write unknown attribute `callid`)
Я просто называя это действие с вызовом POST в порядке для управления некоторыми данными и установки этой переменной сеанса, которая будет использоваться позже. Должно быть что-то фундаментальное, что мне не хватает о том, как работают переменные сеанса. Есть ли что-то очевидное, что может вызвать эту ошибку?
Попробуйте делать 'request.session [: CallID] = callid', чтобы увидеть, если что-то мешает вашей сессии. – Iceman
Hey Iceman, используя request.session [: callid] Мне удалось заставить его работать, не зная, как это отличается от обычного, но теперь все работает. – suppp111
Это по-другому, потому что если вы используете только 'session', Rails ищет модель под названием' Session', а не 'Session', которая является частью цикла запросов. Надеюсь, я не слишком тебя смущаю. – Iceman