使用link_to调用控制器操作

时间:2010-11-09 16:55:44

标签: ruby-on-rails routes hyperlink

在Rails中浏览链接一段时间之后我已经设法实际获得一个链接来调用我的控制器中的方法。但我仍然不明白为什么我的其他尝试都失败了。我希望你能帮我解决这个问题。

我有脚手架“汽车”。在汽车的show视图中,id喜欢单击在我的Car控制器中调用方法“drive”的链接。

这项工作: <%= link_to "Drive", drive_car_path(@car) %>

这似乎只有我有这个是我的routes.rb:

才有效
resources :cars do
  member do
    get 'drive'
  end
end

为什么<%= link_to "Drive", car_path, :method => :drive %>不起作用?

我是否需要在GET文件中为我在控制器中创建的每个方法添加routes.rb

我似乎无法找到任何网站解释如何使用链接和路由。他们似乎只是分开了。你们有没有这方面容易理解的教程?

1 个答案:

答案 0 :(得分:10)

尝试link_to "Drive", :controller => "car", :action => "drive"

此外,method用于选择HTTP方法(GET,POST,...)。它不像常规那样method

请务必查看Rails Routing from the Outside InThe Lowdown on Routes in Rails 3,它们都是非常棒的资源。