определите метод в модели, к которой можно получить доступ в контроллере

Я определил проблемный метод в своей модели Report. Я должен использовать значение Report.problem в контроллере отчета при определении шоу действия. Но я продолжаю получать сообщение об ошибке 'проблема неопределенного метода'. Как я решаю это? Любая помощь была бы greatful.

У меня есть модель отчета и проблемная модель, которая содержит список всех проблем.

В модели отчета

def problems1
Problem.find(:all, :conditions => )
end

В контроллере отчетов мне нужно что-то как

def show
  @report = Report.problems1
end
7
задан Prateek 9 July 2010 в 05:02
поделиться

2 ответа

вы должны присвоить self. method_name для использования в качестве метода класса

Следуйте следующему правилу для методов модели

Class Method

def self.problem

end

in controller

Report.problem

Instance method

def problem

end

in controller

report =  Report.new
report.problem
28
ответ дан 6 December 2019 в 06:23
поделиться

Если вы определяете метод как метод класса

class Report < ActiveRecord :: Base
 def Report.problem
  puts 1
 end
end

Report.problem
>1

Но если вы определяете метод как объект

class Report < ActiveRecord :: Base
 def problem
  puts 1
 end
end

Вызов этого метода

report = Report.new
report.problem
>1
0
ответ дан 6 December 2019 в 06:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: