我是rails的新手,我可能需要一些帮助。被困在这里几天了。我已经搜索了解决方案但是没有得到它。问题是我想将for循环的结果保存到数据库(postgreSQL)。
<% @amount = (params[:h].to_d * params[:k].to_d) %>
<% @percent = (params[:h].to_d * params[:k].to_d) / params[:p].to_d %>
<% for i in 0..params[:a].to_i do %>
<% @newAmount = ((@amount/(@percent)) + @amount) %>
<%= "#{i}" + " - #{@amount}" %><br />
<% @amount=@newAmount %>
<% end %>
如果我能保存表单数据也很好,我发现form_tag不是很好保存数据,但我真的不知道怎么用form_for来做。
<%= form_tag ('/calc') do %>
A_n: <%= text_field_tag :a_n %><br />
H: <%= text_field_tag :h %><br />
K: <%= text_field_tag :k %><br />
P: <%= text_field_tag :p %><br />
A: <%= text_field_tag :a %><br />
<%= submit_tag 'Calc' %>
<% end %>
我很抱歉,如果这是基本的或非常简单的(我确定它是)但我希望我能找到一些帮助如何正确地做到这一点。
型号:
class Calculation < ActiveRecord::Base
attr_accessible :a, :a_n, :h, :k, :p
end
表:
create_table "calculation", :force => true do |t|
t.string "a_n"
t.decimal "h"
t.decimal "k"
t.decimal "p"
t.integer "a"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
end
答案 0 :(得分:0)
这就是我的表单,使用form_for很容易进行验证,为什么不制作它们?
<%= form_for @calculation do |f| %>
<% if @calculation.errors.any? %>
<h2>Errors:</h2>
<ul>
<% @calculation.errors.full_messages.each do |message| %>
<li><%= message %></li>
<% end %>
</ul>
<% end %>
A n: <%= f.text_field :a_n %><br />
H: <%= f.text_field :h %><br />
K: <%= f.text_field :k %><br />
P: <%= f.text_field :p %><br />
A: <%= f.text_field :a %><br />
<%= f.submit 'CALC' %>
<% end %>
节目视图是:
<p>A n: <%= @calculation.a_n %></p>
<p>H: <%= @calculation.h %></p>
<p>K: <%= @calculation.k %></p>
<p>P: <%= @calculation.p %></p>
<p>A: <%= @calculation.a %></p>
<small>T: <%= @calculation.created_at %></small>
<br />
<%= @calculation.a_n %> <br />
<% @amount = (@calculation.h * @calculation.k) %>
<% @percent = (@calculation.h * @calculation.k) / @calculation.p %>
<% for i in 0..@calculation.a do %>
<% @newAmount = ((@amount/(@percent)) + @amount) %>
<%= "#{i}" + " - #{@amount}" %><br />
<% @amount=@newAmount %>
<% end %>
这完美无缺!感谢您的关注和帮助!