0

我正在尝试使用 AJAX 针对我的会员模型呈现我使用设计 2.2.0 创建的注册/登录表单。现在,为了返回 format.js,我没有修改原始的设计 SessionsController,而是创建了一个新控制器,它仅用于渲染“设计/会话/新”模板(请注意,format.html 仅用于调试目的) - 见下面的代码:

class SessionsAjaxController < ApplicationController
def new
    @member = Member.new
    respond_to do |format|
            format.html { render :template => 'devise/sessions/new', :locals =>  {  :resource => @member,  :resource_name => Member } }                       
            format.js  { render :template => 'devise/sessions/new',  :layout => false, :locals =>  {  :resource => @member,  :resource_name => Member} }                          
    end  
end

我在尝试直接转到“/sessions_ajax/new”或从 AJAX 加载时收到以下错误:

undefined method `email' for #<Class:0x410e608>

并且错误指向 new.html.erb 中的“第 11 行附近”

10: <%= f.label :email, "EMAIL" %><br />    
11: <%= f.email_field :email, :autofocus => true %>

我将资源和资源名称正确地传递为:locals,所以我不太明白我在这里做错了什么。有任何想法吗?

谢谢!

4

1 回答 1

0

你必须继承自Devise::SessionsController.

于 2013-04-11T16:26:10.727 回答