Ruby on rails 简单的Authlogic问题:JSON登录?
我已经建立了一个非常简单的网站,允许我登录、注销和注册帐户。(几乎相同,只是我已从users migrate表和相关视图中删除了“用户名”,因此只需要一个电子邮件地址) 我现在正在尝试创建一个新的登录操作,以便可以通过JSON登录 我希望能够将get请求发送到Ruby on rails 简单的Authlogic问题:JSON登录?,ruby-on-rails,ruby,json,authlogic,Ruby On Rails,Ruby,Json,Authlogic,我已经建立了一个非常简单的网站,允许我登录、注销和注册帐户。(几乎相同,只是我已从users migrate表和相关视图中删除了“用户名”,因此只需要一个电子邮件地址) 我现在正在尝试创建一个新的登录操作,以便可以通过JSON登录 我希望能够将get请求发送到http://app:3000/apilogin?email=my@email.com&password=p4ssw0rd并让rails应用程序存储请求来自的IP地址(如果登录正确)并发送相关响应(JSON) 到目前为止,我已经在contr
http://app:3000/apilogin?email=my@email.com&password=p4ssw0rd
并让rails应用程序存储请求来自的IP地址(如果登录正确)并发送相关响应(JSON)
到目前为止,我已经在controllers/user\u sessions\u controller.rb中添加了一个部分,以便:
class UserSessionsController < ApplicationController
#...
def new_api
respond_to do |format|
format.json
end
end
end
但是我不知道在
视图/user\u sessions/new\u api.json.rb
中放什么!你能帮忙吗?你可以这样做:
def new_api
respond_to do |format|
format.json { render :json => user.slice(:name).to_json }
end
end
或者您也可以在视图/user\u sessions/new\u api.JSON.erb
中生成JSON,就像编写普通erb代码一样。但这不是个好主意:
{"name":"<%= @user.name %>"}
{“名称”:“”}
您可以执行以下操作:
def new_api
respond_to do |format|
format.json { render :json => user.slice(:name).to_json }
end
end
或者您也可以在视图/user\u sessions/new\u api.JSON.erb
中生成JSON,就像编写普通erb代码一样。但这不是个好主意:
{"name":"<%= @user.name %>"}
{“名称”:“”}
您根本不需要定义视图-只需从控制器返回适当的json即可
def new_api
@user_session = UserSession.new({:email => params[:email], :password => params[:password]})
respond_to do |format|
if @user_session.save
format.json { render :json => {:success => true} }
else
format.json { render :json => {:success => false, :message => 'incorrect username or password'}, :status => :unauthorized }
end
end
end
您根本不需要定义视图——只需从控制器返回适当的json即可
def new_api
@user_session = UserSession.new({:email => params[:email], :password => params[:password]})
respond_to do |format|
if @user_session.save
format.json { render :json => {:success => true} }
else
format.json { render :json => {:success => false, :message => 'incorrect username or password'}, :status => :unauthorized }
end
end
end
非常感谢您的回复-这非常有帮助,但我仍然不知道如何测试正确的登录详细信息!我设置了
params[:email]
和params[:password]
但AuthLogic不会使用@user\u session=UserSession自动拾取这些参数。新建
-您知道我如何将(自标记的)登录凭据传递给UserSession类吗?我已经通过创建UserSession模型编辑了我的答案。看看Authlogic示例应用程序()。太棒了!我正在尝试一次过学习很多关于rails的知识,非常感谢您的帮助!非常感谢您的回复-这非常有帮助,但我仍然不知道如何测试正确的登录详细信息!我设置了params[:email]
和params[:password]
但AuthLogic不会使用@user\u session=UserSession自动拾取这些参数。新建
-您知道我如何将(自标记的)登录凭据传递给UserSession类吗?我已经通过创建UserSession模型编辑了我的答案。看看Authlogic示例应用程序()。太棒了!我正在尝试一次过学习很多关于rails的知识,非常感谢您的帮助!