处理控制器

时间:2016-06-24 16:14:02

标签: ruby-on-rails ruby loops controller

我有一个表单已提交给PaymentNotificationsController创建操作。

变量以>形式出现。我在重要的变量中添加了星星。

Parameters: {**"item_number1"=>"4"**, 
**"option_name1_1"=>"Size: UK - 4, Color: Red"**, "contact_phone"=>"035-683-3582",
 "txn_id"=>"XXXXXXXXXXXXXXXX", "payment_type"=>"instant", "last_name"=>"Bye Bye",
**"item_name1"=>"BLACK Dress"**, "receiver_email"=>"xxxx@xxxx.com", **"quantity1"=>"1",** 
"insurance_amount"=>"0.00"}

带有星星的变量的格式为item_name1, item_number1, option_name1, quantity1。如果购物车中有2件商品,那么还会有item_name2, item_number2, option_name2, quantity2我需要一种方法从此哈希中提取这些变量并使用它创建PaymentNotification

这是PaymentNotification创建操作:

class PaymentNotificationsController < ApplicationController
  protect_from_forgery except: [:create]
     def create
       PaymentNotification.create!(params: params, 
       item_number: params[:item_number], item_name: params[:item_name], quantity: params[:quantity] 
       render nothing: true
     end
end

这是一个github Gist,如果它能给出更好的画面,我尝试了一个循环,但它不起作用&gt; https://gist.github.com/d1t/7f3a9451500579da617134468beeca96

提前致谢!

1 个答案:

答案 0 :(得分:1)

Model

在这里,我们选择那些以数字结尾的参数,将它们转换为TestClass构造函数接受的哈希值,然后创建与项目一样多的通知。