Как реализовать переключатели для конкретного сценария в Rails - PullRequest
2 голосов
/ 07 июня 2011

Я искал вокруг, но не нашел ответа, но я также не уверен, какие термины искать, поэтому, если вы знаете какой-либо из них, укажите мне подобные вопросы.

Сценарий : У меня есть сообщения. У меня есть админская и публичная сторона. Я хочу, чтобы один пост отображался на первой странице публичной страницы.

На стороне администратора, на странице индекса сообщений, я хотел бы иметь возможность выбрать переключатель рядом с сообщением, которое я хочу отобразить на первой странице. Я думаю, мне понадобится форма, переключатели для каждой записи и кнопка обновления. Но это все, что я могу сделать самостоятельно.

Я изучил виртуальные атрибуты, но не думаю, что это то, что мне нужно, или это так? Какой хороший способ сделать то, что мне нужно?

Заранее всем спасибо.

1 Ответ

0 голосов
/ 08 июня 2011

Вы можете добавить «публичное» поле к вашей модели сообщений и получить к нему доступ через флажок в форме редактирования сообщения.В вашем контроллере при создании или обновлении проверьте, является ли открытое поле истинным; если да, то вам нужно будет выполнить что-то вроде Post.update_all (['public =?', False], ['id! =?', current_post_id]) для того, чтобы вернуть все существующие публичные посты обратно в приватные.

В качестве альтернативы вы можете создать простую модель для AppData (: id =>: integer,: key =>: string,: value=>: строка) и сохранить идентификатор текущей общедоступной записи в строке в этой таблице.Для простоты вы захотите сериализовать поле: value в вашей модели.В этом случае вы будете использовать только неприкрепленный checkbox_tag в своем представлении и захватить это значение из хэша params.Если этот флажок установлен, вам нужно обновить строку AppData новым идентификатором.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...