我在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"}
,这是由于设计的任何错误配置?
答案 0 :(得分:1)
它不是设计,它是铁轨。 +
表示查询字符串中的编码空间。如果你想要文字加,那么你应该把它编码为%2B
。
或者,您可以使用POST请求并在请求正文中发送params。那里不需要逃脱。虽然使用POST进行明显的查询是一种虚假的行为。