Я отображаю частичное представление smart_listing с параметрами localals:
smart_listing_render(:user_ldaproles, locals: {ldapuser: @ldapuser})
Локальный параметр ldapuser
работает для первой страницы, которая отображается.
Но когда я нажимаю на следующую страницу в smart_listing, локальный параметр ldapuser
равен nil
.
13:05:52 web.1 | Started GET "/ldapusers/kru0096?user_ldaproles_smart_listing%5Bpage%5D=2" for 10.0.1
13:27:09 web.1 | Rendered ldapusers/show.js.erb (1946.1ms)
13:27:09 web.1 | Completed 500 Internal Server Error in 1980ms (ActiveRecord: 4.2ms)
13:27:09 web.1 |
13:27:09 web.1 |
13:27:09 web.1 |
13:27:09 web.1 | NameError - undefined local variable or method `ldapuser' for #<#<Class:0x00007f4f6c
bb2638>:0x00007f4f6d4a5ab0>
13:27:09 web.1 | Did you mean? @ldapuser:
13:27:09 web.1 | app/views/ldapusers/_ldaproles.haml:24:in `block in _app_views_ldapusers__ldaprole
s_haml__4226213442704361194_69988992008260'
13:27:09 web.1 | app/views/ldapusers/_ldaproles.haml:10:in `_app_views_ldapusers__ldaproles_haml__4
226213442704361194_69988992008260'
13:27:09 web.1 | app/views/ldapusers/show.js.erb:2:in `_app_views_ldapusers_show_js_erb__8937577382
81268117_69989556369100'
Я мог бы использовать глобальный параметр @ldapuser
, но gem rails_best_practicies
это не нравится.
Как я могу получить локальные параметры, переданные в smart_listing_render
, чтобы сохранить их значение при переходе на следующую страницу?
Edit:
app/views/ldapusers/show.js.erb:
<%= smart_listing_update :user_ldaproles %>