首页 > 解决方案 > 在 Ruby on Rails 中保存到数据库而不打印?

问题描述

我是 Ruby on Rails 的新手,正在开发一个财务应用程序来汇总我的所有支出。我正在通过一个表单收集我的所有数据,然后将它们全部显示在一个名为 show.html.erb 的不同文件中。我想将我在 show.html.erb 中的所有支出加起来,并且到目前为止能够做到这一点:

<strong>Total:</strong> 
<td><%= @article.total = (@article.checking_accounts + @article.savings_accounts - @article.debt) %></td>
<td><%= @article.save %></td>

但是,因为 .save 命令返回一个布尔值,所以我在网页上得到结果后跟“true”即“544 true”,而不仅仅是 544。如何保存到数据库而不打印到我的网页?

标签: ruby-on-railsruby

解决方案


你不应该把@article.save它放在你的视图中,它应该在你的控制器中,或者在你的模型中的回调中,但是由于你刚刚开始,我认为,为了一个快速的临时解决方案,你可以这样做:

<% @article.total = (@article.checking_accounts + @article.savings_accounts - @article.debt) %>
<% @article.save %>

<strong>Total:</strong> 
<td><%= @article.total %></td>

<% ...%>如果您希望进程运行但不希望它打印,则可以使用。<%= ... %>如果要打印值,可以使用。


推荐阅读