我是Rails中的一个初学者,我正在关注一本书中的代码,我正在尝试查看它是否中断/正常工作,无论如何继承我的UserControllers classUserController
class UsersController < ApplicationController
def new
@user = User.new
end
def edit
@user = User.find(params[:id])
end
def show
@user = User.find(params[:id])
end
def create
@user = User.new(params[:user])
if @user.save
redirect_to @user, :notice => 'Cadastro realizado'
else
render :new
end
end
end
继续我的show.html.erb
<p id="notice"><%=notice%></p>
<h2>Perfil: <%=@user.full_name %></h2>
<ul>
<li>Localização: <%= @user.location %> </li>
<li>Bio: <%= @user.bio %></li>
</ul>
<%= link_to 'Editar Perfil', edit_user_path(@user) %>
<%= link_to 'Mostrar Perfil', show_user_path(@user) %>
我的问题出在最后一行,当我尝试访问此页面时出现NomethodError,我想了解为什么,为什么我可以将其更改为@user并且页面正常工作?
答案 0 :(得分:3)
尝试:
<%= link_to 'Mostrar Perfil', user_path(@user) %>
甚至只是
<%= link_to 'Mostrar Perfil', @user %>
要了解如何命名路线,请打开控制台并运行
rake routes