我是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的视图页面
答案 0 :(得分: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 %>