0

私はRORが初めてで、それを学んでいます。私のコントローラーには管理者レコードがあり、その管理オブジェクトを管理者のビュー ページに渡して、管理者の名前を取得しています。しかし、名前にアクセスしようとすると、エラーが表示されます:

undefined method 'name' for :current_admin:Symbol

助けてください..以下の私のコードを見つけてください

Sessions Controller

def create
  admin=Admin.find_by_email(params[:session][:email].downcase)
  if admin && admin.authenticate(params[:session][:password])
    redirect_to(admins_index_path(:current_admin=>admin))
  end
end

index_admin のビュー ページで

4

1 に答える 1

0

アクションでindex_adminは、パラメータから管理オブジェクトを取得する必要があります。通常、param の値は単なる文字列です。

def create
  admin=Admin.find_by_email(params[:session][:email].downcase)
  if admin && admin.authenticate(params[:session][:password])
    redirect_to(admins_index_path(:current_admin => admin.id))  # pass the id, not the object
  end
end

def index_admin
  @current_admin = Admin.find(params[:current_admin])
end

あなたのindex_admin.html.erbで:

Hi <%= @current_admin.name %>
于 2012-09-20T11:09:08.100 に答える