设计控制器忽略“+”字符
Devise Controller neglects '+' character
我在 Devise Registrations 控制器中写了一个 API 来检查具有给定电子邮件 ID 的用户是否存在?
def check_user
user = User.find_by_email(params[:email])
if user
render json: { success: true, status: 200} and return
else
render json: { success: false, status: 200} and return
end
end
设计控制器以某种方式去除了参数中的“+”字符。
即当我点击 /check_user?email=tester+12343@mailer.com
时,到达控制器的参数是 Parameters: {"email"=>"soorajs 12343@qburst.com"}
,这是由于任何错误的设计配置造成的吗?
不是设计,是rails。 +
表示在查询字符串中编码 space 。如果你想要文字加号,那么你应该将它编码为 %2B
.
或者,您可以使用 POST 请求并在请求正文中发送参数。那里不需要转义。尽管使用 POST 进行明显的查询是一种失礼。
我在 Devise Registrations 控制器中写了一个 API 来检查具有给定电子邮件 ID 的用户是否存在?
def check_user
user = User.find_by_email(params[:email])
if user
render json: { success: true, status: 200} and return
else
render json: { success: false, status: 200} and return
end
end
设计控制器以某种方式去除了参数中的“+”字符。
即当我点击 /check_user?email=tester+12343@mailer.com
时,到达控制器的参数是 Parameters: {"email"=>"soorajs 12343@qburst.com"}
,这是由于任何错误的设计配置造成的吗?
不是设计,是rails。 +
表示在查询字符串中编码 space 。如果你想要文字加号,那么你应该将它编码为 %2B
.
或者,您可以使用 POST 请求并在请求正文中发送参数。那里不需要转义。尽管使用 POST 进行明显的查询是一种失礼。