我的 Rails 模型上有一个允许数组的可序列化字段。
问题是,以格式来说,我将如何获得输出:
<input type="text" name="model[variables][]" />
我会告诉它值,我不担心这个。
最佳答案
据我所知,formattastic 无法生成数组值的文本输入。这不是一个形式问题。
文本值列表会是什么样子(标签、验证错误等)?作为复选框列表? - 然后使用
f.input :authors, :as => :check_boxes,
:collection => current_user.company.users.active
您关心的可能是每个输入的名称,因为它反射(reflect)了请求“params”。 可以实现自定义 formattastic 字段类型或简单地使用 Rails 帮助器来实现您所需要的。
例如将数组作为隐藏值传递:
= semantic_form_for @model do |form|
- @model.variables.each do |value|
= hidden_field_tag 'model[variable][]', value, id: "model_variable_#{value}"
然后你将拥有 params[:model][:variables] 成为一个数组。
关于ruby-on-rails - 格式数组输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9690257/