Im at the home page and I want to make a link to /card/:id According to rake routes I have to use cart_path.
The carts route looks like this : class CartsController < ApplicationController before_action :set_cart, only: [:show, :edit, :update, :destroy] def index @carts = Cart.all end def show end def new @cart = Cart.new end Which uses this file : module CurrentCart extend ActiveSupport::Concern private def set_cart @cart = Cart.find(session[:cart_id]) rescue ActiveRecord::RecordNotFound @cart = Cart.create session[:cart_id] = @cart.id end end So I have to figure out how to make the id of the card avaible on the url. Roelof Op maandag 8 december 2014 14:38:20 UTC+1 schreef Vivek Sampara: > If you're on "/cards/:id", then look at your cards_controller.rb , you'd > see @card defined , hence you should use <li><%= link_to '<i class="fa > fa-money"></i> Card'.html_safe, cart_path(@card) %> </li> > > But why would you goto to the show page ( /cards/:id/ ) when you're > already on the page ? regarding the cart, You have to follow the > same procedure. define @cart in the controller/action and use it like this > > <li><%= link_to '<i class="fa fa-money"></i> Card'.html_safe, > cart_path(@cart) %> </li> > > If you can give more info on what you're trying to do (app structure) , We > can help you a bit better :) > > PS: i haven't read the book > > Cheers > Vivek > > > On Mon, Dec 8, 2014 at 7:00 PM, Roelof Wobben <rwo...@hotmail.com > <javascript:>> wrote: > >> Hello, >> >> It's is the form of /cards/:id >> >> I tried >> >> <li><%= link_to '<i class="fa fa-money"></i> Card'.html_safe, >> cart_path(cart) %> </li> >> <li><%= link_to '<i class="fa fa-money"></i> Card'.html_safe, >> cart_path(card) %> </li> >> >> but on both I see this message : >> >> undefined local variable or method `cart' >> >> undefined local variable or method `card' >> >> >> Roelof >> >> Op maandag 8 december 2014 14:23:33 UTC+1 schreef Vivek Sampara: >> >>> What is the url you're using to show this on a separate page ? >>> >>> if its in the pattern of "/cards/:id/something" then you dont have to >>> provide the card path as rails picks up @card object to build the path or >>> you'll have to pass the card variable inside the path method. >>> >>> eg >>> >>> <% @cards.each do |card| %> >>> <li><%= link_to '<i class="fa fa-money"></i> Card'.html_safe, >>> cart_path(card) %> </li> >>> <% end %> >>> >>> This way, rails would know "which" exact card this link should take them >>> to. >>> >>> >>> On Mon, Dec 8, 2014 at 6:48 PM, Roelof Wobben <rwo...@hotmail.com> >>> wrote: >>> >>>> Hello, >>>> >>>> I follow the Agile Web development book. >>>> >>>> Now as a extra challenge I try to make the card visible on a seperate >>>> page. >>>> >>>> So I made this link : >>>> >>>> <li><%= link_to '<i class="fa fa-money"></i> Card'.html_safe, cart_path >>>> %> </li> >>>> >>>> But now I see the above error message. >>>> When I do card_path (:id) I see a message that there is no card with >>>> the id of id. >>>> >>>> Roelof >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "Ruby on Rails: Talk" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to rubyonrails-ta...@googlegroups.com. >>>> To post to this group, send email to rubyonra...@googlegroups.com. >>>> To view this discussion on the web visit https://groups.google.com/d/ >>>> msgid/rubyonrails-talk/9442f58f-58b5-475e-823d- >>>> c797431c41c3%40googlegroups.com >>>> <https://groups.google.com/d/msgid/rubyonrails-talk/9442f58f-58b5-475e-823d-c797431c41c3%40googlegroups.com?utm_medium=email&utm_source=footer> >>>> . >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> >>> -- >> You received this message because you are subscribed to the Google Groups >> "Ruby on Rails: Talk" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to rubyonrails-ta...@googlegroups.com <javascript:>. >> To post to this group, send email to rubyonra...@googlegroups.com >> <javascript:>. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/rubyonrails-talk/46cea06c-0a2c-41e2-88c5-b3516c76c504%40googlegroups.com >> >> <https://groups.google.com/d/msgid/rubyonrails-talk/46cea06c-0a2c-41e2-88c5-b3516c76c504%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> For more options, visit https://groups.google.com/d/optout. >> > > -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscr...@googlegroups.com. To post to this group, send email to rubyonrails-talk@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/7c0f7fbf-6349-4655-9962-21263fe3951e%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.