【问题标题】:twitter-bootstrap-rails undefined local variable or method `html'twitter-bootstrap-rails 未定义的局部变量或方法“html”
【发布时间】:2015-12-30 06:26:28
【问题描述】:

我正在使用 devisetwitter-bootstrap-rails,但在 form_for 上出现错误,我没有包含任何文件吗?

undefined local variable or method `html' for #<#<Class:0x007fc07b544410>:0x007fc0810b8b70>

代码如下:

 <%= menu_group pull: :right do %>
                <% if current_user %>
                    <%= menu_item "Log Out", destroy_user_session_path, :method => :delete%>
                <% else %>
                    <!-- error here-->
                    <%= form_for @user, url: user_session_path(:user), html => {class: "navbar-form pull-right"} do |f| -%>
                      <p><%= f.text_field :email %></p>
                      <p><%= f.password_field :password %></p>
                      <p><%= f.submit "Sign in" %></p>
                    <% end -%>
                <% end %>
            <% end %>

EDIT: 语法错误,刚刚从https://github.com/seyhunak/twitter-bootstrap-rails复制过来

【问题讨论】:

    标签: ruby-on-rails twitter-bootstrap devise


    【解决方案1】:

    这是一个语法错误。使用 Ctrl+F 找到唯一出现的“html”,然后考虑它可能失败的原因。

    :html =>
    

    html:
    

    将是您的解决方案。

    【讨论】:

    • 我刚从github页面复制过来的:github.com/seyhunak/twitter-bootstrap-rails,打错了。
    • 不过,这对于 Stack Overflow 来说确实不是一个好问题。我去过那里,错过了语法错误并稍后为它踢自己,但下次一定要使用Ctrl+F
    • 我的意思是,当您看到该错误消息时,请在您的代码中搜索字符串“html”。我在命令行上使用 grep,但 Textmate 的 Ctrl+F 也可以。在你的 Rails 服务器日志中总是有一个堆栈跟踪,它也会有有用的行号(隐藏在很多无用的行号中......)不是堆栈溢出。
    【解决方案2】:

    您缺少一个 冒号(:)。应该是:html =&gt;html:

    <%= form_for @user, url: user_session_path(:user), :html => {class: "navbar-form pull-right"} do |f| -%>
    

    【讨论】:

      猜你喜欢
      • 2015-04-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-02
      • 2014-07-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多