Je construis un panier et j'ai pas un problème avec la forme suivante:Rails: formulaire n'apparaîtra
<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 %>
Quand je lance le serveur, la forme ne apparaissent dans la vue même si Rails ne pose aucun problème. Je ne comprends pas pourquoi, une idée?
EDIT
voici mon 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
ne manquez-vous pas le '@' dans '<% = form_for order_item, distant: true do | f | %> '->' @ order_item'? – fanta