我有一个表单,用户可以在其中向程序添加不同的练习。该表单包含两个提交按钮:
第一个操作在我扩展第二个提交按钮之前效果很好。有时它可以正常工作(例如,在清除缓存后),有时却不起作用,并且会引发如下错误:
0 1 * * 6 /bin/sh /work-disk/postgresql-scripts/upl_base_backup.sh
我还没有找到.take的确切含义,但是在我看来,Rails认为它必须是唯一的?但是事实并非如此。
第二次提交::尝试将程序另存为模板时出现错误
activerecord.errors.models.exercise.attributes.source_id.taken
当我尝试保存模板时:
translation missing: de.activerecord.errors.messages.record_invalid
此后,我检查了@template的外观,并检查了一切正常。当我运行@ template.invalid?(:name)时,它说为true,但是.inspect向我显示该名称实际上存储为字符串。
我的 template_params :
if params[:Template]
@template = ProgramTemplate.new(template_params(:create))
if @template.save!
flash[:success] = {'title' => I18n.t('alerts.6C.success.title'), 'text' => I18n.t('alerts.6C.success.message')}
render :new
else
@template的模型代码:
def template_params(method = :update)
nested_attributes = [:source_id, :series, :repetitions, :break, :sort_order]
nested_attributes += [:id, :_destroy] if method == :update
params.require(:program).permit(:account_id, :description, :account_patient_id, :name, :goal, :frequency, :duration, exercises_attributes: nested_attributes)
end