-2

购物车控制器 - 我在声明删除功能时遇到问题

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 => "&dollar;") %>
    </div>
</td>
</tr>

<% end %>

</table>


<% if session[:login] == 1 %>
<p><%= link_to 'New item', new_item_path %></p>

<% end %>

Routes.rb - 删除的路线也已经定义

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
4

1 回答 1

0

好吧,首先我注意到您重新发布了您的问题,但是这次更具描述性,请对于未来的问题,在创建票证之前请三思,并花时间编辑需要改进以保持社区清洁的以前的票证。

OT:我看到你已经创建了具有基本 CRUD 功能的物品和购物车资源,但是你这样做的方式并不完全是“铁轨方式”我建议你使用脚手架命令开始一个项目 bij 来了解这个 CRUD 和路线应该如何实施的。

如果您愿意了解有关该主题的更多信息,我建议您阅读: http: //guides.rubyonrails.org/getting_started.html

另外我注意到您使用“h”语法来转义输出,这仅在 Rails 2.3.8 之前完成,我可以建议在开始时使用更新的 rails 版本吗?

于 2013-02-20T13:42:38.130 回答