簡體   English   中英

Ruby on Rails-嘗試呈現設計登錄表單時出錯

[英]Ruby on Rails - error when trying to render a devise login form

我有這個haml文件:

= 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

知道我做錯了什么嗎?

謝謝!!

局部形式使用了它找不到的局部變量resource

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

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

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

看一下渲染局部文檔。

順便說一句,您的HAML應該具有- content_for not = content_for ,因為這是一個控制調用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM