如何在Rails中通过审计模型关联创建正确的has_one ::?

问题描述

因此,我有一个用于创建Сhecklist的模型,该列表可以动态添加问题。 我需要创建另一个模型,在其中可以存储该问题的答案(审计),但仍将答案链接到审计。

当我单击创建按钮时,出现错误: unknown attribute 'checklist_id' for Audit.

审核模型:

class Audit < ApplicationRecord
  belongs_to :checklists
  has_one :answers,through: :questions
end

清单模型:

class Checklist < ApplicationRecord
  has_many :questions,dependent: :destroy

  validates :title,presence: true,length: { maximum: 40 }
  validates :description,presence: true
end

问题模型

class Question < ApplicationRecord
  belongs_to :checklist

  has_many :answers,dependent: :destroy
  validates :title,length: { in: 12..40 }
  validates :description,presence: true
end

答案模型

class Answer < ApplicationRecord
  belongs_to :question
  validates :answer,presence: true
  validates :comment,length: { maximum: 40 }
end

路线(不确定是否正确)

Rails.application.routes.draw do
  root 'checklists#index'
  
  resources :checklists do
    resources :questions,only: [:create] do
      resources :answers,only: [:create,:destroy]
    end
  end

  resources :checklists do
    resources :audits
  end
  
  resources :audits,only: [:index]
end

用于创建新审核的表格audits / new.html.erb

<div class="row">
  <div class="col s8 offset-s2">
    <div class="card">
      <div class="card-content">
        <h5> <%= @checklist.title %></h5>
        <p> <%= @checklist.description %></p>
        <hr />
        <% @checklist.questions.any?  do %>
        <ul class="card-body">
          <span class="card-title">Answer <%= @checklist.cout_questions %> Questions:</span>
          <%= render @checklist.questions %>
        </ul>
        <% end %>
      </div>
      <div class="card-action">
        <%= button_to 'Create',{controller: "audits",action: "create",checklists_id: @checklist.id},method: :post,class: 'waves-effect waves-light btn' %>
        <%= link_to 'Cancel',checklists_path,class: 'waves-effect waves-light btn red darken-1'%>
      </div>
    </div>
  </div>
</div>

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...