2013-09-23 2 views
0

В моем шоу зрения «высвобождает» У меня есть следующий код:Rails/дизайн выпуск массива

<% i = @release.id %> 
<%= link_to image_tag('next.png'), release_path(i+1), :class => "editRelease" %> 

Который берет пользователь к следующему результату в таблице релизов.

Я надеюсь показать эту кнопку «next» только в том случае, если элемент существует в массиве, значение id которого больше, чем текущая версия.

С радостью перезапишите этот раздел кода вида/места в модели, контроллере, определении помощника. Просто пытаясь узнать правильный путь рельсов для решения этой проблемы!

Спасибо!

+0

Определить «следующий»; Иды не обязательно должны быть строго последовательными. –

ответ

0

Записи могут быть удалены, оставляя пробелы в вашем диапазоне идентификаторов, как таковые, с использованием прямого id+1 может указывать на нулевую запись.

Вместо этого вы должны определить метод next в своей модели, который безопасно возвращает следующий объект. Если у вас нет заказов, вы можете использовать такой запрос, как one posted in this answer.

+0

Отлично. Спасибо за указание на это! – user2806712

+0

Единственная проблема, с которой я вижу связанное решение, состоит в том, что он делает три вызова на сервер ... Есть ли способ уменьшить это в один звонок? – user2806712

Смежные вопросы