禁用字段时保存输入值

时间:2016-02-16 17:11:04

标签: ruby-on-rails ruby-on-rails-4

如果已指定值?

,如何在禁用输入字段的情况下保存输入值

<%= f.text_field :vat, value: @vat_rate, disabled: true %> 的值未保存:

:vat

如果禁用设置为false,则该值将保存到for (long i = long.MinValue; i <= long.MaxValue; ++i) { // Do something } 列。为什么呢?

公司注册的增值税为20%,因此未经批准不得更改。在发票表格中,显示20%且无法编辑。这就是我想要的方式。我希望在使20%可见时禁用该字段。

2 个答案:

答案 0 :(得分:2)

我要完成@Vasfed的回答:已禁用的字段已发送到浏览器。你可以使用一个隐藏的字段,但请不要(再次参见@Vasfed的答案)。

要在Rails中的会话中存储值,您只需将其设置为session[:key] = 20,但这可能不是最佳选择:您可以重新计算它,或者从数据库重新获取它当你需要的时候。

答案 1 :(得分:1)

不信任来自客户端的数据,用户可能会改变您的页面并从设置其他值中获得收益。

例如,您可以在会话中传递值,或者通过其他方式传递值 - 在创建/更新操作中再次计算/获取它。