0

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

<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 文件中,因此当我按下提交时,我希望它传输值。很抱歉没有早点澄清这一点。顺便说一句,我运行它的网站是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 文件中使用类似的变量。具体以此为例。

4

2 回答 2

1

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

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

于 2015-05-13T08:13:57.717 回答
0

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

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

在 Ruby on Rails 中 - 将控制器中的变量声明为实例变量 (@a) 使它们可用于您的视图。

在这里阅读更多:http: //strugglingwithruby.blogspot.dk/2010/03/variables.html

于 2015-05-13T08:17:56.343 回答