尝试将记录保存到Ruby Rails中时出错

时间:2018-08-20 14:44:02

标签: ruby-on-rails ruby ruby-on-rails-4

我有一个表单,用户可以在其中向程序添加不同的练习。该表单包含两个提交按钮:

  1. 用于保存程序并将其分配给另一个用户
  2. 将程序另存为模板,以便以后使用 再次

第一个操作在我扩展第二个提交按钮之前效果很好。有时它可以正常工作(例如,在清除缓存后),有时却不起作用,并且会引发如下错误:

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

0 个答案:

没有答案