2010-11-19 105 views
0

我是耳朵后面的绿色,但有一个关于修改脚手架的基本问题:注意添加一个变量。例如,轨道创造了我下面的方法创建:Rails - 控制器:通知 - 添加一个变量?

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 

什么我希望做的是增加一个变量:通知,以便它专门打印创建什么样的顺序(或更新方法编辑)。我尝试了一些基本的东西,比如传递<%= order.id%>,但我觉得这在控制器中看起来不自然?

是否在此脚手架的格式中添加了可能的动态值?或者它违背了公约。

我欣赏帮助,抱歉,如果这是非常新鲜的。

回答

3

Beestings是在Ruby中将动态值插入字符串的首选方法。所以,如果你在你的:notice@order.id,你可以这样做:

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

这应该是一个双引号的字符串:发现有串插发生吧? – re5et 2010-11-19 04:26:54

+1

太棒了,像使用双引号的魅力一样工作。我试图在视图中使用语法进行渲染(显然是错误的),例如<%= %>。我真的很感谢帮助先生们。当我尝试学习时,我尽我所能将这些东西全部弄清楚,但最终会破解。从来没有让我惊讶的是你们所有人的反应速度。我衷心感谢你们两位。 – Kombo 2010-11-19 04:38:50

+0

@Kombo很高兴我们可以帮助你。在你的红宝石和冒险冒险中玩得开心! – Alex 2010-11-19 04:47:18

相关问题