Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails RubyonRails-尝试呈现Desive登录表单时出错_Ruby On Rails_Ruby_Devise_Haml - Fatal编程技术网

Ruby on rails RubyonRails-尝试呈现Desive登录表单时出错

Ruby on rails RubyonRails-尝试呈现Desive登录表单时出错,ruby-on-rails,ruby,devise,haml,Ruby On Rails,Ruby,Devise,Haml,我有这个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" .

我有这个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>
它呈现页面,但没有实际的表单。所以我想我需要那一行,我只是不知道如何在不出错的情况下添加那一行

这是我的控制器:

class Mobile::SessionsController < ApplicationController
  def create
    redirect_to home

  end

  def new
    redirect_to home
  end
end
class Mobile::SessionController
知道我做错了什么吗


谢谢

该表单分部使用了它找不到的局部变量
资源

必须将该变量传递给渲染调用

= render "devise/sessions/form", :locals => {:resource => resource}
您可能还缺少其他变量。我的
new.html.haml
还提到了
资源名称
设计映射
。也许你也得通过那些校车

看看文档


顺便说一句,您的HAML应该有
-content\u for
而不是
=content\u for
,因为这是一个控制调用。

注意-在我开始尝试创建会话控制器之前,至少我的登录成功了。我刚刚删除了我的mobile/sessions/new.html.haml,至少我得到了一个错误,没有创建控制器。然后我创建了控制器,现在我遇到了一些新的错误,但至少删除mobile/sessions的new.html.haml似乎是正确的步骤。你能发布你的控制器和你的表单文件吗?@ArthurNeves嗨,亚瑟,我刚刚发布了我的控制器。你指的是哪个表格文件?我也有mobile/registrations/new.html.haml-可能是那个吗?Arthur的意思是
app/views/designe/sessions/\u form.html.haml
@Lass谢谢..你是说designe目录下的new.html.haml文件吗?或者它之外的一个需要使用devisee目录的应用程序?当我添加回app/views/mobile/sessions/new.html.haml时,我在浏览器中遇到了这个错误:NameError in mobile::SessionsController#new undefined local variable或method'home#是的,haml注释是针对
app/views/mobile/sessions/new.haml.html
。您得到的主页错误是因为您的
recirect_to home
似乎不正确。如果在
routes.rb
文件中有一个名为home的路由,那么您的意思可能是
redirect\u to home\u path
。虽然我不得不承认,我不太明白你想要实现什么。你似乎同时描述了多种情况。
= render "devise/sessions/form", :locals => {:resource => resource}