我在视图中有一个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中提取开始和结束日期。我这样做是对的,还是有更好的方法来获得我想要的结果。
答案 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]