Ben strong_params kullanıyorum ve bir nesneyi geçmek için oluşturmaya çalışıyorum. İki sorum var.Harika ActiveModel :: ForbiddenAttributesError
- Soruna hangi özniteliğin neden olduğunu nasıl anlarsınız?
- Aşağıdaki kodda nelerin eksik?
Hata ile başlayalım, günlük bana hiçbir şey anlatmıyor. Sadece espri olsun diye
ActiveModel::ForbiddenAttributesError in JobsController#create
, burada çok faydalı görmüyorum günlüğü geçerli:
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):
mantıklı, ama sonra bakarsak benim oluşturun:
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
Esasen ilgileniyorum haystack hatası içinde bir iğne gibi göründüğü için sorunun nerede geleceğini bulmak için. Eğer günlük dosyasında
Yerel sunucunuzu yeniden başlattınız mı? – ChrisBarthol
Hah, sadece kontrol ediyorum. Dillerin üzerinden bakmak, günlükte bir karma olarak gösteriliyor. Değiştirmeyi deneyin: dillere diller: [] veya: languages => [] kodunuzla aynı sözdizimini sürdürmek için – ChrisBarthol
İzin verdiğiniz tüm nitelikler için modelde attr_accessible tanımlı mı var? – usha