4

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

これに対する解決策はありますか、それとも何か間違ったことをしましたか?

4

2 に答える 2

1

のユーザーid=1が heroku に存在しますか? もしそうなら、あなたは使用しましたか?

$ 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

于 2012-12-03T07:05:17.650 に答える
0

移行ファイルを見てみましょう。PG は Users という名前のテーブルを見つけることができません (複数形を強調)。そのため、移行を実行すると、テーブルが見つかったように見えます。

コンソールでユーザーをどのように作成しましたか? u = User.new または u = User.build を使用した場合は、必ず u.save を実行して、実際にデータベースに保存されていることを確認してください。

于 2012-12-03T05:12:42.647 に答える