То есть пользователь щелкает какие-то вещи или отправляет что-то, а li показывает / скрывает?
Затем они покидают сайт, может, придут завтра или позже?
Я бы установил cookie, который содержит строку элементов li, которые должны быть скрыты.
У меня была бы функция jquery, которой я могу передать эту строку. В теле моего сайта у меня было бы что-то вроде (псевдокод)
if cookie exists {
// echo function in the body tag
echo 'onload="hideItems(' . $_COOKIE['hiddenItems'] . ')";
// so if there's a cookie they'll wind up having code that looks like this
// <body onload="hideItems(12-23-34-52);">
}
Вы хотели бы, чтобы функция javascript анализировала эти числа, а затем скрывала те, которые должны быть скрыты.
function hideItems(string) {
var partsArray = string.split('-');
// this'll put all your list items in an array
// e.g partsArray[0] == 12 and partsArray[1] == 23
// now with all the items in an array, you should be able to go through and hide any list items that match the values
// e.g
for (i=0; i< {partsArray}.length; i++) {
// jquery hide the list items
$('#listItem'+partsArray[$i]).hide();
}
}
Я полагаю, что тогда элементы вашего списка должны быть в таком формате:
<ul>
<li id="listItem12"></li>
<li id="listItem23"></li>
</ul>
Так что я думаю, вот как бы вы сделали это с помощью JavaScript.
Конечно, вы могли бы просто сделать это на стороне сервера, хотя перед загрузкой javascript и анализировать этот cookie на ruby. Если в элементе cookie содержится номер элемента списка, отобразите скрытый класс в элементе списка. Простой.
Я не знаю ruby, поэтому отредактированный код cookie основан на php lingo.
Желаем удачи. Надеюсь, это поможет.