Ruby on rails link_to语法

按照我发现的教程后。 我现在再次重做它,没有脚手架部分,更好地学习它。

但是,编辑我的\ app \ views \ home \ index.html.erb以包含:

Rails test project

我收到一个错误:

 undefined local variable or method `posts_path' for # 

在我这样做之前,我运行了rake db:create ,定义了一个迁移类并运行了rake db:migrate ,一切都没有问题。

所以数据库应该包含一个posts表。 但是link_to命令似乎无法找到posts_path 。 那个变量(或者它甚至是一个函数?)可能是通过脚手架例程定义的。

我现在的问题是; 我如何自己手动完成,定义posts_path

您需要在config/routes.rb定义post的路径

Rails 2.x语法:

 map.resources :posts 

Rails 3.x语法:

 resources :posts 

_path方法通常是动态生成的。 当没有到达指定对象的路径时,或者在这种情况下显式调用的方法时,会出现丢失错误的方法。

定义路线应该解决这个问题。 上面的HermanD显示了一种方法。

您可以从rails应用程序的根目录运行“rake routes”以查看所有已配置的路由

<%= link_to“我的博客”,posts_path>

如果这正是您的erb所包含的内容,那么它将缺少scriptlet元素末尾的百分号。 不确定这是否会引起你的问题,或者说我的字面意思太过分了……