Rails - Контроллер: уведомление - Добавить переменную? - PullRequest
1 голос
/ 19 ноября 2010

Я зеленый за ушами, но у меня был основной вопрос об изменении леса: уведомление о добавлении переменной.Например, 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

Я хочу добавить переменную to: note для того, чтобы она печатала конкретно, какой порядок был создан (или отредактирован с помощьюметод обновления).Я пробовал использовать некоторые базовые вещи, такие как передача <% = order.id%>, хотя мне казалось, что это кажется неестественным в контроллере?

Возможно ли добавить динамическое значение в этом формате этого леса?Или это против соглашения.

Я ценю помощь, извините, если это очень новенький.

1 Ответ

4 голосов
/ 19 ноября 2010

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
...