【发布时间】:2011-11-23 04:39:41
【问题描述】:
我有一些与散列中的模型相关联的数据。哈希在控制器中生成:@hash。
为这些数据创建表单的正确方法是什么?
我为视图想出了以下代码:
<% @hash.keys.each do |key| %>
<div class="field">
<%= f.label key %><br />
<%= text_field_tag "hash_" + key, @hash[key] %>
</div>
<% end %>
这会生成表单,但会将每个哈希项创建为表单中的单独变量。这似乎不是提交数据的正确方法。我想以哈希的形式取回数据,并使用params[:hash] 访问它。
最好的方法是什么?
在 Rails 3.07、Ruby 1.9.2 中工作。
谢谢。
编辑:我应该说清楚。此代码位于为模型生成的表单内。所以,表单需要提交模型的所有字段,加上上面的哈希。
【问题讨论】:
-
这个哈希是从哪里来的?如果你能做到,坚持使用 AR 对象,或者按照@lucapette 的建议去做。
-
我遇到了类似的问题。我的对象来自 Dry-Validation 模型/对象。
标签: ruby-on-rails ruby-on-rails-3 hash parameters form-for