2014-03-12 36 views
0

在我的應用程序時,「訂購」鏈接用戶點擊旁邊的一個產品,Rails的帶他去,在那裏他可以指定他希望量的形式等如何在Rails中將項目添加到沒有隱藏字段的訂單中?

new_order_path(product: product) 

頁有一個隱藏字段,需要一個參數就知道我們加入到這個新秩序

<%= f.hidden_field :product_id, :value => @product.id %> 

我不知道該產品是否有提交的product_id我的命令,而無需使用一個隱藏字段的方式。

我的電流控制器

def new 
    @order = Order.new 
    @product = Product.find_by(params[:id]) 
    end 

def create 
    @product = Product.find_by(params[:id]) 
    @order = current_user.orders.build(order_params) 
    if @order.save 
     flash[:success] = 'Order created' 
     redirect_to root_url 
    else 
     render :new 
    end 
    end 

回答

0

您可以將產品ID在會話哈希:

def new 
    @order = Order.new 
    @product = Product.find_by(params[:id]) 
    session[:product_id] = @product.id 
end 

def create 
    @product = Product.find_by(session[:product_id]) 
    ... 
end 
相關問題