I am trying to add a file to a model using qqfile (though that really isn’t relevant here).
I look at the params being passed to the server for update, and I have
{ id: 63, photo: 'foto_file.jpg'}
My understanding was that if an object was passed with an id parameter, rails would understand that as an already existing object, and update that model. If no id parameter is present, Rails would use create.
Is that not correct?? How in this instance can I tell rails to update rather than create?
I’m assuming more code isn’t needed here, as my controllers won’t really help with the solution because I think the decision is made by rails before it really hits the controller. But I’m happy to post the controller code if it is needed.
————— my javascript used to update or create the model ———————
render: function(){
var start_form=HandlebarsTemplates['user/userForm'](user.attributes);
$(this.el).html(start_form);
var uploader = new qq.FileUploader({
element: document.getElementById('file-upload'),
action: '/users',
onSubmit: function(id, fileName){
if(MyApp.user.id){
uploader.setParams({
id: MyApp.user.id
});
}
},
debug: true
});
},
The
updatemethod is only used when you sent aPUTrequest, not aPOSTrequest. Make sure you’re using thePUTmethod. (If you show your form’s code, I can give a more specific answer).Update — With your code, try adding this as a parameter to your
qq.FileUploadercall:Rails will look for a
_methodparameter to handle PUT/DELETE requests.