-1

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

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

4

3 回答 3

0

而不是下拉我建议你应该创建一个很酷的使用一些jquery plugin可以改善你的应用程序用户体验的东西,是的,创建一个 rails 表单并提交它,然后你就可以在你的控制器中获得信息。

现在您是否正在保存这些选定的时间,我认为您应该这样做然后创建一个模型(如果您还没有)并使用form_for其他您可以form_tag用于您的 Rails 应用程序。

访问这里并找到一些适合您需要的时间选择器。

于 2013-07-30T03:53:24.667 回答
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
于 2013-07-30T03:44:51.343 回答
0

您可以通过 http 查询字符串 ('get') 或表单数据 ('post') 将信息从视图传递到控制器。

对于这种情况,我会考虑多选下拉菜单。

于 2013-07-30T02:42:36.213 回答