Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails:记录不从表单保存_Ruby On Rails_Ruby_Forms_Record - Fatal编程技术网

Ruby on rails Rails:记录不从表单保存

Ruby on rails Rails:记录不从表单保存,ruby-on-rails,ruby,forms,record,Ruby On Rails,Ruby,Forms,Record,我有一个使用条带签出付款的简单表单,如下所示: <%= form_for Order.new do |f| %> <!-- Price --> <% ["2465"].each do |amount| %> <input type="hidden" name="amount" value="<%= amount %>" /> <% end %> <!-- Desc

我有一个使用条带签出付款的简单表单,如下所示:

<%= form_for Order.new do |f| %>
  <!-- Price -->                
  <% ["2465"].each do |amount| %>
    <input type="hidden" name="amount" value="<%= amount %>" />
  <% end %>
  <!-- Description -->  
  <% ["A product"].each do |description| %>
    <input type="hidden" name="description" value="<%= description %>" />
  <% end %>
  <!-- variable string -->
  <%= f.text_field :test %>
  <!-- Stripe script -->  
  <script 
  src="https://checkout.stripe.com/checkout.js" class="stripe-button"
    data-panel-label="Payer {{amount}}"
    data-label="Payer 24,65€"
    data-billing-address="true"
    data-shipping-address="true"
    data-key="<%= Rails.configuration.stripe[:publishable_key] %>">
  </script>
<% end %> 
  def create
    @order = Order.new 
    charge_error = nil 

    # Amount in cents
    if @order.valid? 
    # some stripe set up goes here...
    @order.description = params[:description]
    @order.amount = params[:amount]
    @order.test = params[:test]
    end
  end
从控制台,字符串在参数中填充,但在记录中始终返回空:

OrdersController处理#创建为HTML 参数:{“utf8”=>“✓", "顺序“=>{”测试“=>”输入的值“}

最后一道菜 #<订单id:74,测试:无>

谢谢

编辑1: 记录保存后的完整跟踪:

 => #<Order id: 82, name: "jérémy zaccherini", created_at: "2017-04-28 12:08:41", updated_at: "2017-04-28 12:08:41", card_token: "tok_1ADXtnA5xCR7Wb7xlUyLKfIN", email: "zaccherini.jeremy@gmail.com", address_line1: "Residence feuch, 75004 PARIS", address_zip: "75004", address_country: "France", address_city: "PARIS", description: "MpyProduct", amount: "2465", status: "Non traitée", test: nil> 

无论如何,谢谢。

您没有保存订单

def create
  @order = Order.new 
  charge_error = nil 

  # Amount in cents
  if @order.valid? 
    # some stripe set up goes here...
    @order.description = params[:description]
    @order.amount = params[:amount]
    @order.test = params[:test]
  end
  @order.save
end

使用
@order保存订单。设置值后保存

为什么要执行
[“2465”].each do | amount |
创建单个字段?实际上,我是在这些代码行下面稍微保存了一点顺序。有关保存的记录的完整跟踪,请参阅我的编辑。记录的测试值仍然为零。使用表单帮助器解决了此问题。请参阅更新的问题。谢谢!
<!-- variable string -->
  <%= text_area_tag(:test) %>
@order.test = params[:test]
def create
  @order = Order.new 
  charge_error = nil 

  # Amount in cents
  if @order.valid? 
    # some stripe set up goes here...
    @order.description = params[:description]
    @order.amount = params[:amount]
    @order.test = params[:test]
  end
  @order.save
end