Ruby on rails 什么是‘串键';在rails中,以及出现此错误时如何解决它

Ruby on rails 什么是‘串键';在rails中,以及出现此错误时如何解决它,ruby-on-rails,ruby,ruby-on-rails-3,ruby-on-rails-3.2,Ruby On Rails,Ruby,Ruby On Rails 3,Ruby On Rails 3.2,在我的应用程序的部分文件中,我有以下用于显示用户导航(通过Desive)的代码段:- 现在我的问题是:- 一般来说,什么是“串键” 如何在代码中解决此问题 谢谢…根据文档,我们将尝试将所有键转换为字符串。因此,在简单工作中,该方法需要具有键值的内容,并将其键转换为字符串 在您的情况下,您的用户对象很可能是空的或计划字符串。这不是吗 请尝试发布完整的错误日志1)stringify\u keys是一种在哈希上调用的方法,用于将其键从符号转换为字符串。它是由Rails添加的,不是标准的Ruby方法 2

在我的应用程序的部分文件中,我有以下用于显示用户导航(通过Desive)的代码段:-

现在我的问题是:-

  • 一般来说,什么是“串键”
  • 如何在代码中解决此问题
  • 谢谢…

    根据文档,我们将尝试将所有键转换为字符串。因此,在简单工作中,该方法需要具有键值的内容,并将其键转换为字符串

    在您的情况下,您的用户对象很可能是空的或计划字符串。这不是吗 请尝试发布完整的错误日志1)
    stringify\u keys
    是一种在哈希上调用的方法,用于将其键从符号转换为字符串。它是由Rails添加的,不是标准的Ruby方法

    2) 这意味着您的代码正在传递“”/users/sign_in”某个需要散列的地方。仔细检查发现,您正在混合和匹配两种形式的
    链接到

    # specify link contents as an argument
    link_to "The text in the link", "/path/to/link", some: "options"
    
    # specify link contents in a block
    link_to "/path/to/link", some: "options" do
      "The text in the link"
    end
    
    正如您所看到的,您正在尝试两种方法:

    <%= link_to "Sign out", destroy_user_session_path, :method => 'delete' do %>
      <i class=" icon-user icon-black"></i> 
    <% end %>
    

    让我向您提到,当我将“do”和“end”条件添加到我的“link_to”助手时,会发生此错误。也就是说,如果我要阻止的链接看起来像:-
  • “删除”%>
  • 是否可以使用“do”“end”标记将链接写入帮助程序W,它也适用于我!因为这个问题,我避免了几个小时的头痛和疼痛。德克萨斯州!
    {:a => 1, :b => 2}.stringify_keys # => {"a" => 1, "b" => 2}
    
    # specify link contents as an argument
    link_to "The text in the link", "/path/to/link", some: "options"
    
    # specify link contents in a block
    link_to "/path/to/link", some: "options" do
      "The text in the link"
    end
    
    <%= link_to "Sign out", destroy_user_session_path, :method => 'delete' do %>
      <i class=" icon-user icon-black"></i> 
    <% end %>
    
    <%= link_to destroy_user_session_path, :method => 'delete' do %>
      <i class=" icon-user icon-black"></i> Sign out 
    <% end %>