0

在我看来我有这个

<%= hidden_field :hold, i, value: true %>

在控制器上,我意识到 :hold 和 value 都是字符串。

params[:hold]['0'] == 'true'  =>  true
params[:hold][0] => nil

视图和控制器之间的类型转换是否有最佳实践?

4

1 回答 1

1

我不知道我是否正确。但是,params 就像一个哈希。你从 params 得到的一切都是字符串。所以参数应该是这样的:

params = {'hold': {'0': 'true'}}

您可以通过字符串获得“真”,如下所示:

params['hold']['0']

或者你可以用符号来做,像这样:

params[:hold][:'0']

由于 :0 在语法上不正确,因此您必须使用 :'0' 来创建符号。

这实际上取决于个人喜好使用哪个。我会这样做:

params[:hold]['0'] 
于 2013-11-04T01:19:22.737 回答