2017-08-03 98 views
0

我在标准rails表单上创建和创建新步骤,我想将参数从'新'动作发送到'确认'到'创建'。Rails表单 - 新建和创建之间的步骤

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

我试着通过的link_to

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

发送@order变量,但我收到我的order_params是空的错误...

回答

0

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

在您的形式:

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

在你的控制器 - :

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

def save_session 
    session[:order] = params[:order] 
    redirect_to confirmation_path 
end 

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

2通过控制器动作

在您的形式传递的对象在你的控制器中:

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