2010-11-19 19 views
0

Kulakların arkasında yeşilim, ancak iskelenin modifiye edilmesiyle ilgili temel bir soru vardı: bir değişken eklemek için uyarı. haber oluşturulduğu (veya güncelleme yöntemi ile düzenlendiği hangi sırayla özellikle yazdırmak böylece:Raylar - Denetleyici: not - Değişken ekle?

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 

Ne yapmak arıyorum için bir değişken ekleyin: Örneğin, raylar benim için aşağıdaki oluşturmak yöntemi yarattı). Kontrolörde doğal olmayan bir şey gibi görünsem de % order.id%> geçirerek bazı temel şeyleri denedim.

Bu iskelenin bu formatı içinde dinamik bir değer eklemek mümkün mü? Ya da sözleşmeye aykırıdır.

Çok minbish ise özür dilerim.

cevap

3

Beestings, ruby'de dizelere dinamik değerler eklemek için tercih edilen yoldur. Dolayısıyla bunu :notice yılında @order.id istiyorsa, bunu yapabilirdi:

bir çift tırnaklı dize olmalıdır
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

: string interpolasyon yer sağa olması fark? – re5et

+1

Başar, çift tırnak kullanarak bir çekicilik gibi çalışır. Bunu, <%= %> gibi bir görünümde (açıkça yanlış) görüntülemek için sözdizimini kullanarak yapmaya çalışıyordum. Yardım beyler için gerçekten minnettarım. Öğrenmeye çalışırken, bu şeyi kendi başıma bulmak için elimden geleni yapıyorum ama sonunda çatlar. Bana asla ne kadar hızlı tepki vereceğini asla şaşırtmam. İkinize de teşekkürler. – Kombo

+0

@Kombo Glad size yardımcı olabiliriz. Yakut ve ror maceralarınızda eğlenin! – Alex

İlgili konular