ruby-on-rails - 格式数组输入

标签 ruby-on-rails formtastic

我的 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/

相关文章:

ruby-on-rails - Rails 引擎在播种数据库时不会急切地加载应用程序文件

ruby-on-rails - Cocoon 和 has_one 关联

ruby-on-rails - 来自 root_url 的简单 link_to

ruby-on-rails - Rails,重复代码重构

ruby-on-rails - 在 Ruby 中根据值从哈希集中选择一些哈希

ruby-on-rails - 使用集合向 Formtastic 单选按钮添加背景图像或图像标签

ruby-on-rails-3 - 未定义的方法 `collection_check_boxes'

ruby-on-rails - 使用 Formtastic 从 radio 中进行选择并可选择创建新记录