class CartController < ApplicationController
def add
id = params[:id]
cart = session[:cart] ||= {}
cart[id] = (cart[id] || 0) + 1
redirect_to :action => :index
end
def index
@cart = session[:cart] || {}
end
end
<h1 id="prodhead">Products</h1>
<table class="catalog">
<% for item in @items %>
<tr>
<td>
<div class="image">
<%= link_to (image_tag item.image_url), item %>
</div>
</td>
<td>
<div class="title">
<%= link_to item.title, item %>
</div>
<div class="description">
<%=h item.description %>
</div>
<div class="links">
<% if session[:login] == 1 %>
<%= link_to 'Edit Item', edit_item_path(item) %> |
***<%= link_to 'Delete Item', item, :confirm => 'Are you sure?', :method => :delete %>***
<% else %>
<%= link_to "Add to Cart", :controller => :cart, :action => :add, :id => item %><br />
<% end %>
</div>
<div class="price">
<%= number_to_currency(item.price, :unit => "$") %>
</div>
</td>
</tr>
<% end %>
</table>
<% if session[:login] == 1 %>
<p><%= link_to 'New item', new_item_path %></p>
<% end %>
OnlineShop::Application.routes.draw do
get "cart/index"
get "cart/add"
get "cart/checkout"
get "cart/del"
get "site/about"
get "site/contact"
get "user/admin_login"
get "user/logout"
resources :items
答案 0 :(得分:0)
首先,我注意到你转发了你的问题,但是这次更具描述性,请为未来的问题,在创建一张票之前考虑一下并花时间编辑之前需要精心保持社区清洁的门票。
OT: 我看到你已经创建了具有基本CRUD功能的项目和购物车资源,但是你做的方式并不是“导轨方式”我建议你使用scaffold命令启动一个项目bij,以了解如何实现这个CRUD和路由。
如果您愿意进一步了解该主题,请参阅:http://guides.rubyonrails.org/getting_started.html
另外我注意到你使用“h”语法来转义输出这只是在Rails 2.3.8之前我可以建议在开始时使用更新的rails版本吗?