簡単な Rails アプリの作成を開始し、Devise を認証に使用しました。ユーザーがログインした後、ユーザー用のダッシュボード ページを作成しました。以下に追加された users_contoller を使用しています。
class UserController < ApplicationController
before_filter :authenticate_user!
def show
@user = User.find(params[:id])
end
end
この user#show の名前をルートのダッシュボードに変更しました。
match '/dashboard', to: 'user#show'
以下に示すように、これが機能するかどうかを確認するために、User show html ページに if else ステートメントを作成しました。
<% if @user.lists.any? %>
Cool you have lists
<% else %>
OK No Lists
<%= @user[:id] %>
<% end %>
残念ながら、ブラウザでページをロードしようとすると、エラーが表示されるだけです
Couldn't find User without an ID
これが単にDeviseの設定なのか、それとももっと基本的なものなのかはわかりません。これが初心者の質問である場合は、事前に謝罪してください。