tą metodą:Kiedy używać „ja” w Ruby
def format_stations_and_date
from_station.titelize! if from_station.respond_to?(:titleize!)
to_station.titleize! if to_station.respond_to?(:titleize!)
if date.respond_to?(:to_date)
date = date.to_date
end
end
katastrofy z tym błędem podczas date
jest zerowa:
NoMethodError (You have a nil object when you didn't expect it!
The error occurred while evaluating nil.to_date):
app/models/schedule.rb:87:in `format_stations_and_date'
app/controllers/schedules_controller.rb:15:in `show'
Jednak jeśli zmienię date = date.to_date
do self.date = self.date.to_date
metoda działa poprawnie .
Co się dzieje? W ogóle, kiedy muszę napisać self
?
Edytuj: Nie jest to związane z pytaniem, ale pamiętaj, że nie ma "titleize!" metoda.
możliwy duplikat [Dlaczego setery ruby potrzebują "self". kwalifikacja w klasie?] (http://stackoverflow.com/questions/44715/why-do-ruby-setters-eded-self-qualification-within-class) –