2013-02-11 1 views
0

я использую squeel, и у меня есть метод поиска в моей модели Event.rb, которая принимает параметр (строка) от входа text_fieldрубин date.month слов внутри поиска squeel

def self.search(search) 
    if search 
    self.where{date.month.strftime("%B").matches("%#{search}%")} 
    else 
    find(:all) 
    end 
end 

То, что я пытаюсь выполнить, заключается в том, что пользователь вводит поиск «fe» или «ap» в Event.date.month для соответствия («февраль», «апрель» и т. Д.). На данный момент работает только введя номер месяца 02, 04 и т.д.

Я бы признателен за любую помощь

ответ

0

Один подход мог бы использовать Chronic gem разобрать дату ввода и использовать, чтобы получить все события в эту дату.

Побочное примечание: find(:all) осуждается, вы могли бы использовать self.all вместо этого, или даже лучше self.scoped так что вы можете цепи больше прицелов позже

+0

Я попытался хронический камень, как вы сказали, но это не совсем то, что я хочу , Я не хочу, чтобы все события на дату, я хочу, если, например, пользователь вводит mo, я хочу, чтобы все события, которые были в понедельник, потрясающий драгоценный камень, в любом случае, я не знал об этом, спасибо –

+0

Хорошо, попытайтесь думать о другом, если найду какое-то время. Надеюсь, вы найдете другое решение иначе =) –