def create
if request.headers['Auth'] == User.first.token
@post = Post.create(post_params)
@post.save
respond_with(@post)
else
error = { error: 'gotta be authed to create' }
respond_with(error, :status => 401, location: nil)
end
end
def update
if false #request.headers['Auth'] == User.first.token
@post.update_attributes(post_params)
respond_with(@post)
else
error = { error: 'gotta be authed to edit' }
respond_with(error, :status => 401, location: nil)
end
end
显然这被铁路团队认为是处理PUT的正确方法(我不知道为什么)任何人都可以给我一些关于他们如何处理response_with实际行为一致的见解?
请参阅这些问题/ pullreqs以更好地了解rails如何认为此响应正确 https://github.com/rails/rails/issues/9862 https://github.com/rails/rails/pull/9887
答案 0 :(得分:0)
好的,显然你只需要将一个块传递给respond_with,如果你想自定义它 - 请参阅https://stackoverflow.com/a/18929275/1429856
我的解决方案是改变
respond_with(error, :status => 401, location: nil)
到
respond_with error do |format|
format.json { render json: error, :status => 401, location: nil }
end