2013-03-16 3 views
0

Я пытаюсь использовать сферу в активном администратора для одной моей модели, и я получаю эту error undefined method reorder' for array.неопределенный метод `перезаказа» для активного администратора

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

Вот код от активного администратора: -

ActiveAdmin.register Startup do 

    scope :reached do |startups| 
     startups.all 
    end 

end 

Любые идеи, что может быть проблема?

+0

Возможно, вы можете опубликовать код, который дает вам «метод неопределенной ошибки»? или это может помочь http://activeadmin.info/docs/2-resource-customization.html – ajt

+0

afaik, для метода active_admin метода 'scope' нет. Конечно, вы знаете, что делаете? – phoet

+0

Связанный вопрос http://stackoverflow.com/questions/9384346/ – oklas

ответ

0

Это была моя ассоциация на уровне модели.

в startup.rb

has_many :fund_requests, :dependent => :destroy 

в fund_request.rb

belongs_to :startup 

Я пытался размаху запросы фонда, где достигнуто состояние (атрибут в запросе фонда).

Однако что-то вроде этого, который работает на уровне модели не работает с активным администратором

scope :reached do |startups| 



    startups.fund_requests.where(status = ?', 'Pending') 

end 

это дает мне сообщение об ошибке `переназначения»

писать его, как это работало для меня: -

scope :reached do |startups| 
     startups.joins(:fund_requests).where(['fund_requests.status = ?', 'Pending']) 
    end` 

Я не знаю, почему цепочка не работает, и соединения работают.

0

Вы возвращаете массив вместо отношения ActiveRecord, и я предполагаю, что вы пытаетесь связать его с таким методом, как .order, который не будет работать. Что вы пытаетесь использовать?

Если вы просто хотите, чтобы все записи вам не нужны. Если вы хотите сузить свои стартапы, то вы должны использовать что-то вроде Startup.where(#condition you want met)

Смежные вопросы