Я думаю, что вы звоните render
неправильно.Из тонкого руководства :
Если хэш опций не передан или не указан :update
, по умолчанию визуализируется частичное и используется второй параметр в качестве хэша локальных данных.
Таким образом, вы заканчиваете тем, что спускаетесь по этой ветви в источнике:
view_renderer.render_partial(self, :partial => options, :locals => locals)
, и это делает ваш вызов таким же, как это:
render :partial => 'users/new_user_form', :locals => { :locals => { :role => 'Celebrant } }
Обратите внимание надополнительный уровень вложенности для :locals
.Попробуйте это:
render 'users/new_user_form', { :role => 'Celebrant' }
Я смотрю (и использую) 3.1, чтобы ваша версия могла немного отличаться.