关于routes.rb的问题

时间:2011-06-20 03:18:18

标签: ruby-on-rails

Rails新手在这里。

任何人都可以解释以下几行代码之间的区别:

match '/' => 'posts#index'    

match '/' => 'posts#index', :as => 'posts'     

我问的原因是因为当我使用后一段代码时,我无法创建新帖子:|

1 个答案:

答案 0 :(得分:3)

后者正在创建一条命名路线。它创建了一个帮助程序,您可以从您的视图中调用,在本例中为posts_path& posts_url

话虽如此,我不确定您是如何使用其中任何一个创建新帖子的,因为您没有定义posts#newposts#create。您的路线文件还有更多吗?此外,我不确定这是否是一项要求,但您应将:as选项作为符号传递给:as => :posts

作为参考,您可以从控制台运行rake routes并查看应用程序中定义的所有路由的列表。您还会看到它们的名称 - 这是一直到右侧的列 - 然后您可以将_path_url附加到。