加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Activeadmin Formtastic自定义输入

发布时间:2020-12-17 02:07:16 所属栏目:百科 来源:网络整理
导读:我有一个简单的应用程序,它有三个模型评估,问题和评估问题 在评估中,我有这样的关联, class Assessment ActiveRecord::Base has_many :assessment_questions,dependent: :destroy has_many :questions,through: :assessment_questionsend 我有问题, class Qu
我有一个简单的应用程序,它有三个模型评估,问题和评估问题

在评估中,我有这样的关联,

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

我有问题,

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

在评估问题中,我有,

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

有解决方案吗

解决方法

最后,我想通了.

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

form partial: 'assessment/form'

这就是我解决的方式.

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读