代码之家  ›  专栏  ›  技术社区  ›  Lee McAlilly

在我的flash中显示用户名时出现问题[:注意]-敏捷的Rails Web开发-第11章

  •  2
  • Lee McAlilly  · 技术社区  · 15 年前

    我不知道我在这里做错了什么。

    我可以让@user.name_

    其他一切工作都很好,我可以添加新用户,但当我添加新用户而不是说成功创建了用户john doe时,它说成功创建了user@user.name。

    我现在在Depot应用程序中:Depot_p/app/controllers/users_controller.rb开始工作。

    3 回复  |  直到 15 年前
        1
  •  8
  •   JRL    15 年前

    这与字符串插值有关,字符串插值只适用于双引号字符串,与闪存无关。

    可以使用序列将任何Ruby表达式的值替换为双引号字符串 #{ expr } . 如果表达式只是全局变量、类变量或实例变量,则可以省略大括号。

    "Seconds/day: #{24*60*60}"    » Seconds/day: 86400
    "#{'Ho! '*3}Merry Christmas"  » Ho! Ho! Ho! Merry Christmas
    "This is line #$."            » This is line 3
    

    更多信息, Programming Ruby 是一本免费的Ruby在线书籍。

        2
  •  2
  •   Lee McAlilly    15 年前

    好吧,我知道了。

    快讯必须用双引号,而不是单引号。我曾经拥有:

    flash[:notice]='用户@user.name已成功创建。'

    当它应该是flash时[:notice]=“用户@user.name已成功创建。”

    对于一个完全的笨蛋来说,这是一个棘手的细节。为外面的其他人着想。

        3
  •  0
  •   Kevin    15 年前

    同意JRL。如果要在任何字符串中使用foo语法,则需要使用双引号。

    推荐文章