2010-11-09 66 views
5

在使用Rails中的链接查看数小时后,我设法实际获得了一个链接来调用控制器中的方法。但我仍然不明白为什么我所有的其他尝试都失败了。我希望你能帮我解决这个问题。使用link_to调用控制器动作

我有脚手架“汽车”。在汽车的show view中,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 %>不行?

对于我在控制器中创建的每种方法,是否需要在routes.rb文件中放置GET

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

+0

从命令行中,尝试使用“rake routes”来查看您的选项。 – 2010-11-09 17:51:45

回答

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,它们都是很棒的资源。

+1

啊,“方法”现在更有意义。 – deRailed 2010-11-09 18:46:07

+0

当然,我只是在等着看别人有没有什么贡献。保护你。 – deRailed 2010-11-10 10:29:33

相关问题