2017-05-22 39 views
0

我建立一個購物車,我有以下形式的問題:Rails的:表格顯示不出來

<div id="produits-column-container"> 
<% if @produits %> 
    <% @produits.in_groups_of(4, false).each do |g| %> 
    <% g.each do |produit| %> 
    <div id="produits-row-container"> 
     <div id="fiche-produit-container"> 
     <%= form_for order_item, remote: true do |f| %> 
      <div id="produit-img"> 
      <%= link_to produits_show_path do %> 
       <%= image_tag produit.photo %> 
      <% end %> 
      </div> 
      <div id="produit-nom"> 
      <%= produit.nom %> 
      </div> 
      <div id="produit-prix"> 
      <%= number_to_currency(produit.prix, unit: '€', format: "%n%u") %> 
      </div> 
      <div id="produit-au-panier"> 
      <%= image_tag('icon/icon-panier') %> 
      <%= f.submit 'Ajouter au panier' %> 
      </div> 
     <% end %> 
     </div> 
    </div> 
    <% end %> 
    <% end %> 
<% end %> 

當我運行服務器,形式不盡管Rails沒有提出任何問題,但在視圖中出現。 我不明白爲什麼,有什麼想法?

編輯

這裏是我的produits_controller.rb

class ProduitsController < ApplicationController 

    def index 
    @produits = Produit.all 
    @order_item = current_order.order_items.new 

    if @order_item.save 
     format.html { redirect_to @order_item, notice: 'Le produit a été ajouté au panier !' } 
     format.json { render json: @order_item, status: :created, location: @order_item } 
     format.js 
    else 
     format.html { render action: "create" } 
     format.json { render @order_item.errors, status: unprocessable_entity } 
     format.js 
    end 
    end 

    def show 
    @produit = Produit.find(params[:id]) 
    end 

end 
+0

是不是在'<%= form_for order_item,remote:true do | f | %>' - >'@ order_item'? – fanta

回答

1

if @produits刪除線。

使用該行,當@produits爲空時,表單不顯示。

+0

事情是,我有一個管理會話添加產品,所以這裏produits不是空的...我已經嘗試了你的解決方案,現在我得到這個錯誤:'每個'未定義的方法'零:NilClass' – justinedps26

+0

然後你已經只是回答了問題 - '@ produits'是'Nil'。檢查你的控制器,看看'@ produits'的創建和填充位置 –

+0

我用'produits_controller.rb'編輯了這個問題 – justinedps26