Ruby on rails Ruby Rails在提交时计算
我有以下表格:Ruby on rails Ruby Rails在提交时计算,ruby-on-rails,Ruby On Rails,我有以下表格: <%= form_for(@candy) do |f| %> <div class=""> <%= current_user.totalcandy %> </div> <div class=""> <%= f.label :candy, 'add a candy' %><br /> <%= f.number_field :candy%> <
<%= form_for(@candy) do |f| %>
<div class="">
<%= current_user.totalcandy %>
</div>
<div class="">
<%= f.label :candy, 'add a candy' %><br />
<%= f.number_field :candy%>
</div>
<div class="">
<%= f.submit('ADD') %>
</div>
<% end %>
如何将输入值添加到totalcandy并保存它?谢谢您对Rails的工作原理感到困惑
您必须在后端计算(提交表单后) Rails视图用于显示HTML页面,并且不会更改,除非对服务器执行 为了与Rail的模块化结构保持一致,您需要在控制器中保持逻辑,在视图中保持输入,在模型中保持数据操作。因此,您只需将不同的
Candy的传递给您的控制器,使其能够合计:
#app/views/candys/new.html.erb
<%= form_for(@candy) do |f| %>
<%= f.label :candy, 'Add a candy' %>
<%= f.number_field :candy%>
<%= f.submit %>
<% end %>
#app/controllers/candys_controller.rb
def new
@candy = Candy.new
end
def create
@candy = Candy.new(candy_params)
@candy.save
@total_candy = #your logic here
end
private
def candy_params
params.require(:candy).permit(:candy)
end
#app/views/candys/new.html.erb
#app/controllers/candys_controller.rb
def新
@糖果
结束
def创建
@糖果=糖果。新(糖果参数)
@凯蒂,救命
@total_candy=#你的逻辑在这里
结束
私有的
def candy_params
参数要求(:candy).允许(:candy)
结束
为什么要使用class=”“
?如果没有值,您可以省略类
属性。为模型创建一个虚拟属性并添加一个输入字段。