无法在rails方法条件语句中使用JSON字符串

时间:2015-02-13 11:57:27

标签: jquery ruby-on-rails ruby-on-rails-3 datepicker params

我在rails 3前端控制器方法中遇到问题。我正在构建一个应用程序,通过使用jquery datepicker插件选择的注册日期来查询汽车数据库。除了比较我的datepicker日期字符串和rails方法中的mysql2数据库内容之外,我得到了大部分工作。如果我对字符串进行硬编码,则查询有效,但如果我传递了从datepicker表单收到的变量,则查询无效。

_search_by_date_results.html.erb

<script type="text/javascript"> $(function() {
$("#datepicker").datepicker();
$("#datepicker").change(function() {
    var date = $(this).datepicker("getDate");
    date = jQuery.trim(date).substring(0, 10);
    $("#placeholder").text(date);

  $.ajax({
    url : "/search_by_date",
    type : "post",
    data : { date_value: date }
});

}); });

表格:

<div class="pagetitle_search">
   <p>Date: <br><br><input type="text" id="datepicker"/></p>
   <%= form_tag url_for(:action => "search_by_date"), :remote => true do %>
</div>
<div class="pagetitle_search"><%= submit_tag 'search' %>
</div>

front_controller.rb

def search_by_date 
    date = params[:date_value]
    @vehicle_types = VehicleType.find(:all, :conditions => ["commercialdate Like ?", date])
    render "_search_by_date_results.html.erb"
    end
end

在我的控制台中,我首先收到:

参数:{&#34; date_value&#34; =&gt;&#34; Thu Feb 05&#34;} 但没有输出到视图

当我按下搜索按钮时,我得到:    SELECT ... WHERE(commercialdate LIKE NULL)

知道我可能做错了吗?

0 个答案:

没有答案