我尝试使用 Rails 3.2.21
练习#163 Self-Referential Association并且几乎可以正常工作,但我只能显示
http://localhost:3000/users/1
而不是
http://localhost:3000/users/current
。我阅读并搜索几乎所有代码,我只找到一个current
:
<%= link_to "View Profile", user_path(:current) %>
我该怎么做?它与Rails 3
有关?非常感谢!
答案 0 :(得分:2)
Railscast有点不同寻常,但user_path()方法将接受一个值(对象,字符串,整数,符号)并在其上调用to_param
。符号(在本例中为:current)将变为“current”,并且构建的url将为“/ users / current”。如果你传递给@user(用户实例),to_param方法将返回一个“1”(对象的id)给你“/ users / 1”。
我说这段代码是非常规的,因为users_controller#show方法不使用ID来查找@user。为方便起见,它只是将其设置为current_user。 Ryan并没有试图教这个,更多的是关于宁静的友谊控制器和数据建模的友谊。
答案 1 :(得分:0)
试试这个
<%= link_to "View Profile", users_path(:current) %>.