我有以下操作来创建记录:
def create
@categorization = Categorization.new(categorization_params)
@categorization.save
respond_to do |format|
format.json { render json: {categorization: @categorization.to_json}, success: 200 }
end
end
private
def categorization_params
params.require(:categorization).permit(:user_id, :category_id)
end这是我的jquery代码:
$("#save-category").click(function(){
var category_id = $('#categorization_category_id').val();
var category_name = $('#categorization_category_id option:selected').text();
var user_id = "#{current_user.id}";
var cat_id;
$.ajax({
url: "#{dashboard_categorizations_path}",
type: 'POST',
dataType : 'json',
data: {'user_id': user_id, 'category_id': category_id},
success: function(result) {
console.log(result);
// cat_id = JSON.parse(result.id);
// alert(cat_id);
},
error: function(result) {
console.log(result);
// cat_id = JSON.parse(result.id);
// alert(cat_id);
}
}); // end ajax call
$("#categoriamensaje").show();
var leadMessage = setInterval(function(){
$("#categoriamensaje").hide();
}, 3000);
});我的巡查员给我看的是:

正如您所看到的,在单击按钮后,我可以用状态400和状态200来响应我:
第一个答复如下:
操作控制器::参数错误在/仪表板/分类 缺少param或值为空:分类app/controllers/dashboard/categorizations_controller.rb,行30 30 params.require(:categorization).permit(:user\_id, :category\_id) 31 end 32 end
and the second one:
```javascript分类:{“id”:60,"user_id":1,"category_id":7,"created_at":"2015-04-15T14:27:55.039Z",“updated_at”:“2015-04-15T14:27:55.039Z”}
创建了记录,但我需要捕获ajax响应,以便在视图中显示信息。
请帮帮忙。
发布于 2015-04-15 14:45:33
看起来,您需要包装在categorization对象中发布的JSON有效负载,如下所示:
{ "categorization": { "user_id" : "1", "category_id" : "1" } }因此,您的JQuery代码应该如下所示:
data: { 'categorization' : { 'user_id': user_id, 'category_id': category_id} }https://stackoverflow.com/questions/29653044
复制相似问题