我不断收到此错误,但不知道为什么。
这是我现在的用户 Controller :
def show
@user = User.find_by(id: params[:id])
end
以及我尝试过的
@user = User.find_by_id(params[:id])
@user = User.find(params[:id])
我当前的 HTML:
<li><%= link_to "Profile", user_path(@user, show) %></li>
以及我尝试过的:
<li><%= link_to "Profile", user_path(@user) %></li>
<li><%= link_to "Profile", user_path(@user.id) %></li>
<li><%= link_to "Profile", "/users/#{@user.id}" %></li>
<li><%= link_to "Profile", user_path %></li>
<li><%= link_to "Profile", user_show_path %></li>
感谢帮助。谢谢!
rake 动路线
routes
最佳答案
请记住:find_by
可以返回 nil。所以使用前一定要检查一下。
def show
@user = User.find_by(id: params[:id])
unless @user
render status: 404, nothing: true
end
end
我想这就是你的情况。 find_by
只返回 nil
关于ruby-on-rails - 未定义方法 'id' 为 nil :NilClass, Ruby on Rails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33376187/