将变量分配给整数转换参数并在html.erb文件中使用

时间:2015-05-13 08:06:43

标签: html ruby-on-rails applicationcontroller

基本上我想使用参数将这些输入字段的值存储为整数

<input type="number" name="happyquant" min="1" max="5" value="1" />
<input type="number" name="skyquant" min="1" max="5" value="1" class="bot"/>

此代码位于另一个html.erb文件中,因此当我按提交时,我希望它传输值。很抱歉没有提前澄清这一点。 BTW运行它的网站是http://ipt-dynaman.c9.io/。 我的控制器

def receipt
render layout: 'cart'
params[:skyquant] = params[:skyquant].to_i
params[:happyquant] = params[:happyquant].to_i
a = params[:skyquant]*50
end

我想要显示的地方

<div class="receipt-row">
   <% a %>
</div>

说实话,我甚至不知道我在做什么,但我想基本上学习如何在html.erb文件中使用这样的变量。具体以此为例。

2 个答案:

答案 0 :(得分:2)

为了能够在html.erb文件中使用变量,您必须将变量声明为实例变量,要显示变量中的内容,您必须使用<%= ruby_code %>而不是<% ruby_code %> < / p>

def receipt
 render layout: 'cart'
 params[:skyquant] = params[:skyquant].to_i
 params[:happyquant] = params[:happyquant].to_i
 @a = params[:skyquant]*50
 # variable with @ in front of name, are instance variables
end

<div class="receipt-row">
   <%= @a %>
</div>

使用<% %>时,它会评估ruby代码,但不显示此代码返回的内容,当您使用<%= %>时,它将显示代码结果,您的案例值来自@a < / p>

答案 1 :(得分:0)

a是局部变量。它们仅存在于其范围内(当前块)

@a是一个实例变量 - 可供类中的所有方法使用。

在Ruby on Rails中 - 在控制器中将变量声明为实例变量(@a),使它们可供您查看。

在此处阅读更多内容:http://strugglingwithruby.blogspot.dk/2010/03/variables.html