【问题标题】:Change input in a database更改数据库中的输入
【发布时间】:2019-07-12 19:15:19
【问题描述】:

我有一个在 heroku 上运行的 ruby​​ 应用程序。我正在尝试更改数据库中一列的输入。我环顾了网络和堆栈,发现其他人使用这行代码很幸运......

user.find(8338).update_attributes(:sport=>"men's swimming")

但是,当我尝试此操作时,我收到一条错误消息...

irb(main):005:0> User.find(8338).update_attributes(:sport=>”men’s 
swimming”)
SyntaxError: (irb):5: syntax error, unexpected tIDENTIFIER, expecting 
keyword_do or '{' or '('
:sport=>”men’s swimming”)
                          ^
        from /app/vendor/bundle/ruby/2.4.0/gems/railties- 
   5.0.7/lib/rails/commands/console.rb:65:in `start'
    from /app/vendor/bundle/ruby/2.4.0/gems/railties- 
   5.0.7/lib/rails/commands/console_helper.rb:9:in `start'
    from /app/vendor/bundle/ruby/2.4.0/gems/railties- 
   5.0.7/lib/rails/commands/commands_tasks.rb:78:in `console'
    from /app/vendor/bundle/ruby/2.4.0/gems/railties- 
   5.0.7/lib/rails/commands/commands_tasks.rb:49:in `run_command!'
    from /app/vendor/bundle/ruby/2.4.0/gems/railties- 
   5.0.7/lib/rails/commands.rb:18:in `<top (required)>'
    from bin/rails:9:in `require'
    from bin/rails:9:in `<main>'

我已尝试对上述代码进行多次更改并得到相同的错误。有人能帮忙吗?我做错了什么?

【问题讨论】:

  • (右双引号)与常规双引号 " 不是同一个字符,并且在 Ruby 中不能用作字符串分隔符。 User.find(8338).update_attributes(:sport=&gt;"men’s swimming") 会起作用。

标签: ruby-on-rails database heroku


【解决方案1】:

User.find(8338).update_attributes(:sport=>”男装 游泳”)

那些双引号看起来很可疑。您应该使用普通的 " 而不是您在其中输入的任何内容。

【讨论】:

    猜你喜欢
    • 2015-11-02
    • 1970-01-01
    • 1970-01-01
    • 2021-10-05
    • 1970-01-01
    • 2021-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多