2010-11-19 2 views
0

Ich bin grün hinter den Ohren, hatte aber eine grundlegende Frage über die Änderung des Gerüsts: Beachten Sie, eine Variable hinzuzufügen. Zum Beispiel erstellt Scheint die folgende create-Methode für mich:Rails - Controller: notice - Eine Variable hinzufügen?

def create 
    @order = Order.new(params[:order]) 

    respond_to do |format| 
     if @order.save 
     format.html { redirect_to(@order, :notice => 'Order was successfully created.') } 
     format.xml { render :xml => @order, :status => :created, :location => @order } 
     else 
     format.html { render :action => "new" } 
     format.xml { render :xml => @order.errors, :status => :unprocessable_entity } 
     end 
    end 
    end 

Was ich suche, ist zu tun, um eine Variable in dem: Bekanntmachung so dass es speziell in welcher Reihenfolge erstellt wurde (oder bearbeitet mit dem Update-Verfahren drucken:). Ich habe versucht, einige grundlegende Dinge wie die Übergabe <% = order.id%>, obwohl ich fühlte, dass dies in der Controller unnatürlich schien?

Ist das Hinzufügen eines dynamischen Werts innerhalb dieses Gerüsts möglich? Oder ist es gegen die Konvention?

Ich schätze die Hilfe, tut mir leid, wenn dies sehr neu ist.

Antwort

3

Beestings sind die bevorzugte Methode, um dynamische Werte in Strings in Ruby einzufügen. Also, wenn Sie @order.id in Ihrem :notice wollten, könnten Sie dies tun:

def create 
    @order = Order.new(params[:order]) 

    respond_to do |format| 
     if @order.save 
     format.html { redirect_to(@order, :notice => "Order id # #{@order.id} was successfully created.") } 
     format.xml { render :xml => @order, :status => :created, :location => @order } 
     else 
     format.html { render :action => "new" } 
     format.xml { render :xml => @order.errors, :status => :unprocessable_entity } 
     end 
    end 
    end 
+1

, die ein doppeltes Anführungszeichen werden soll: Bekanntmachung der String-Interpolation statt Recht zu haben? – re5et

+1

Super, funktioniert wie ein Charme mit doppelten Anführungszeichen. Ich habe versucht, dies mit der Syntax für das Rendern in einer Ansicht zu tun (offensichtlich falsch), wie <%= %>. Ich schätze die Hilfe sehr, meine Herren. Während ich versuche zu lernen, tue ich mein Bestes, um diese Dinge selbst herauszufinden, aber schließlich zu knacken. Verblüfft mich nie, wie schnell Sie alle reagieren müssen. Ich danke Ihnen beiden herzlich. – Kombo

+0

@Kombo Froh, dass wir Ihnen helfen könnten. Viel Spaß in deinen Ruby und Ror Abenteuern! – Alex

Verwandte Themen