代码之家  ›  专栏  ›  技术社区  ›  Kombo

Rails-Controller:注意-添加变量?

  •  1
  • Kombo  · 技术社区  · 14 年前

    我是新手,但有一个关于修改脚手架的基本问题:注意添加一个变量。例如,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
    

    我要做的是添加一个变量到:注意,这样它将具体打印创建(或使用update方法编辑)的订单。我尝试了一些基本的操作,比如传递<%=order.id%>,尽管我觉得这在控制器中似乎不自然?

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

    我很感激你的帮助,如果这是个新手的话,我很抱歉。

    1 回复  |  直到 14 年前
        1
  •  4
  •   Alex    14 年前

    beesting是将动态值插入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