2016-04-25 4 views
0

Ich habe jetzt ein paar Tutorials durchgelesen und ich habe anscheinend eine Vielzahl von Methoden, um den Benutzern Nachrichten anzuzeigen.Muss ich konsistent sein mit dem, wie ich Nachrichten an Benutzer übergebe?

Zum Beispiel in der Steuerung Ich habe diese Aktion:

def edit 
    user = User.find_by(email: params[:email]) 
    if user && !user.activated? && user.authenticated?(:activation, params[:id]) 
     user.activate 
     log_in user 
     flash[:success] = "Account activated! Welcome to foodiker!" 
     redirect_to root_url 
    else 
     flash[:danger] = "Invalid activation link." 
     redirect_to root_url 
    end 
    end 

Und manchmal in der Steuerung Ich habe dies:

def create 
    @recipe = Recipe.new(recipe_params) 

    respond_to do |format| 
     if @recipe.save 
     current_user.recipes << @recipe 
     format.html { redirect_to myrecipes_url, notice: 'Recipe was successfully created.' } 
     format.json { render :show, status: :created, location: @recipe } 
     else 
     format.html { render :new } 
     format.json { render json: @recipe.errors, status: :unprocessable_entity } 
     end 
    end 
    end 

Ich habe auch über Dinge wie der Responder gem lesen und benutze das respond_with eher respond_to.

Spielt es eine Rolle, ob ich diese in verschiedenen Formaten drücke oder ist es egal? Fehle ich eine Best Practice?

Antwort

0

Wenn Sie eine flash oder notice Nachrichten in redirect_to Methode angeben, wird es diese Nachrichten in entsprechenden Tasten von flash eingestellt.

Grundsätzlich Diese sind äquivalent:

redirect_to myrecipes_url, notice: 'Recipe was successfully created.' 

# The same as if you did this: 
flash[:notice] = 'Recipe was successfully created.' 
redirect_to myrecipes_url 

Es wird in the examples section der Methode Dokumentation erwähnt.

Verwandte Themen