首页 > 解决方案 > 在 Rails 错误中的 URL 中将电子邮件作为参数发送

问题描述

我知道这个主题已经讨论过,但我无法通过这篇文章找到更深入的帮助

我尝试创建一个 API 来根据电子邮件查找用户。不幸的是,我有这个问题

我遇到了同样的问题,这意味着我的电子邮件在“。”上被截断了。

 User Load (37.3ms)  SELECT "users".* FROM "users" WHERE "users"."email" = $1 LIMIT $2  [["email", "aosidhasodih@gmuaksd"], ["LIMIT", 1]

我阅读了有关确保收到整封电子邮件的建议以及我现在的路线:

    Rails.application.routes.draw do
get 'robots.:format', to: 'robots#index', constraints: { sender: /[^\/]+/}
namespace :api, defaults: { format: :json } do
namespace :v1 do
  resources :user, only: [:show], param: :email
end
end

但它不起作用。我应该在另一部分移动约束: { sender: /[^/]+/} 吗?

标签: ruby-on-rails

解决方案


{ sender: /[^\/]+/ }您应该使用要检查的参数名称。

在你的情况下,它是email. 所以下面应该解决这个问题

get 'robots.:format', to: 'robots#index', constraints: { email: /[^\/]+/ }

推荐阅读