Bir kartta bir ürüne miktar ekleyebileceğim bir sayfa uygulamaya çalışıyorum. Bu konuda iyi dersler var mı?Raylar GUT ile eşleşmiyor, ancak eğim rotası var olduğunu gösteriyor
No route matches {:action=>"show", :controller=>"carts", :id=>nil} missing required keys: [:id]
... aklınızda bulundurun:
<%= form_for(@cart[0]) do |f| %>
<% if @cart.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@cart.errors.count, "error") %> prohibited this cart from being saved:</h2>
<ul>
<% @cart.errors.full_messages.each do |message| %>
<li><%= message %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
Ve hatası ...
yüzden form_for
tipik edit
formunu uygulayan çalıştı ama bu beni böyle hatalar vererek tuttu Bu edit
eyleminde, bu yüzden neden show
eylem hakkında şikayet ediyor bilmiyorum. Neyse ben id: false
yapılmış ve parametreler
<td><%= link_to 'Edit', edit_cart_path(cart, :id => cart.cart_id, :product_id => cart.product_id) %></td>
Bu benim denetleyicisi eylem
def edit
@cart = Cart.where(:cart_id => params[:id], :product_id => params[:product_id])
end
içinde ne var index.html
dosyasında cart_id
benim birincil anahtar ı özelleştirmek özelleştirilmiş Ve doğruladı var Doğru kaydı bulur.
Bu yüzden, tüm bunları vidaladım ve form_tag
yapmamaya karar verdim ve miktarı update
eylemine parametre olarak göndermeye karar verdim. edit.html
<%= form_tag('/carts', method: 'put') do %>
<%= number_field_tag "Quantity" %>
<% end %>
aşağıdaki Ama sonra şikayet gibi olduğunda hiçbir koymak rota Ben :id
yok çünkü bu hatayı hayal ediyorum
cart GET /carts/:id(.:format) carts#show
PATCH /carts/:id(.:format) carts#update
PUT /carts/:id(.:format) carts#update
var ... vardır o halde ben şu
resources :carts, :except => 'put' do
# put :carts
put "/carts" => "carts#update"
end
gibi koymak eylemi geçersiz karar Ama aynı no put route found
hata alıyorum.
Herhangi bir fikrin var mı? Bu yolların
Başlangıç hanesine odaklanmanızı sağlar Kodun hangi satırında bu hatayı aldınız? Hiçbir rota eşleşmiyor {: action => "show",: controller => "carts",: id => nil} eksik anahtarlar : [: id] '? – Pavan