Elixir 如何使用条纹长生不老药捕获和存储用户的电子邮件
我有以下代码,我能够创建新用户。电子邮件未存储 代码:Elixir 如何使用条纹长生不老药捕获和存储用户的电子邮件,elixir,stripe-payments,phoenix-framework,stripe-elixir,Elixir,Stripe Payments,Phoenix Framework,Stripe Elixir,我有以下代码,我能够创建新用户。电子邮件未存储 代码: 如何捕获和存储他们的电子邮件 我可以发现这段代码有两个小故障: 在Elixir的文字/术语中,单引号和双引号之间存在显著差异。区别在中有详细描述,一般来说是:用于字符列表的单引号与二进制文件(字符串)基本上没有共同之处 看: iex | 1▶ 'abc'=[97,98,99] #⇒真的 “abc”基本上与(伪代码中的)相同 [ ascii值(字符a), ascii值(字符b), ascii值(字符c) ] 这可能应该被认为是从XX世纪
如何捕获和存储他们的电子邮件 我可以发现这段代码有两个小故障:
iex | 1▶ 'abc'=[97,98,99]
#⇒真的
“abc”
基本上与(伪代码中的)相同
[
ascii值(字符a),
ascii值(字符b),
ascii值(字符c)
]
这可能应该被认为是从XX世纪遗留下来的遗产。每当需要二进制(字符串)时,请始终使用双引号
create
函数的结果,并以某种方式处理错误总之,可能稳健的解决方案如下所示:
defmodule StripeTestWeb.PaymentController do
使用StripeTestWeb,:控制器
使用Stripe.API
def索引(conn,%{“stripeEmail”=>email}=_参数)do
使用{:ok,customer\u data}赋值(:customer\u data,customer\u data)
|>呈现(“index.html”)
其他的
#呈现错误页面
结束
结束
结束
从参数获取时,应使用双引号而不是单引号。conn.body_参数['stripeEmail']!=conn.body_参数['stripeEmail']
。还有,为什么在params
参数上使用conn.body\u params
而不是模式匹配?单引号生成字符列表而不是binary@AbM我在写JS后就开始使用Elixir,我习惯了对象。坏习惯当我使用with语句时,我会出错。我不太熟悉,不知道你在做什么我们有一个文档。不幸的是,我不能提供任何帮助,除非你至少有什么错误可以分享。
defmodule StripeTestWeb.PaymentController do
use StripeTestWeb, :controller
use Stripe.API
def index(conn, _params) do
{:ok, customer_data} = Stripe.Customer.create(%{email: conn.body_params['stripeEmail']})
render(conn, "index.html")
end
end