这里是我的模型:拥有属于许多可通过保存和更新
class Examination < ActiveRecord::Base
has_many :categorizations
has_many :exam_statuses, :through => :categorizations
end
class Categorization < ActiveRecord::Base
belongs_to :examination
belongs_to :exam_status
end
class ExamStatus < ActiveRecord::Base
has_many :categorizations
has_many :examinations, :through => :categorizations
end
我可以通过键入指定从控制台的关系没有任何问题;
e = Examination.first
e.exam_status_ids = [1,2]
而且在examinations/index.html.erb文件中,我可以列出没有任何问题的exam_statuses。
问题是,我无法从考试/ _form.html.erb文件更新或创建任何exam_status关系!
我试图用simple_form,使这个:
<%= f.association :exam_statuses, as: :check_boxes, label: 'Sınavın Durumu' %>
它列出了所有的状态与复选框,但没有更新他们。
日志说:
“不允许的参数:exam_status_ids”
最后我的控制器,这是由 “脚手架” 生成默认情况下,更新是:
def update
respond_to do |format|
if @examination.update(examination_params)
format.html { redirect_to @examination, notice: 'Examination was successfully updated.' }
format.json { head :no_content }
else
format.html { render action: 'edit' }
format.json { render json: @examination.errors, status: :unprocessable_entity }
end
end
end
当您检查状态,你想怎样呢?你没有指定任何可能与检查或验证有关的任何内容或任何东西 – Geoffroy
我并不是在寻找实际验证。当我试图通过编辑页面的复选框更新Exam和ExamStatus关系时,它不会更新。日志中写着“未经许可的参数:exam_status_ids” – msdundar
我并没有谈论验证,只是我不知道你的复选框是什么。 – Geoffroy