Em *_*Sta 3 ruby ruby-on-rails ruby-on-rails-3
我尝试使用命令rails runner在rails中运行ruby脚本.ruby文件,看起来像这样,应该创建新的患者:
Patient.create!({:vorname => 'Josepha', :nachnahme => 'Brecht', :geburtsdatum => '25.04.1963', :strasse => 'Umdorf', :ort => 'Wörthss', :plz => '93093'})
Patient.create!({:vorname => 'Tumba', :nachnahme => 'Hoch', :geburtsdatum => '17.77.1956', :strasse => 'Hamaß 1', :ort => 'Brenn', :plz => '93189'})
Run Code Online (Sandbox Code Playgroud)
但不知怎的,我的代码在德语方面存在问题!我编程初学者,不知道我要改变什么!感谢帮助!
C:\Sites\what>rails runner patienten.rb
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/railties-3.2.13/lib/rails/c
ommands/runner.rb:51:in `eval': patienten.rb:2: invalid multibyte char (UTF-8) (
SyntaxError)
patienten.rb:2: syntax error, unexpected tIDENTIFIER, expecting '}'
...> 'Schlossberg', :ort => 'Wörth', :plz => '93086'})
... ^
patienten.rb:2: syntax error, unexpected tINTEGER, expecting $end
...:ort => 'Wörth', :plz => '93086'})
... ^
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/railties-3.2.1
3/lib/rails/commands/runner.rb:51:in `<top (required)>'
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/railties-3.2.1
3/lib/rails/commands.rb:64:in `require'
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/railties-3.2.1
3/lib/rails/commands.rb:64:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'
Run Code Online (Sandbox Code Playgroud)
这个文件是什么格式的?你确定它是UTF-8而不是Windows 1252,这是Windows中的默认设置吗?
在Ruby 1.9中,文件中的标题需要指示使用的实际格式:
# encoding: UTF-8
Run Code Online (Sandbox Code Playgroud)
如果这不起作用,您可能需要尝试其他人:
# encoding: Windows-1252
Run Code Online (Sandbox Code Playgroud)
另一种常见格式是ISO Latin1:
# encoding: ISO-8859-1
Run Code Online (Sandbox Code Playgroud)
1252和8859-1都是单字节字符集,每个字符总是一个字节,其中UTF-8是可变长度,每个字符是一个或多个字节.
如果您需要在格式之间进行转换,通常可以使用您想要的编码在编码识别的编辑器和"另存为..."中打开.否则,您可以尝试使用iconv为您转换它.
| 归档时间: |
|
| 查看次数: |
11277 次 |
| 最近记录: |