我在rails应用程序中设置用户路径时遇到问题。
在routes.rb中,我添加了resources :users
。
TestApp::Application.routes.draw do
resources :users
root :to => 'xxx#home'
match '/about', to: 'xxx#about'
match '/test', to: 'xxx#test'
match '/news', to: 'xxx#news'
match '/signup', to: 'users#new'
end
在users_controller.rb中,我添加了:
class UsersController < ApplicationController
def new
end
def show
@user = User.find(params[:id])
end
end
我创建了新的show.html.rb文件,其中包含以下行:
<%= @user.name %>, <%= @user.email %>
但是当我部署到heroku时,我收到了这个信息,我看不到那个页面。
heroku[router]: at=info method=GET path=/users/1
是否有一些解决方案,或者我做错了什么?
答案 0 :(得分:1)
您确定heroku上存在id=1
的用户吗?如果是的话,你使用过吗?
$ heroku run console
此命令在生产环境中显示rails控制台。在其中,你做过类似的事吗?
u = User.create(somehash_with_attrs)
# .. or
u = User.new
# ...
u.save
u.id # => 1 or 23
# If your are not sure which id your user has try the following
User.first.id
您是否知道yourapp.domain/users/1
指向用户记录的id=1
而不是数据库中的第一条记录。
答案 1 :(得分:0)
让我们看看您的迁移文件。 PG找不到名为Users的表(强调复数)。因此,在您运行迁移后,它看起来像找到了表。
您是如何在控制台中创建用户的?如果您使用过,例如u = User.new或u = User.build,请确保执行u.save以确保它实际保存到数据库中。