我是耳朵后面的绿色,但有一个关于修改脚手架的基本问题:注意添加一个变量。例如,rails为我创建了以下create方法:
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
我要做的是添加一个变量:notice,以便它可以打印具体创建的订单(或使用update方法编辑)。我尝试了一些基本的东西,例如传递<%= order.id%>,虽然我觉得这在控制器中看起来不自然?
是否可以在此脚手架的此格式中添加动态值?或者它违反了惯例。
我很感激帮助,对不起,如果这是非常新鲜的话。
答案 0 :(得分:4)
Beestings是在ruby中将动态值插入字符串的首选方法。因此,如果您希望@order.id
中有:notice
,则可以执行此操作:
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