2016-04-11 15 views
-1

es ist das erste Mal, diesen Fehler in Schienen zu begegnen, und ich weiß wirklich nicht, wo es von hier kommt, ist die Funktion Umsetzung:Falsche Anzahl von Argumenten (2 3)

def self.send (sender,recivers,content) 
      recivers.each do |reciver| 
       @notification = Notification.new 
       @notification.sender= sender 
       @notification.user = reciver 
       @notification.body = content 
       @notification.save 
      end 

    end 

und hier wie wird nenne es:

def after_create(announcment) 
    instructor_id = announcment.course.instructor_id 
    sender = User.find_by_id(instructor_id) 
    students = announcment.course.users 
    body = announcment.announcment 
    coures_name = announcment.course.name 
    Notification.send(sender,students,body) 
    UserMailer.notify_students_course(students,coures_name) 
end 
+0

posten Sie Ihr Fehlerprotokoll pls – 7urkm3n

+1

Ich fand den Fehler, es war im Namen der Methode senden, aber ich weiß nicht, warum würde es einen Fehler erstellen ist ein reserviertes Schlüsselwort senden? – mohamed

+0

@mohamed Es ist eine Ruby 'Object' Klassenmethode (so dass jede Klasse diese erbt), die die mit dem ersten Argument benannte Methode aufruft und die restlichen Argumente für' send' parameterisiert. Auch in RoR ist es ein [reserved Wort] (http://www.rubymagic.org/posts/ruby-and-rails-reserved-words) –

Antwort

2

send ein Ruby-Methode von Object Klasse ist (so jede Klasse erbt es), das die Methode mit dem ersten Argument genannt ruft und Parameter den Rest der zu send angegebenen Argumente. Auch in RoR ist es ein reserverd word.

Besser nicht überschreiben, weil es unordentlich werden kann.

Verwandte Themen