Rails - 在flash通知中传递变量

时间:2013-03-13 10:11:47

标签: ruby-on-rails ruby variables

我一直在尝试在使用#{variable}

创建帖子时出现的Flash通知中添加变量

但我必须遗漏一些东西,因为我收到的唯一信息是“#{variable}”。

这是我的控制者:

 def create

    @participant = Participant.new(params[:participant])

    respond_to do |format|
      if @participant.save
        mail = params[:email]
        format.html { redirect_to @participant, notice: 'Thanks, We will be sending out instructions to:  #{mail}' }
        format.json { render json: @participant, status: :created, location: @participant }
      else
        format.html { render action: "new" }
        format.json { render json: @participant.errors, status: :unprocessable_entity }
      end
    end
  end

我一直在尝试使用@participants作为变量,但是,除了消息中的实际“#{@ participant}”之外,我什么都得不到。

2 个答案:

答案 0 :(得分:5)

我猜您在参与者表单中填写邮件,请尝试:

   email = params[:participant][:mail]

并使用""代替''

进行撰写

答案 1 :(得分:3)

您需要用双引号而不是单引号括起字符串。

Double quotes actually allow string interpolation。这就是你想要的。

所以写:

format.html { redirect_to @participant, notice: "Thanks, We will be sending out instructions to:  #{mail}" }