Rails新手在这里。
任何人都可以解释以下几行代码之间的区别:
match '/' => 'posts#index'
和
match '/' => 'posts#index', :as => 'posts'
我问的原因是因为当我使用后一段代码时,我无法创建新帖子:|
答案 0 :(得分:3)
后者正在创建一条命名路线。它创建了一个帮助程序,您可以从您的视图中调用,在本例中为posts_path
& posts_url
。
话虽如此,我不确定您是如何使用其中任何一个创建新帖子的,因为您没有定义posts#new
或posts#create
。您的路线文件还有更多吗?此外,我不确定这是否是一项要求,但您应将:as
选项作为符号传递给:as => :posts
。
作为参考,您可以从控制台运行rake routes
并查看应用程序中定义的所有路由的列表。您还会看到它们的名称 - 这是一直到右侧的列 - 然后您可以将_path
或_url
附加到。