将 JQuery 日期选择器数据传递到 Rails 控制器

2024-04-29

我是 Rails 和 JQuery 的新手,所以我会尽力解释这一点。我正在尝试将 JQuery 日期选择器值传递给我的 Rails 控制器。该页面上有数据,我希望用户能够根据日期范围进行过滤。关于这个主题有许多不同的帖子:

将变量从 jquery 传递到 Rails 控制器 https://stackoverflow.com/questions/11211433/passing-the-variables-from-from-jquery-to-rails-controller

如何将变量从 AJAX 表单传递到控制器? https://stackoverflow.com/questions/11842978/how-to-pass-variables-from-ajax-form-into-controller

我已尝试遵循这些帖子的指导,但仍然遇到问题。

这是我的部分_日期过滤器.html.erb =>

    <%= form_tag({:controller => 'events', :action => 'dateFilter', :class => 'date_form'}, :remote => true) do %>
    <%= datepicker_input "event", :start_date, :class => 'dateFilter', :dateFormat => 'mm/dd/y' %>
    <%= datepicker_input "event", :end_date, :class => 'dateFilter', :dateFormat => 'mm/dd/y' %>
    <%= submit_tag "Submit" %>
    <% end %> 

这是生成的HTML =>

    <form accept-charset="UTF-8" action="/events/dateFilter?class=date_form" data-remote="true" method="post">
    <input class="dateFilter" id="event_start_date" name="event[start_date]" size="30" type="text" /><script type="text/javascript">

   //<![CDATA[
   jQuery(document).ready(function(){jQuery('#event_start_date').datepicker({"dateFormat":"mm/dd/y"})});
   //]]>
   </script>

   <input class="dateFilter" id="event_end_date" name="event[end_date]" size="30" type="text" /><script type="text/javascript">

   //<![CDATA[
   jQuery(document).ready(function(){jQuery('#event_end_date').datepicker({"dateFormat":"mm/dd/y"})});
   //]]>
   </script>

   <input name="commit" type="submit" value="Submit" />
   </form>  

这里是日期过滤器.js.erb =>

$('.dateFilter').append('<%= escape_javascript(render(@events)) %>');

这里是事件控制器 =>

 def dateFilter
   @events = Event.find(:all, :conditions => ["EVENT_DATE_TIME_LOCAL BETWEEN ? AND ?", params[:start_date], params[:end_date]])

  respond_to do |format|
      format.html
      format.json { render json: @events }
      format.js
  end
end

最后是应用程序.js =>

$(document).ready(function() {

  $('#date_form').submit(function (){  

    $.ajax({
     type: 'POST',
     url: "/events/dateFilter", 
     beforeSend: function (xhr) {xhr.setRequestHeader("Accept", "text/javascript");},
     data: { 'start_date' : $("input[name='event[start_date]']").datepicker(), 'end_date' : $("input[name='event[end_date]']").datepicker()}
     success: function(data) { <%= render "events/dateFilter" %>}
    });

 });

This is log data从服务器=>

Started POST "/events/dateFilter?class=date_form" for 127.0.0.1 at 2012-12-12 15:09:39 -0500
Processing by EventsController#dateFilter as JS
  Parameters: {"utf8"=>"✓", "authenticity_token"=>"J/HU+DxNmIwEhu3keN071k6MGCCD/n/1UhXUD0MkH1Q=", "event"=>{"start_date"=>"12/06/12", "end_date"=>"12/13/12"}, "commit"=>"Submit", "class"=>"date_form"}
  Event Load (1.7ms)  SELECT "TBLEVENT".* FROM "TBLEVENT" WHERE (EVENT_DATE_TIME_LOCAL BETWEEN NULL AND NULL)
  Rendered collection (0.0ms)
  Rendered events/dateFilter.js.erb (0.3ms)
Completed 200 OK in 8ms (Views: 3.4ms | ActiveRecord: 1.7ms)

问题之一是我尝试传递的数据值始终为“NULL”。我什至不确定我是否正确地处理了这个问题,对此的任何帮助/反馈将不胜感激。谢谢。


从您的日志数据来看,这是在Parameters:

"event"=>{"start_date"=>"12/06/12", "end_date"=>"12/13/12"}

意思是start_date and end_date位于一个名为的哈希中event,所以你的控制器应该如下所示:

def dateFilter
    eventIn = params[:event]
    @events = Event.find(:all, :conditions => ["EVENT_DATE_TIME_LOCAL BETWEEN ? AND ?", eventIn[:start_date], eventIn[:end_date]])

    respond_to do |format|
       format.html
       format.json { render json: @events }
       format.js
    end
end

还有一件小事——form_tag class应该这样设置:

<%= form_tag({:controller => 'events', :action => 'dateFilter'}, :class => 'date_form', :remote => true) do %>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 JQuery 日期选择器数据传递到 Rails 控制器 的相关文章

随机推荐

  • 我应该在我的网站的什么位置添加他人作品的版权声明? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我的网站包含 1 FancyBox 用于图像叠加 2 GalleryView 滑块 并且都使用 JQuery 它们都可以免费使用 但它们坚
  • 创建 Android 智能应用横幅

    Android 设备有类似 iOS 6 智能应用横幅的解决方案吗 这是智能应用横幅的代码 从 Chrome 44 Beta 开始 您可以在 Android 版 Chrome 中推送您的应用程序 您网站上的本机应用程序安装横幅 请看下面的答案
  • 像程序一样执行快捷方式

    示例 你有一条捷径s to SomeProgram在当前目录中 In cmd exe 您可以输入s它将启动该程序 在 PowerShell 中 输入s gives The term s is not recognized as a cmdl
  • 为什么 DropDownList.SelectedIndexChanged 事件不触发?

    我有一个绑定到 ObjectDataSource 的 DropDown 在其数据绑定事件中 我在 0 索引上添加 select 值 我在页面上有一个 LinkBut ton 在其客户端单击时 我在下拉列表中选择不同的项目 使用 JavaSc
  • 附加的新行的行为与前一行(行)不同

    我有一个 HTML 表格 里面有几个td as input字段 我的表格是动态的 当页面加载时 我将附加表格的第一行并且focus在第一个输入字段中 就我而言 即Item Name 我的行中有 3 个输入字段 它们是Item Name Un
  • 这是 Firefox 中的错误还是 chrome 主动修复了我做错的事情?

    当麦克风的信号超过设定的阈值时 下面的代码只是将一个框变成红色 它在 Linux 上的 chromium 和 Windows 上的 chrome 上快乐地运行一整天 它在两个平台上的 Firefox 上也运行良好 大约 15 秒 当它在 F
  • Drupal 6 和 7 从标头中取消设置 Javascript

    编辑 我的问题适用于 Drupal 6 和 7 尽管我的代码示例是 Drupal 6 人们提供的答案对于 Drupal 的两个版本都很有用 我目前正在 Drupal 中为 Drupal 6 网站创建移动主题 并尝试通过以下方式删除所有不必要
  • jquery - 不是函数错误

    这是我的代码 function fn pluginbutton function options myoptions extend left true return this each function var focus false if
  • 当服务器仅从请求中读取标头时,Http 客户端未收到响应

    我在 Java 中搞乱了 HTTP 和套接字 希望你能对此有所了解 当我用 Java SE 11 编写的 HTTP 服务器没有读取整个请求然后响应时 客户端不会收到它或收到错误 这是为什么 在服务器读取整个请求之前 客户端是否无法读取响应
  • 如何生成可可靠扫描的小型、高密度线性条形码?

    我正在努力将 POS 系统集成到我的网站 所以我想生成条形码 我使用 SKU 作为数据字段来编码甲酸盐是XXXXX XXX XXX XXX X 是从 0 到 9 的数字 所以经过研究 我发现代码 128 是最好的纠正我的方法 如果我错了 尺
  • 如何在类的参数中保留对另一个对象的引用

    我刚开始学习Apple Swift语言 无法理解 如何在类的参数中保留对另一个对象的引用 List my custom class class RecordsList NSObject var listObj List init inout
  • 如何使用 JavaScript 动态更改 Highcharts 中的数据点

    我正在尝试改变现有系列中的一个点 通过查看 API 我一直在尝试以下操作 chart series 0 data 0 y 43 chart redraw 我确信我错过了一些简单的东西 但我无法弄清楚 感谢您的帮助 您不能只设置该值 Char
  • AngularJS - 加载时触发表单验证

    我在表单中添加了 required 和 pattern 等字段验证属性 并且该表单位于 ng controller 内 验证有效 但似乎验证是在页面加载时触发的 并且我看到页面加载时所有字段都被标记为无效并带有错误消息 我尝试将 novav
  • 从 Java 监听系统鼠标点击

    我的主要目的是计算特定应用程序上的鼠标点击次数 想象一下 我在 PC 上打开了 Microsoft Word 和 Web 浏览器 我的 Java 代码应该告诉我单击 Word 和 Web 浏览器的次数 我需要应用程序名称和点击次数 我怎样才
  • 将公式应用于一列中的所有单元格,而不是一次只应用于一个单元格?

    在 OpenOffice org Calc 中 我想将公式应用于引用同一行但不同列中的单元格的列 IE C1 48在单元格 D1 中 但我希望 D 列中的所有单元格都执行此操作 而无需手动将公式复制到每个单元格 或者换句话说 对于 C 中具
  • TypeError:PyQt4.QtCore.QVariantAnimation 表示 C++ 抽象类,无法实例化

    我有这个 PyQt5 片段 我正在尝试将其转换为 PyQt4 PyQt5 版本运行得很好 但是当我尝试转换为 PyQt4 时 出现此错误 我删除了QtWidgets但我仍然收到此错误 我也尝试过实例化self animation QtCor
  • WAR 文件在 Tomcat 服务器中抛出 OutOfMemoryError

    我有一个 Spring MVC WAR 文件 可以在我的本地计算机 程序和网站 中完美运行 一旦我将文件上传到服务器 aTomcat 7 并尝试访问它 catalina 日志文件表明java lang OutOfMemoryError 我尝
  • 将每分钟的 MP3 导出为单独的 WAV

    这绝对是一个奇怪的问题 但我正在寻找一种方法 将 60 分钟的 mp3 混合拆分为 60 个单独的 1 分钟长的 wav 文件 以便与 Echonest 等音频指纹识别 API 一起使用 这是否可以在单个 ffmpeg 命令中实现 或者我是
  • 对于 ASP.NET 中的大型网站,推荐的解决方案结构是什么

    我目前正在尝试重构一个根本没有任何分离的项目 asp net mvc 只是文件夹 s 该项目有一堆 EF Code First 类 People cs Exam cs Message cs等 该项目有几个存储库 都使用 EF Data 语境
  • 将 JQuery 日期选择器数据传递到 Rails 控制器

    我是 Rails 和 JQuery 的新手 所以我会尽力解释这一点 我正在尝试将 JQuery 日期选择器值传递给我的 Rails 控制器 该页面上有数据 我希望用户能够根据日期范围进行过滤 关于这个主题有许多不同的帖子 将变量从 jque