Rails 3 и MetaSearch - PullRequest
       30

Rails 3 и MetaSearch

1 голос
/ 06 июля 2011

Я пытаюсь внедрить гем meta_search в свое приложение для фильтрации различных полей в таблице счетов:

  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 %>

Когда я нажимаю навыберите один из фильтров, я получаю сообщение об ошибке:

Не могу найти Sla без идентификатора.

Я предполагаю, что это потому, что мой @ sla.idparam не переносится на @search, но я не знаю, что я делаю неправильно.Пожалуйста, помогите бедной, перегруженной работой девушке, которая борется с этим.;)

Заранее благодарим за любые советы.

Ответы [ 2 ]

0 голосов
/ 12 октября 2011

эта строка

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

должен был выглядеть как

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

потому что я предполагаю, что вы используете действие index для отображения всех записей из sla

но в шоу вы используете с параметрами: id

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

возможно, это поздний ответ, но, возможно, у кого-то возникнет та же проблема.

0 голосов
/ 17 августа 2011

Я считаю, что это скорее отсутствует: параметр sla_id при вызове индекса.

...