Пожалуйста, помогите мне выяснить, что я делаю неправильно здесь! Я использую s3_direct_upload для загрузки базового изображения в Amazon S3, а затем POST для создания записи. На вкладке «Сеть» (firebug) я вижу, что он POST'd. Однако я не уверен, почему параметры не добавляются в БД.Rails - Params не добавляются к модели?
Это то, что я получаю обратно:
Started POST "/choices" for 127.0.0.1 at 2013-10-02 17:36:10 -0700
Processing by ChoicesController#create as */*
Parameters: {"url"=>"https://mybucket.s3.amazonaws.com/uploads%2F1380760569802-bneiuk2ghf4-22e59d1c8959be731bc71e31f0a9d7c6%2Fslide0003_image002.jpg",
"filepath"=>"/uploads%2F1380760569802-bneiuk2ghf4-22e59d1c8959be731bc71e31f0a9d7c6%2Fslide0003_image002.jpg",
"filename"=>"slide0003_image002.jpg",
"filesize"=>"73930",
"filetype"=>"image/jpeg",
"unique_id"=>"bneiuk2ghf4",
"choice"=>{
"image"=>"https://mybucket.s3.amazonaws.com/uploads%2F1380760569802-bneiuk2ghf4-22e59d1c8959be731bc71e31f0a9d7c6%2Fslide0003_image002.jpg"
}
}
(0.3ms) BEGIN
(0.4ms) ROLLBACK
Rendered choices/create.js.erb (0.1ms)
Completed 200 OK in 16ms (Views: 6.2ms | ActiveRecord: 0.6ms)
# app/controllers/choice.rb
def create
@choice = Choice.create(choice_params)
end
def choice_params
params.require(:choice).permit!
end
Тогда моя форма (некоторые HTML опущены для краткости):
#app/views/new.html.erb
<%= s3_uploader_form callback_url: choices_url, callback_param: "choice[image]", id: "s3-uploader" do %>
<%= file_field_tag :file, multiple: true %>
<% end %>
Любая помощь будет большим !
Что вы ожидаете от '' выбор'' '' '' требует '{" image "=>" https: // ... "}' к вам. Ожидает ли ваша модель «Выбор» это одно поле? Ваша модель откатывается назад – Cristopher