Alb*_*Alb 1 ruby ruby-on-rails
Rails新秀在这里.尝试从导航栏中的图像链接到购物车显示页面.代码:
<%= link_to(image_tag("cart.png"),cart_path) %>
Run Code Online (Sandbox Code Playgroud)
给我这个错误:
No route matches {:action=>"show", :controller=>"carts"} missing required keys: [:id]
Run Code Online (Sandbox Code Playgroud)
我的推车控制器从这开始:
def show
begin
@cart = Cart.find(params[:id])
Run Code Online (Sandbox Code Playgroud)
你向导的任何见解都会很棒.
既然你说你是新手,我会详细解释.这个说法:
@cart = Cart.find(params[:id])
Run Code Online (Sandbox Code Playgroud)
意思是"查看数据库并找到ID为X的购物车".但是,当你这样做时:
<%= link_to(image_tag("cart.png"),cart_path) %>
Run Code Online (Sandbox Code Playgroud)
你没有提供那个id.这就是为什么它会给你这个错误.
我不知道你的路由是如何定义的,但是你可以这样做:
<%= link_to(image_tag("cart.png"),cart_path(cart_id_here) %>
Run Code Online (Sandbox Code Playgroud)
这是一种说法,"id为X的购物车的路径".