用户路线 - Rails

时间:2012-12-01 18:09:56

标签: ruby-on-rails ruby heroku

我在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

是否有一些解决方案,或者我做错了什么?

2 个答案:

答案 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以确保它实际保存到数据库中。