在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
?
我似乎无法找到任何网站解释如何使用链接和路由。他们似乎只是分开了。你们有没有这方面容易理解的教程?
答案 0 :(得分:10)
尝试link_to "Drive", :controller => "car", :action => "drive"
此外,method
用于选择HTTP方法(GET,POST,...)。它不像常规那样method
。
请务必查看Rails Routing from the Outside In和The Lowdown on Routes in Rails 3,它们都是非常棒的资源。