我需要写规范来检查创建操作允许的参数。
module Backoffice
class JobsController < BaseController
def create
@job = Job.new(job_params)
end
def job_params
params.require(:job).permit(:title)
end
end
end
RSpec.describe Backoffice::JobsController, type: :controller do
it do
params = {
job: {
title: 'John'
}
}
should permit(:title).
for(:create, params: params).
on(:job)
end
end
出于某种原因,我得到:
需要POST #create将:job上的参数限制为:title,但它没有限制任何参数。
是因为模块中的控制器吗?
1条答案
按热度按时间bfnvny8b1#
这是因为您的参数不应该是散列,这些参数来自ActionController::Parameters。