Ruby on rails 列出输入和显示最佳实践

Ruby on rails 列出输入和显示最佳实践,ruby-on-rails,Ruby On Rails,我有一个应用程序,当用户注册时,他们可以选择他们想要描述的一周中的哪一天。每个用户都有一个mondaysub、tuesdaysub等(所有字符串)来存储他们是否会在这些天收到电子邮件。由于其他一些原因,我需要保留它,以便在每一列中用f或t标记来指定每天订阅与否 目前我有: <% form_for @user do |f| %> <h3>Please select the days you would like to recieve a trailer!</h3&g

我有一个应用程序,当用户注册时,他们可以选择他们想要描述的一周中的哪一天。每个用户都有一个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 %>

请选择您希望接收预告片的日期!
星期一
星期二
星期三
星期四
星期五
星期六 星期日

我的问题是。。。是否有更好的方法允许用户选择一周中的哪几天接收邮件(比选中单个框更方便用户),但我仍然可以按需要的方式存储数据。另外,我希望用户在返回编辑时看到他们订阅了什么

谢谢

做以下事情怎么样:

请选择您希望接收预告片的日期:|下拉菜单| |添加按钮|

如何操作:


请选择您希望接收预告片的日期:|下拉菜单| |添加按钮|

首先,您应该执行以下操作:

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

这将关联标签和复选框

关于UI,你应该保留复选框,但是要把它们很好地布置好,这样就不会觉得它是一个大表单


要做到这一点,padding是你的朋友。此外,还可以添加一些悬停状态和图像,这样您就可以开始了:)

首先,您应该执行以下操作:

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

这将关联标签和复选框

关于UI,你应该保留复选框,但是要把它们很好地布置好,这样就不会觉得它是一个大表单


要做到这一点,padding是你的朋友。此外,还可以添加一些悬停状态和图像,这样您就可以开始了:)

要清理表单,您可以执行以下操作:

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

关于如何在UI中显示此内容:

我建议保持复选框的想法,因为它们会打开/关闭。您可以根据需要对它们进行样式设置,甚至可以使用jQuery之类的工具(在页面加载时)隐藏复选框,并显示一个更友好的UI,该UI只需在后台选中/取消选中复选框


此外,您还应该考虑是否存在满足大多数用户需求的某些默认设置。例如,如果大多数用户想要周一至周五,您可以在页面加载时选择这些选项,只留下用户需要执行的小自定义设置。

要清理表单,您可以执行以下操作:

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

关于如何在UI中显示此内容:

我建议保持复选框的想法,因为它们会打开/关闭。您可以根据需要对它们进行样式设置,甚至可以使用jQuery之类的工具(在页面加载时)隐藏复选框,并显示一个更友好的UI,该UI只需在后台选中/取消选中复选框


此外,您还应该考虑是否存在满足大多数用户需求的某些默认设置。例如,如果大多数用户想要周一到周五,您可以在页面加载时选择这些选项,只留下用户需要执行的小定制。

我认为复选框比这更方便用户。另外,将
for
属性添加到标签中,以便用户也可以单击文本。感谢您的提示。是的,我喜欢复选框,但我觉得有更好的方法。。。就像它们都列在一行中,你可以选择多个。我认为复选框比这个更方便用户。另外,将
for
属性添加到标签中,以便用户也可以单击文本。感谢您的提示。是的,我喜欢复选框,但我觉得有更好的方法。。。喜欢他们都列在一行,你可以选择其中的多个。完美,谢谢你。。。这是有道理的,我会花更多的时间与CSS!太好了,谢谢你。。。这是有道理的,我会花更多的时间与CSS!很好的建议。这会让它更干净,我喜欢预设的想法;我一定会和我的用户一起尝试。谢谢很好的建议。这会让它更干净,我喜欢预设的想法;我一定会和我的用户一起尝试。谢谢