【问题标题】:Rails 3 and MetaSearchRails 3 和元搜索
【发布时间】:2011-07-06 16:06:31
【问题描述】:

我正在尝试在我的应用程序中实现 meta_search gem,以过滤帐单表中的各个字段:

  class PeriodBillingsController < ApplicationController
    def index
      @sla = Sla.find(params[:sla_id])
      @search = PeriodBilling.latest_billing.search(params[:search])
      @period_billings = @search.order("we_date desc").where("sla_id = ?", @sla.id)
    end
  end

还有观点:

  <%= form_for @search do |f| %>
    <%= f.label :pe_number_eq, "Period #" %>
    <%= select("period_billing", "pe_number", (1..12), {:include_blank => true}) %>
    <%= f.label :appcode_eq, "Appcode" %>
    <%= collection_select( "period_billing", "appcode_id", Appcode.where("sla_id = ?", @sla.id), :id, :appcode, :include_blank => true ) %>
    <%= f.label :dpc_employee_eq, "Named Resource" %>
    <%= collection_select( "period_billing", "dpc_employee_id", DpcEmployee.all, :id, :fullname, :include_blank => true ) %>
  <%= f.submit "Filter Records" %>
  <% end %>

当我单击以选择其中一个过滤器时,出现错误:

找不到没有 ID 的 Sla。

我假设这是因为我的 @sla.id 参数没有被带到 @search,但我不知道我做错了什么。请帮助一个为此苦苦挣扎的贫穷、过度劳累的女孩。 ;)

提前感谢您的任何建议。

【问题讨论】:

    标签: ruby-on-rails-3 meta-search


    【解决方案1】:

    这一行

    @sla = Sla.find(params[:sla_id])

    应该是这样的

    @search = Sla.serch(params[:search])

    因为我假设您正在使用索引操作来显示 sla 的所有记录

    但在显示您正在使用 params:id

    @sla = Sla.find(params[:id])

    可能是响应较晚,但可能有人会遇到同样的问题。

    【讨论】:

      【解决方案2】:

      我认为在调用 index 时它相当缺少 :sla_id 参数。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-03-24
        • 2013-09-14
        • 1970-01-01
        • 2011-07-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多