У меня есть большой объект активной записи данных, информацию которого я фильтрую на основе того, что пользователь нажимает на странице, затем я отображаю эти отфильтрованные данные пользователю. Мне было интересно, где лучше всего разместить логику фильтрации данных. Прямо сейчас я выполняю фильтрацию в действии контроллера рельсов, так что в представлении мне нужно только сказать что-то вроде
<script>
var filtered_data = <%= raw @filtered_data %>
alert('first piece of data is: '+filtered_data[0])
var filtered_names = <%= raw @filtered_names %>
</script>
и другие подобные переменные.
или, я подумывал о том, чтобы передать целые @ данные, например:
<script>
var data = <%= data.to_json.html_safe %>
var filtered_data = **some js logic to filter data var**
var filtered_names = **more js logic to filter for names, maybe using the jquery .map function, etc **
</script>
какой способ лучше для производительности? Я бы подумал, что JS на стороне клиента лучше, но, вероятно, он больше не на стороне клиента, поскольку это .js.erb? Или еще немного поможет логика в js.erb?
Спасибо за понимание!