searchlogic - ищет attr_accessor - PullRequest
       20

searchlogic - ищет attr_accessor

0 голосов
/ 14 марта 2012

У меня есть таблица symbols, которая содержит столбцы: id and symbol_name, где id - первичный ключ этой таблицы

В моей модели Symbol у меня есть

class Symbol < ActiveRecord::Base

def symbol_id
"EMI:#{self.id}"
end

end

На моей странице index.html.erb пользователи могут искать символы с идентификатором 777, введя "EMI: 777" в текстовое поле поиска.

Я использую searchlogic для поиска.

<% form_for @search do |f| %>
    Search:
    <%= f.text_field :symbol_id_or_symbol_name_like %>
    <%= f.submit "Search" %>
<% end %>

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

The condition 'symbol_id' is not a valid condition, we could not find any scopes that match this.

Любое предложение наиболее ценно

1 Ответ

0 голосов
/ 14 марта 2012

Согласно этой записи похоже, что вы захотите сделать scope на основе виртуального атрибута:

class Symbol < ActiveRecord::Base
  attr_accessor :symbol_id
  scope :symbol_id_search, where("symbol_id = ?", symbol_id)  

  def initialize
    @symbol_id = "EMI:#{self.id}"
  end

end

Я не уверен, что scope является правильным, поэтому вам, возможно, придется немного углубиться в это в зависимости от вашей модели, контроллера и т. Д.

...