【问题标题】:Rails form - step between new and createRails 表单 - 介于新建和创建之间
【发布时间】:2017-08-03 09:26:53
【问题描述】:

我在标准 Rails 表单上新建和创建之间有一个步骤,我想将参数从我的“新建”操作发送到“确认”到“创建”。

如何发布来自“确认”操作的数据以创建而不从我的“新”操作创建相同的(隐藏)表单并通过我的@order 变量设置每个值?

我尝试通过 link_to 发送 @order 变量

=link_to orders_path(order: @order), method: 'post', class: 'f-sub' do
      =image_tag "confirm.png"

但我收到我的 order_params 为空的错误...

【问题讨论】:

    标签: ruby-on-rails forms


    【解决方案1】:

    1 - 您可以将对象存储在会话中,直到确认页面。

    在你的表格中:

    <% form_for Order.new, url: save_session_path do |f| %>
    

    在你的控制器中:

    def save_session
      session[:order] = params[:order]
      redirect_to confirmation_path
    end
    
    def confirmation
      @order = Order.new(session[:order])
    end
    

    2 - 通过控制器动作传递对象

    在你的表格中:

    <% form_for Order.new, url: confirmation_path do |f| %>
    

    在您的控制器中:

    def confirmation
      @order = Order.new(params[:order])
    end
    

    【讨论】:

      猜你喜欢
      • 2013-11-08
      • 2015-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-16
      • 1970-01-01
      相关资源
      最近更新 更多