2012-04-18 43 views
0

我有這個HAML文件時:Ruby on Rails的 - 錯誤試圖呈現有一項登錄表單

= content_for :page_title do 
    = t :page_title_login 
= content_for :primary_content do 
    #login_box 
    .span6 
     #traditional-login 
     %hgroup 
      %h3= t :heading_account_login 
     = render "devise/sessions/form" 

    .span4 

= content_for :before_closing_body_tag do 
    configure_login_form(#{request.xhr?.to_s.downcase}); 

它位於我app/views/mobile/sessions/new.haml.html路徑。

它給這個錯誤:

Showing /Users/alexgenadinik/projects/cmply/cmply-app/app/views/devise/sessions/_form.html.haml where line #1 raised: 

undefined local variable or method `resource' for #<#<Class:0x148213358>:0x14820dac0> 

但是當我註釋掉這一行:

= render "devise/sessions/form" 

它呈現的頁面,但沒有實際的形式。所以我認爲我需要這一行,我只是不知道如何在沒有得到錯誤的情況下重新添加該行。

這裏是我的控制器:

class Mobile::SessionsController < ApplicationController 
    def create 
    redirect_to home 

    end 

    def new 
    redirect_to home 
    end 
end 

任何想法,我可能是做錯了?

謝謝!

+0

注 - 在我開始嘗試創建會話控制器之前,至少我的登錄工作。我剛剛刪除了我的mobile/sessions/new.html.haml,至少我得到了一個錯誤,說明創建控制器沒有生成。然後我創建了控制器,現在我得到了一些新的錯誤,但至少它似乎刪除了移動/會話的new.html.haml是一個正確的步驟。 – GeekedOut 2012-04-18 14:36:58

+0

你可以發佈你的控制器以及你的_form文件嗎? – 2012-04-18 14:37:38

+0

@ArthurNeves你好亞瑟,我只是張貼我的控制器。你的意思是哪個_form文件?我也有移動/註冊/ new.html.haml - 也許那個? – GeekedOut 2012-04-18 14:40:00

回答

1

表格部分使用它找不到的局部變量resource

您必須將該變量傳遞給render調用。

= render "devise/sessions/form", :locals => {:resource => resource} 

您可能還缺少其他變量。我的new.html.haml也提到了resource_namedevise_mapping。也許你也必須通過這些變數。

看看rendering partials文檔。

順便說一下,您的HAML應該有- content_for而不是= content_for,因爲這是一個控制呼叫。

+0

@Lass謝謝..你在談論你的devise目錄下的new.html.haml文件嗎?還是需要使用devisee目錄的外部? – GeekedOut 2012-04-18 14:45:32

+0

當我添加app/views/mobile/sessions/new.html.haml時,我在瀏覽器中出現這個錯誤:MobileError :: SessionsController#new 未定義的局部變量或方法'home'for# GeekedOut 2012-04-18 14:46:46

+0

是的,HAML評論是針對'app/views/mobile/sessions/new.haml.html'的。 你得到的_home_錯誤是因爲你有'recirect_to home'這似乎是不正確的。如果你的'routes.rb'文件中有一個名爲_home_的路由,你的意思可能是'redirect_to home_path'。雖然我不得不承認我不太明白你想要完成什麼。你似乎在同時描述多種情況。 – Laas 2012-04-19 13:38:14