Ruby On Rails 表单对象

程序员都应该知道表单,对于新手来说,稍微复杂一点的表单可能会有点棘手,那么今天就来布道一下 ActiveModel Form Objects,Rails 里可能会引入 simple_form 或者 bootstrap_form

gem 'simple_form', '~> 5.0'
gem 'bootstrap_form', '>= 4.2.0'

对于正常的表单来说我们只需要:

= bootstrap_form_for User.new do |f|
  = f.text_field :name, placeholder: '请输入用户名', label: '用户名'
  label 性别
  = f.form_group :sex, hide_label: true
      = f.radio_button :sex, '男', label: '男'
      = f.radio_button :sex, '女', label: '女'
  = f.submit '提交', class: 'btn btn-primary'

只需要 Model.new 一下就好了,但是在某些情况下,我们可能会遇到几个 Model 的字段,或者一个 Model 里某个 Json 字段也需要从表单传进来,比如我们有一个选择题的模型:

# Table name: written_questions
#
#  id                            :bigint(8)        not null, primary key
#  type(题目类型)                :string
#  description(题目描述)         :text
#  key(参考答案)                 :text
#  suggested_score(建议分值)     :integer
#  content_json(题目内容)        :jsonb
#  title(题目标题)               :string
posted @ 2021-09-11 16:20  Mr-Ran  阅读(63)  评论(0)    收藏  举报