Rails Shopify 应用控制器中的 Webhook

Webhooks in Rails Controller for Shopify App

我有一个 webhooks 控制器,用于监听何时在 Shopify 中创建新客户。

def customer_created_callback
    @first_name = params[:first_name]
    @last_name = params[:last_name]
    @email = params[:email]

    @customer = Customer.new(first_name: @first_name, last_name: @last_name, email: @email)

    if @customer.save
      redirect_to customers_url
    else
      puts "error"
    end

  end
  1. 我想知道是否应该在此控制器操作中创建客户。看来我应该在 Customer#create 中处理客户创建。但我不确定将所有这些参数传递给新操作是否是个好主意。

  2. 什么是我应该 redirecting_to 的好例子?我认为 webhook 的想法是它在后台发生,因此实际上不会呈现任何页面..

希望这些是有道理的。

It seems like I should be handling the customer creation in Customer#create

代码存放在哪里由您决定,但您必须保留它 DRY. Personally I like to use Service Objects 因为它们使测试更容易。

What's a good example of where I should be redirecting_to?

您需要 return 没有内容的 200 响应:

render :nothing => true, :status => 200

通常,您将使用后台作业,该作业将在运行时使用服务对象。这个 Webhook Best Practices 上的 post 是一个很好的资源,可以让你熟悉网络挂钩的来龙去脉。