:(卡在这里。感谢任何帮助。
我的日志说
在2015-06-22 22:21:59 +0530开始发布“/ sign_in”127.0.0.1 用户处理:: SessionsController #create as HTML
但我尝试通过jquery
请求json$。AJAX({
type: 'POST',
contentType: "application/json",
url: 'http://localhost:3000/sign_in',
...
我的控制器
class Users::SessionsController < Devise::SessionsController
respond_to :json
def create
respond_to do |format|
format.html {
.....
}
format.json {
.....
}
所以我在这里做错了,我需要将请求作为“#create as JSON”
答案 0 :(得分:2)
向您的ajax添加dataType
:
type: 'POST',
contentType: "application/json",
url: 'http://localhost:3000/sign_in',
dataType: "json"
修改强>
您正在向操作create
发布一些数据,因此您应该只操作操作中的数据,然后将其重定向到其他位置....您不应该在操作中创建任何信息,因为它是post
而不是get
。例如:
def create
# find your user based on the params
my_user = User.find(params[:id])
# you can manipulate the user or even save it in a session
# redirect to the action show for example
redirect_to user_path(my_user)
end
def show
@user = User.find(params[:id])
respond_to do |format|
format.html
format.json { render json: @user }
end
end
通过这种方式,如果您使用show
访问.json
操作的网址,您将获得json中的用户信息。
答案 1 :(得分:0)
尝试将dataType: "json"
添加到您的ajax请求中。