2014-01-23 110 views
-1

缺少模板用户/注册/新用:呈现给人缺少模板错误

{ :locale=>[:en], 
    :formats=>[:html], 
    :handlers=>[:erb, :builder, :raw, :ruby, :jbuilder, :coffee] 

redirect_to new_user_registration_url 

工作正常,但是

render new_user_registration_url 

给上述错误。

class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController 

    def facebook 

    @user, new_record = User.find_or_create(request.env["omniauth.auth"], current_user) 

    if @user.persisted? 

     if new_record 

     sign_in @user 

     redirect_to basic_profile_detail_path 

     else 

     sign_in_and_redirect @user, :event => :authentication 

     set_flash_message(:notice, :success, :kind => "Facebook") if is_navigational_format? 

     end 

    else 

     session["devise.facebook_data"] = request.env["omniauth.auth"] 

     render new_user_registration_url 

    end 

    end 

end 

这里是我的控制器但是节省的Facebook身份验证数据之前,我要问的联络电话号码形式的用户和其他需要从@user数据填满。因此我不能在这种情况下使用重定向。

+1

显示您的控制器代码。顺便说一句,你滥用'渲染',所以我会提出一些阅读,例如:http://guides.rubyonrails.org/layouts_and_rendering.html –

+0

想出我需要使用渲染'devise/registrations/new'从Devise控制器继承。 –

回答

0

Missing template users/registrations/new意味着您必须在app/views/users/registrations/下创建一个名为new.html的模板文件。 (例外情况见formats)。

尽管如此,正如@Marek Lipka所说,你滥用渲染,所以你应该看看下面的guide