以form_tag形式使用jquery_datepicker

时间:2013-10-29 22:20:11

标签: jquery ruby-on-rails datepicker

我正在尝试使用jquery_datepicker gem实现rails 3.1 datepicker - 我想提供指定可在各种视图中使用的日期范围(即开始和结束日期)的功能。所以我构建了一个部分

应用程序/视图/共享/ _date_range_form_content.html.erb

<div class='date_range'>
<%= form_tag "#{route}/#{id}" do %>
  <%= label_tag "Start Date" %>
  <%= datepicker_input nil, "start_date" %>
  <%= label_tag "End Date" %>
  <%= datepicker_input nil, "end_date" %>
  <%= submit_tag 'Go' %>
<% end %>
</div>

我正在使用form_tag,因此我可以传递路径(即表单将被定向到的控制器) - 这使我能够在多个位置使用此部分。

我面临的问题是使用datepicker_input。 jquery_datepicker提供了一个form_for类型的方法 - 但在这里我使用的是form_tag。因此Chrome的DevTools窗口显示Uncaught TypeError: Object [object Object] has no method 'datepicker'

我做错了什么?我如何将datepicker放入这种形式?

提前致谢

史蒂夫

1 个答案:

答案 0 :(得分:0)

在自述文件中,您可以看到:

  

将此添加到您的视图中。

     

<%= datepicker_input "user","birthday" %>

     

其中“user”是您的型号名称,“birthday”是其名称   的DateField。

因此不需要form_for

datepicker_input帮助者:

def datepicker_input(object_name, method, options = {})
  datepicker(object_name, method, options)
end

我认为问题在于您将nil作为第一个参数(object_name)传递。尝试传递“有效”对象而不是nil来调试问题。