![](/img/trans.png)
[英]How to add an extra shipping cost to the total price of my shopping cart in ruby on rails?
[英]How can I fix my method “add” to cart to populate my shopping cart in rails 3.2?
我正在嘗試創建一個簡單的購物車,該購物車將在會話中保存,但到目前為止對我不起作用。 返回錯誤:沒有路線與[GET]“ / cart / 2”匹配
這是我從購物車控制器添加的內容
def index
session[:cart] = {}
render 'cart/index'
end
def add
@catalogue = Catalogue.find(params[:id])
cart = session[:cart]
cart = {:id => Catalogue.find(params[:id]) , :catalogue => @catalogue.name,category => @catalogue.category, :code => @catalogue.code , :colour=> @catalogue.colour, :description => @catalogue.description, :image => @catalogue.image , :unitprice => @catalogue.unitprice, :unitquantity => += @catalogue.unitquantity, :unitweight => @catalogue.unitweight }
session[:cart] = cart
render 'cart/add'
end`
任何幫助都感激不盡。
這是我的耙路...耙路
cart_index GET /cart/index(.:format) cart#index
cart_success GET /cart/success(.:format) cart#success
PUT /cart/:id(.:format) cart#add
DELETE /cart/:id(.:format) cart#remove
cart DELETE /cart(.:format) cart#clear
cart_checkout POST /cart/checkout(.:format) cart#checkout
new_admin_session GET /admins/sign_in(.:format) devise/sessions
#new
admin_session POST /admins/sign_in(.:format) devise/sessions
#create
destroy_admin_session DELETE /admins/sign_out(.:format) devise/sessions
#destroy
admin_password POST /admins/password(.:format) devise/password
s#create
new_admin_password GET /admins/password/new(.:format) devise/password
s#new
edit_admin_password GET /admins/password/edit(.:format) devise/password
s#edit
PUT /admins/password(.:format) devise/password
s#update
cancel_admin_registration GET /admins/cancel(.:format) devise/registra
tions#cancel
admin_registration POST /admins(.:format) devise/registra
tions#create
new_admin_registration GET /admins/sign_up(.:format) devise/registra
tions#new
edit_admin_registration GET /admins/edit(.:format) devise/registra
tions#edit
PUT /admins(.:format) devise/registra
tions#update
DELETE /admins(.:format) devise/registra
tions#destroy
catalogues GET /catalogues(.:format) catalogues#inde
x
POST /catalogues(.:format) catalogues#crea
te
new_catalogue GET /catalogues/new(.:format) catalogues#new
edit_catalogue GET /catalogues/:id/edit(.:format) catalogues#edit
catalogue GET /catalogues/:id(.:format) catalogues#show
PUT /catalogues/:id(.:format) catalogues#upda
te
DELETE /catalogues/:id(.:format) catalogues#dest
roy
new_user_session GET /users/sign_in(.:format) devise/sessions
#new
user_session POST /users/sign_in(.:format) devise/sessions
#create
destroy_user_session DELETE /users/sign_out(.:format) devise/sessions
#destroy
user_password POST /users/password(.:format) devise/password
s#create
new_user_password GET /users/password/new(.:format) devise/password
s#new
edit_user_password GET /users/password/edit(.:format) devise/password
s#edit
PUT /users/password(.:format) devise/password
s#update
cancel_user_registration GET /users/cancel(.:format) devise/registra
tions#cancel
user_registration POST /users(.:format) devise/registra
tions#create
new_user_registration GET /users/sign_up(.:format) devise/registra
tions#new
edit_user_registration GET /users/edit(.:format) devise/registra
tions#edit
PUT /users(.:format) devise/registra
tions#update
DELETE /users(.:format) devise/registra
tions#destroy
最后是我的添加到購物車按鈕
<%= link_to "Add to cart", controller: "cart", action: "add", id: catalogue.id , method: :post %>
編輯:
我已更改鏈接,以將商品從上方添加到購物車中,
<td><%= link_to "Add to cart", add_cart_path(catalogue.id), method: :get %></td>
or
<td><%= link_to "Add to cart", add_cart_path(catalogue.id), method: :get %></td>
現在出現以下錯誤:
undefined method `add_cart_path' for #<#<Class:0x5e4f070>:0x400cd40>
Extracted source (around line #36):
33: <td><%= link_to 'Show', catalogue %></td>
34: <td><%= link_to 'Edit', edit_catalogue_path(catalogue) %></td>
35: <td><%= link_to 'Destroy', catalogue, method: :delete, data: { confirm: 'Are you sure?' } %></td>
36: <td><%= link_to "Add to cart", add_cart_path(catalogue.id), method: :post %></td>
37:
38: </tr>
39: <% end %>
Rails.root: C:/Users/Vincent/Desktop/BSHCE4/sewingsupplies - 22-03
Application Trace | Framework Trace | Full Trace
app/views/catalogues/index.html.erb:36:in `block in _app_views_catalogues_index_html_erb__837547684_33595272'
app/views/catalogues/index.html.erb:21:in `each'
app/views/catalogues/index.html.erb:21:in `_app_views_catalogues_index_html_erb__837547684_33595272'
app/controllers/catalogues_controller.rb:7:in `index'
仍然不能為我工作。
編輯:
routes.rb
Sewingsupplies::Application.routes.draw do
# get "cart/index"
# get "cart/success"
# put "/cart/:id" => "cart#add"
# delete "/cart/:id" => "cart#remove"
# delete "/cart" => "cart#clear"
# post "/cart/checkout"
resources :carts do
member do
put 'add'
end
end
devise_for :admins
resources :catalogues
devise_for :users
耙道:
cart_index GET /cart/index(.:format) cart#index
cart_success GET /cart/success(.:format) cart#success
PUT /cart/:id(.:format) cart#add
DELETE /cart/:id(.:format) cart#remove
cart DELETE /cart(.:format) cart#clear
cart_checkout POST /cart/checkout(.:format) cart#checkout
new_admin_session GET /admins/sign_in(.:format) devise/sessions
#new
admin_session POST /admins/sign_in(.:format) devise/sessions
#create
destroy_admin_session DELETE /admins/sign_out(.:format) devise/sessions
#destroy
admin_password POST /admins/password(.:format) devise/password
s#create
new_admin_password GET /admins/password/new(.:format) devise/password
s#new
edit_admin_password GET /admins/password/edit(.:format) devise/password
s#edit
PUT /admins/password(.:format) devise/password
s#update
cancel_admin_registration GET /admins/cancel(.:format) devise/registra
tions#cancel
admin_registration POST /admins(.:format) devise/registra
tions#create
new_admin_registration GET /admins/sign_up(.:format) devise/registra
tions#new
edit_admin_registration GET /admins/edit(.:format) devise/registra
tions#edit
PUT /admins(.:format) devise/registra
tions#update
DELETE /admins(.:format) devise/registra
tions#destroy
catalogues GET /catalogues(.:format) catalogues#inde
x
POST /catalogues(.:format) catalogues#crea
te
new_catalogue GET /catalogues/new(.:format) catalogues#new
edit_catalogue GET /catalogues/:id/edit(.:format) catalogues#edit
catalogue GET /catalogues/:id(.:format) catalogues#show
PUT /catalogues/:id(.:format) catalogues#upda
te
DELETE /catalogues/:id(.:format) catalogues#dest
roy
new_user_session GET /users/sign_in(.:format) devise/sessions
#new
user_session POST /users/sign_in(.:format) devise/sessions
#create
destroy_user_session DELETE /users/sign_out(.:format) devise/sessions
#destroy
user_password POST /users/password(.:format) devise/password
s#create
new_user_password GET /users/password/new(.:format) devise/password
s#new
edit_user_password GET /users/password/edit(.:format) devise/password
s#edit
PUT /users/password(.:format) devise/password
s#update
cancel_user_registration GET /users/cancel(.:format) devise/registra
tions#cancel
user_registration POST /users(.:format) devise/registra
tions#create
new_user_registration GET /users/sign_up(.:format) devise/registra
tions#new
edit_user_registration GET /users/edit(.:format) devise/registra
tions#edit
PUT /users(.:format) devise/registra
tions#update
DELETE /users(.:format) devise/registra
相應地調整routes.rb
文件
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.