我是一个相对较新的Rails开发人员,具有沉重的Java / C#背景,我正在尝试将多个时间范围从我的视图传递到我的控制器。例如,用户可以选择上午9:00到11:00以及下午2:00到下午4:00的时间范围。想到的第一件事是一个时间列表或键值对列表,以便我知道时间范围的开始和结束。我无法弄清楚如何将这些信息传递给我的Rails控制器。
是否有理想的Rails方式将列表传递给控制器?
答案 0 :(得分:0)
您通过http查询字符串('get')或表单数据('post')将信息从视图传递到控制器。
对于这种情况,我会考虑多选下拉列表。
答案 1 :(得分:0)
来自Rails指南http://guides.rubyonrails.org/action_controller_overview.html
请求 GET / mytime?t [] = 1& t [] = 2& t [] = 3
在视图中
<form method="GET" action="mytime">
<select multiple name="t[]">
<option value="1">1:00pm</option>
<option value="2">2:00pm</option>
<option value="3">3:00pm</option>
</select>
</form>
或
<form method="GET" action="mytime">
<input type="text" name="t[]">
<input type="hidden" name="t[]" value="11">
</form>
#in mytime_controller.rb
def index
params[:t] # return Array of values
end
答案 2 :(得分:0)
我建议您应该使用一些jquery plugin
来改善应用程序的用户体验并创建一个rails表单并提交,然后您可以在控制器中获取信息,而不是下拉。
现在您要保存这些选定的时间,我认为您应该这样做,然后创建一个模型(如果您还没有)并使用form_for
否则您可以使用form_tag
作为您的rails应用程序。< / p>
Visit Here并找到适合您需要的时间选择器。