【发布时间】:2015-12-05 01:01:32
【问题描述】:
我是 Rails 新手,我希望我的控制器使用从操作创建的变量 @msg 更新视图中的 label/html 字段。现在我有,
查看表格:
<%= form_tag({controller: "home", action: "drawMoney"}) do %>
<h1> Draw Out </h1>
<%= number_field_tag :draw, min: 1, max:1000 %>
<%= date_field_tag :customDate %>
<%= submit_tag "Save" %>
<% end %>
<p>
<%= "#{@msg}" %>
</p>
控制器
def drawMoney
@drawAmount = params[:draw]
@credit = Credit.getCredit('1')
@updateAmount = updatePrincipal(@credit.principal, @drawAmount)
@newLimit = updateLimit(@credit.currLimit, @drawAmount)
@msg = "success!"
if (@transaction = Transaction.create(userId: @credit.userId, date: params[:customDate], OPB: @credit.principal, amount: @drawAmount).valid?)
@credit.update(principal: @updateAmount, currLimit: @newLimit)
@transaction = Transaction.create(userId: @credit.userId, date: params[:customDate], OPB: @credit.principal, amount: @drawAmount)
else
@msg = "not valid"
end
redirect_to action: "index"
end
我已经阅读了 ruby 文档和 youtube 教程,尝试将 @msg 放在视图中,并将 @msg 放在 html 等中。但这并没有在视图中打印任何内容,并且无法从搜索中真正找到答案。任何帮助将不胜感激!
编辑:
我尝试更改为 但它不起作用.. 所以当我单击提交按钮时调用该方法,直到那时没有 @msg 实例。会不会有问题?
【问题讨论】:
-
这是因为您正在重定向。它会丢失所有设置的变量。按照@imechemi 的建议使用闪光灯
标签: ruby-on-rails ruby