ruby on rails -路由存在,但得到错误



我正在我的应用程序布局中尝试此代码。它是屏幕顶部的"用户导航"栏。

<%= link_to "My Profile", edit_profile_path, :class => "user_nav_button" %>

I am getting

没有匹配{:action=>"edit",:controller=>"profiles"}的路由

然而,rake路由显示:

edit_profile GET/profiles/:id/edit(.:format) profiles#edit

如果我直接去/profiles/1/edit我的视图工作,link_to显示..........

我认为这与没有正确获取参数有关…我使用的是设计/cancan/rolify和current_user。Id是我的参数

path方法调用需要对象的实例。否则,Rails不知道你想编辑哪个用户配置文件,也不会猜测。

edit_profile_path(@user) # Where @user is an instance of a User model from your controller

如果你不想让id显示在地址栏上,你应该添加一个新的路由到/profile/edit之类的东西,不带id,在控制器上,获取current_user的id

否则使用edit_profile_path(@user)就像patrickmcgraw上面说的

相关内容

  • 没有找到相关文章

最新更新