Es gibt eine Handvoll Wörter, die niemals in einem Stringattribut in meiner Webanwendung angezeigt werden können (Foto [: title], Benutzer [: name] usw.). Der folgende Code funktioniert in meinem Controller:Verwandeln Sie diesen einfachen Controller-Code in eine Methode
PhotosController
def create
@photo = current_user.photos.build(photo_params)
if @photo.title.include? "foo"
@photo = nil
flash[:warning] = "Photo failed!, restricted words"
redirect_to new_photo_path
else
if @photo.save
flash[:success] = "Photo created!"
redirect_to new_photo_path
else
flash[:warning] = "Photo failed!"
redirect_to new_photo_path
end
end
end
Offensichtlich will ich mich nicht haben für jeden String Attribut endlos in meinem Controller zu wiederholen. Ich muss eine Methode erstellen, die in application.rb platziert und über alle meine Controller verwendet werden kann.
Das erste, was Sie tun, ist könnte Titel Validierung Modell zu machen, alle Validierungen immer in Modell getan werden sollte und nie in der Steuerung. –