【问题标题】:Activeadmin Formtastic custom inputActiveadmin Formtastic 自定义输入
【发布时间】:2023-03-24 12:35:01
【问题描述】:

我有一个简单的应用程序,它有三个模型AssessmentQuestionAssessmentQuestion

Assessment 我有这样的关联,

class Assessment < ActiveRecord::Base
  has_many :assessment_questions, dependent: :destroy
  has_many :questions, through: :assessment_questions
end

Question 我有,

class Question < ActiveRecord::Base
  has_many :assessment_questions, dependent: :destroy
  has_many :bank_questions, dependent: :destroy
end

AssessmentQuestion 我有,

class AssessmentQuestion < ActiveRecord::Base
  belongs_to :question
  belongs_to :assessment
end

assessment_questions 表有:assessment_id:question_id:mark

我有使用ActiveAdmin gem 的管理界面。

在管理界面中创建评估时,在 admin/assessment.rb 我有一个由 formtastic gem 生成的表单,

  form do |f|
    f.inputs do
      f.input :name
      f.input :duration
      f.input :questions, as: :check_boxes, member_label: :id
      f.input :creator_id
    end

    f.actions :commit
  end

这看起来很好,没有问题。我想要的是在通过复选框选择问题时,我希望每个包含问题标记的复选框下方或侧面的文本框将分别填写在文本框中(通过 question.assessment_question.mark 关联),以便我可以编辑预填充在创建评估时标记问题或保持原样。

我试过了,但是遇到了一些错误,比如

undefined method `to_sym' for {:for=>:questions}:Hash

我的代码,

form do |f|
        f.inputs do
          f.input :name
          f.input :duration
          f.input for: :questions do | question |
            f.input :question, as: :select
            f.input question.assessment_question.mark
           end 
          f.input :creator_id
        end

        f.actions :commit
      end

有什么解决办法吗?

【问题讨论】:

    标签: ruby-on-rails activeadmin formtastic


    【解决方案1】:

    我终于明白了。

    我实际上创建了一个自定义 semantic_form_for 表单 _form.html.erb 作为部分并将其包含在 admin/assessment.rb 文件中

    form partial: 'assessment/form'
    

    我就是这样解决的。

    参考:http://activeadmin.info/docs/5-forms.html

    【讨论】:

      【解决方案2】:

      我会创建一个包含复选框和字符串输入的自定义输入:

      https://github.com/justinfrench/formtastic#modified--custom-inputs

      【讨论】:

        【解决方案3】:

        解决方案很明显,您的“f.input :for”错过了一个“s”。 应该是 f.inputs

        【讨论】:

          猜你喜欢
          • 2012-09-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-07-01
          • 1970-01-01
          相关资源
          最近更新 更多