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