添加限制以验证发送到 Rails API 的 json 数据



所以我一直在创建一个Rails API(一个学校项目(,一切正常,但现在我想为POST端点添加一些限制。所以这是我要 foo.com/api/v1/slogans 时的创建端点:

def create
  slogan = Slogan.new(slogan_params)
  if(slogan.save)
    render json: {
      status: 'SUCCESS',
      message: 'Saved slogan',
      data: slogan
    }, status: :ok
  else 
    render json: {
      status: 'ERROR',
      message: 'Slogan not saved',
      data: slogan.error
    }, status: :unprocessable_entity
  end
end

这些是我slogan_params:

private def slogan_params
  params.permit(:firstname, :lastname, :email, :slogan)
end

现在如何为此添加限制,例如字符限制?我已经在我的前端添加了一个,但我想确保即使前端纵,数据也不会在有效的情况下提交。

我想过在def create中添加一些东西,但不确定这是否是这样做的方法。

您可以使用

class Slogan < ActiveRecord::Base
  validates :email, presence: true
end

在控制器中,您可以做到

def create
  slogan = Slogan.new(slogan_params)
  if slogan.valid?
    slogan.save
    render json: {
      status: 'SUCCESS',
      message: 'Saved slogan',
      data: slogan
    }, status: :ok
  else 
    render json: {
      status: 'ERROR',
      message: 'Slogan not saved',
      data: slogan.errors
    }, status: :unprocessable_entity
  end
end

相关内容

  • 没有找到相关文章

最新更新