ruby on rails form_for

时间:2009-08-17 17:57:14

标签: ruby-on-rails ruby

我在视图中有一个calendar_date_select,其中显示了一个列出某个手机上所有信息的表格。我想添加一个To:和From:日期范围,用户可以在该范围内选择并更新视图中的表。结构是这样的:

使用控制器
使用控制器中的详细操作,显示来自某个电话的呼叫历史记录 内部细节我希望To和from字段带有刷新按钮。

此代码中究竟发生了什么:

<% form_for :date_range do |f| %>
    <%= f.calendar_date_select :start, :time => true  %>
    <%= f.calendar_date_select :end, :time => true  %>
    <%= f.submit "Submit" %>
<% end %>

这是否将哈希值传递给使用率控制器并查找date_range方法?我目前的路线看起来像这样

usage/detail/id-of-phone

我希望它看起来像这样:

usage/detail/id-of-phone#start-end

所以我可以(我认为)只用params [:start]和params [:end]从params中提取开始和结束日期。我这样做是对的,还是有更好的方法来获得我想要的结果。

2 个答案:

答案 0 :(得分:2)

我没有使用calendar_date_select插件,但您应该已经恢复了参数。

params[:date_range][:start]
params[:date_range][:end]

答案 1 :(得分:0)

你想要的是获取参数的网址或智能解决方案? 请为网址设置routes.rb。或者你可以在'DataRange'模型中制作很多方法。

正如许多程序员使用的那样,在模型中保存了很多日期。但让我们变得可怕的是巧妙地使用params。 如

class Model
  def start
      ......
  end

  def end
      ......
  end
end

如果您通过表格传递参数,则无法通过参数[:start]获取参数。您可以看到表单的html以获取详细信息。

请使用

params[:...][:start]