如何使用haml和rails在链接中指定控制器和方法?

时间:2013-05-06 18:30:53

标签: ruby-on-rails haml

我是ralis的新手,我正在尝试创建一个调用特定控制器的特定方法的链接,在这种情况下car和方法add_to_cart发送参数,遗憾的是我不知道该怎么做

例如,我想要这样的东西,但即使我是人物角色

= link_to "Add to cart", {:controller => "car", :action => "add_to_cart", :car => car.id }

如果我将其粘贴就好,我会收到错误消息无路由匹配,是否有任何方法可以实现?或者可能是旧格式(我不明白)我想应该是像

=link_to "car", add_to_cart_car_path(@car.id), class: "btn"

还显示错误,

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

假设您有一个名为car的资源的路由设置:

resources :cars

您可以通过将其更改为:

来添加成员操作
resources :cars do
  get :add_to_cart, :on => :member
end

您现在可以写:

= link_to "Add to Cart", add_to_cart_car_path(@car), class: 'btn'

答案 1 :(得分:0)

您可以将路线添加到routes.rb:

match 'add_to_cart' => 'cars#add_to_cart'

请记住重新启动rails服务器以便识别新路由。