ruby-on-rails - 如何以表格形式显示Rails ActiveRecord模型的序列化Array属性?

标签 ruby-on-rails forms

我们在Rails中使用ActiveRecord的“序列化”功能,如下所示:

class User < ActiveRecord::Base
    serialize :favorite_colors, Array
    ....
end

这样我们就可以
u = User.last
u.favorite_colors = [ 'blue', 'red', 'grey' ]
u.save!

因此,基本上ActiveRecord会序列化上面的数组,并将其存储在一个名为“favourite_colors”的数据库字段中。

我的问题是:您如何允许用户以表格形式输入他最喜欢的颜色?
您是否使用了一系列文本字段?一旦输入了它们,您如何以表格形式显示它们供他编辑?

这是与Rails Form Helpers的序列化数组属性有关的问题。

谢谢

最佳答案

如果要多选HTML字段,请尝试:

= form_for @user do |f|
  = f.select :favorite_colors, %w[full colors list], {}, :multiple => true

如果您使用的是simple_form gem,则可以轻松地将选项显示为复选框:
= simple_form_for @user do |f|
  = f.input :favorite_colors, as: :check_boxes, collection: %w[full colors list]

关于ruby-on-rails - 如何以表格形式显示Rails ActiveRecord模型的序列化Array属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13518213/

相关文章:

ruby-on-rails - Rails : NameError (uninitialized constant UserSerializer)

php - HTML anchor 导致我的 php $_POST 变量被设置为数组

javascript - 单击按钮时输入框值显示为空白

java - 我应该在 netbeans 中使用什么类型的表单?

php - Symfony 表单 - 如何在验证时添加一些逻辑

css - 如何让 ='active' 类正常工作?

ruby-on-rails - 仅对 json 请求禁用 ActionController::InvalidAuthenticityToken?

mysql - Rails 5 左外连接使用 includes() 和 where()

reactjs - 如何用 Yup 验证没有重复

ruby-on-rails - rails collection_select 与选择