我一直在使用strong_params并尝试让对象创建通过.我有两个问题.
您如何找出导致问题的属性?
我在下面的代码中缺少什么?
让我们从错误开始,日志告诉我什么.
ActiveModel::ForbiddenAttributesError in JobsController#create
只是为了咯咯笑,这里是我看不到非常有用的日志:
Started POST "/jobs" for 127.0.0.1 at 2013-12-17 22:03:59 +0000 Processing by JobsController#create as HTML Parameters: {"utf8"=>"?", "authenticity_token"=>"Ohq4lVqPVMpjzbZwCfJNYBL78TAcoC0WZLSmpCzMD3k=", "job"=>{"job_title"=>"Junior Rails Developer", "job_description"=>"A new position getig nsomethfins lansnana", "languages"=>["", "Rails", "Ruby"], "country_code"=>"AO", "job_type"=>"Full-Time", "job_salary"=>"30000", "job_level"=>"Junior"}, "commit"=>"Create Job"} User Load (0.5ms) SELECT "users".* FROM "users" WHERE "users"."id" = 1 ORDER BY "users"."id" ASC LIMIT 1 Completed 500 Internal Server Error in 8ms ActiveModel::ForbiddenAttributesError (ActiveModel::ForbiddenAttributesError):
有道理,但如果我看看我的创作:
def create binding.pry @job = Job.new(job_params) respond_to do |format| if @job.save format.html { redirect_to @job, notice: 'Job was successfully created.' } format.json { render action: 'show', status: :created, location: @job } else format.html { render action: 'new' } format.json { render json: @job.errors, status: :unprocessable_entity } end end end
Strong_params:
def job_params params.require(:job).permit(:job_title, :job_level, :job_description, :job_salary, :country_code, :job_type, :state, :languages => []) end
我主要想找到如何找出未来问题的位置,因为它看起来像是大海捞针错误.