Отсутствует метод "%", использующий has_many и find () в Rails - PullRequest
0 голосов
/ 08 сентября 2010

Я получаю очень странную ошибку при попытке доступа к методу find отношения has_many.

Что я делаю неправильно синтаксически?

# Instructor model
class Instructor < ActiveRecord::Base
  has_many :events
end

# Event model
class Event < ActiveRecord::Base
  belongs_to :instructor
end

# Controller snip-it
i = Instructor.first
conditions = [ :start_time => params[:start]..params[:end], :submitted => true ]
@events = i.events.find(:all, :conditions => conditions)

# Error message
# NoMethodError (undefined method `%' for {:start_time=>"1283140800".."1286769600", :submitted=>true}:Hash):

1 Ответ

3 голосов
/ 08 сентября 2010

Эта строка:

conditions = [ :start_time => params[:start]..params[:end], :submitted => true ]

Следует читать:

conditions = { :start_time => params[:start]..params[:end], :submitted => true }

Вы создавали массив с хешем вместо одного хеша.

...