Запись в список и отображение лучших практик - PullRequest
0 голосов
/ 08 февраля 2010

У меня есть приложение, в котором, когда пользователи регистрируются, они выбирают день недели, который они хотели бы описать. У каждого пользователя есть mondaysub, tuesdaysub и т. Д. (Все строки) для хранения информации о том, должны ли они получать электронную почту в эти дни. По ряду других причин мне нужно сохранить его так, чтобы в каждом столбце отмечалось f или t для подписки на каждый день или нет.

В настоящее время у меня есть:

<% form_for @user do |f| %>

<h3>Please select the days you would like to recieve a trailer!</h3>
 <%= f.check_box :mondaysub, {}, "t", "f" %> <label>Monday</label>
 <%= f.check_box :tuesdaysub, {}, "t", "f" %> <label>Tuesday</label>
 <%= f.check_box :wednesdaysub, {}, "t", "f" %> <label>Wednesday</label>
 <%= f.check_box :thursdaysub, {}, "t", "f" %> <label>Thursday</label>
 <%= f.check_box :fridaysub, {}, "t", "f" %> <label>Friday</label><br>
 <%= f.check_box :saturdaysub, {}, "t", "f" %> <label>Saturday</label>
 <%= f.check_box :sundaysub, {}, "t", "f" %> <label>Sunday</label><br>
  <p><%= f.submit "Subscribe Me!" %></p>
<% end %>

У меня вопрос ... есть ли лучший способ позволить пользователям выбирать, в какие дни недели они хотят получать почту (удобнее для пользователя, чем проверять отдельные ящики), но я все еще храню данные так, как мне нужно к. Кроме того, я хотел бы, чтобы пользователи увидели, на что они подписаны, когда вернутся к редактированию.

Спасибо!

Ответы [ 3 ]

1 голос
/ 08 февраля 2010

Прежде всего, вы должны сделать это:

<%= f.check_box :something %>    
<%= f.label :something %>

Это свяжет метку и флажок

Что касается пользовательского интерфейса, вы должны оставить флажки, но выложите их красиво, чтобы не было большой формы.

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

1 голос
/ 09 февраля 2010

Для очистки вашей формы вы можете сделать:

<% %w{monday tuesday wednesday thursday friday saturday sunday}.each do |day| %>
  <%= f.checkbox "#{day}sub".to_sym, {}, "t", "f"%>
  <label><%= day.camelcase %></label>
<% end %>

Что касается представления этого в пользовательском интерфейсе:

Я бы порекомендовал сохранить идею о флажках, так как они включаются / выключаются. Вы можете стилизовать их так, как вам хочется, вы даже можете использовать что-то вроде jQuery, чтобы (при загрузке страницы) скрывать флажки и отображать более удобный пользовательский интерфейс, который просто устанавливает / снимает флажки в фоновом режиме.

Кроме того, вы должны подумать о том, существуют ли определенные значения по умолчанию, которые удовлетворяют большинству потребностей ваших пользователей. Например, если большинство пользователей захотят mon-fri, вы можете выбрать их при загрузке страницы, оставив только небольшие пользовательские настройки, необходимые для выполнения.

1 голос
/ 08 февраля 2010

Как насчет:

Пожалуйста, выберите день, в который вы хотели бы получать трейлеры: | DROPDOWN | | ДОБАВИТЬ КНОПКУ |

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