所以我一直在创建一个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