Ruby on rails 4 rails URL中的点

Ruby on rails 4 rails URL中的点,ruby-on-rails-4,devise,routes,user-profile,Ruby On Rails 4,Devise,Routes,User Profile,我正在尝试向我的Desive用户添加显示页面,但似乎无法正确传递id值,如何创建指向显示页面的链接?出于某种原因,rails正在对URL执行此操作 /表演1 用户控制器: def show @user = User.find(params[:id]) end user/show.html.erb <h1><%= @user.username %></h1> 您已将显示路线定义为: get "users/show" 请注意,此路由中没有动态段,如:id。

我正在尝试向我的Desive用户添加显示页面,但似乎无法正确传递id值,如何创建指向显示页面的链接?出于某种原因,rails正在对URL执行此操作 /表演1

用户控制器:

def show
@user = User.find(params[:id])
end 
user/show.html.erb

<h1><%= @user.username %></h1>

您已将显示路线定义为:

get "users/show"
请注意,此路由中没有动态段,如
:id
。这意味着您的路由不希望传递任何值。但是当链接到此路由时,您通过了
@user.id

<%= link_to @post.email, users_show_path(@user.id) %>

 get "users/show/:id" => "users#show", as: :users_show

对于id=1的用户,
,当您单击用户配置文件链接时,生成的url将是
http://yourdomain/users/show/1

我通过在
下面添加
资源:用户
为:用户设计
来修复它,但它只有在我有链接
当前用户id
时才起作用,如果我输入
@user.id
我没有得到方法错误,而且
@post.username
我得到
找不到id=dexter的用户
这个建议对我帮助很大!
<%= link_to @post.email, users_show_path(@user.id) %>
 get "users/show"
 get "users/show/:id" => "users#show", as: :users_show