【问题标题】:How to throw an error if a field is being passed blank如果将字段传递为空白,如何引发错误
【发布时间】:2022-11-08 07:37:07
【问题描述】:

如果我有如下函数并说某些字段被传递为空白,我需要抛出一些错误,例如:“角色为空白,请检查”。我该怎么做(我要传递五个字段,例如:IDnameroleaddressnumber 等)?

def some_function
      @employee.with_lock do
        if @employee.update(permitted_attributes(@employee))
          render_json(@employee)
        else
          render json: ErrorSerializer.new(@employee), status: :unprocessable_entity
        end
      end
    end

【问题讨论】:

  • 你能分享你的实际代码吗?它可以帮助社区尽快为您的问题找到解决方案
  • 这是我的实际代码,@ajay_speed
  • 你可以创建一个带有条件的while循环来检查@id是否为空:条件:while id.empty || id == nil body: somefunction.call #如果while条件为真,则再次调用该函数以获取id end。
  • 如果您可以在代码中分享您的 cmets,那就太好了。
  • @alex 先生的代码不太清楚。你在哪里传递你的参数:ID、姓名、角色、地址、号码,到?

标签: ruby-on-rails ruby


【解决方案1】:

当您要确保设置某些属性时,通常将validations 添加到模型中。

在您的示例中,以下可能有效:

# in app/models/employee.rb
validates :name, :role, :address, :number, presence: true

【讨论】:

    猜你喜欢
    • 2013-02-19
    • 2018-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-31
    • 2016-03-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多