ruby-on-rails 如何验证某些属性?

yftpprvb  于 2022-11-26  发布在  Ruby
关注(0)|答案(1)|浏览(211)

如何验证参数是否有“name”和“section”?例如:我要验证'name',但如果没有,则必须传回400,与'section'相同

context 'validation' do
        let!(:params) do
          { article: {
            name: 'a1',
            section: 'A'
            ...
            color: 'red'
          } }
        end

我不知道我怎么能比较

it 'test, not allow empty name' do
   expect(name eq '').to have_http_status(400)
end
e1xvtsh3

e1xvtsh31#

您可以直接检查参数:

def create
  if params[:article][:name].blank? || params[:article][:section].blank? 
     return head 400
  end 
 
  # ...
end

The Rails way of performing validation是通过模型:
第一个
这会将数据与作用于数据的验证和验证错误封装在一起,以便将其显示给用户。
模型(或表单对象)甚至可以在数据未保存在数据库中时使用。

相关问题