将列表从视图传递到控制器?

时间:2013-07-30 02:26:18

标签: ruby-on-rails ruby rest model-view-controller

我是一个相对较新的Rails开发人员,具有沉重的Java / C#背景,我正在尝试将多个时间范围从我的视图传递到我的控制器。例如,用户可以选择上午9:00到11:00以及下午2:00到下午4:00的时间范围。想到的第一件事是一个时间列表或键值对列表,以便我知道时间范围的开始和结束。我无法弄清楚如何将这些信息传递给我的Rails控制器。

是否有理想的Rails方式将列表传递给控制器​​?

3 个答案:

答案 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并找到适合您需要的时间选择器。

相关问题