2012-06-07 64 views
2

我第一次使用ruby,所以当我遵循指南(http://guides.rubyonrails.org/getting_started.html)时,我得到了如下错误:

开始使用,即可为127.0.0.1 “/问题” 在2012-06-07 17时22分36秒0900

的SyntaxError(/用户/ sookcha /桌面/开发/ CSAP /应用/型号/ question.rb:3:无效的多字节字符(US-ASCII) /Users/sookcha/Desktop/Dev/CSap/app/models/question.rb:3:语法错误,意外的$结束,期待关键字结束 验证:名称, :presence => true ^): app/controllers/questions_controller.rb:2:in''

Rendered /Users/sookcha/.rvm/gems/ruby-1.9.3-p125/gems/actionpack-3.2.5/lib/ action_dispatch/middleware/templates/rescues/_trace.erb(3.1ms) Rendering /Users/sookcha/.rvm/gems/ruby-1.9.3-p125/gems/actionpack-3.2.5/lib/action_dispatch/middleware/templates /rescues/_request_and_response.erb(1.1ms) 呈现/Users/sookcha/.rvm/gems/ruby-1.9.3-p125/gems/actionpack-3.2.5/lib/action_dispatch/middleware/templates/rescues/diagnostics。 erb内的救援/布局(10.7ms)

当我刷新页面,我得到了不同的错误如下:

Started GET "/questions" for 127.0.0.1 at 2012-06-07 17:22:40 +0900 

NoMethodError (undefined method `key?' for nil:NilClass): 

我的代码是

class Question < ActiveRecord::Base 
attr_accessible :content, :name, :title 
validates :name,  :presence => true 
validates :title, :presence => true, 
        :length => { :minimum => 5 } 

end 

这有什么错我的代码?

编辑

当我插入我的代码 # encoding: utf-8,, 我得到一个不同的错误,如: /Users/sookcha/Desktop/Dev/CSap/app/models/question.rb:5: syntax error, unexpected tSYMBEG, expecting keyword_do or '{' or '(' validates :name, :presence => true^/Users/sookcha/Desktop/Dev/CSap/app/models/question.rb:7: syntax error, unexpected tASSOC, expecting keyword_end :length => { :minimum => 5 } ^):
有什么不对?

回答

4

你的代码很好,我敢打赌你的编辑器会在某处插入一个非标准的选项卡。把这个在你的模型文件的顶部:

# encoding: utf-8 

这是一个神奇的意见,即指示红宝石解释任何非ASCII字符串或文字为UTF-8。

+0

我得到一个不同的错误/Users/sookcha/Desktop/Dev/CSap/app/models/question.rb:5:语法错误,意想不到的tSYMBEG,期待keyword_do或'{'或'('validates:name,:presence => true^/Users/sookcha/Desktop/Dev/CSap/app/models/question.rb:7:语法错误,意外的tASSOC,期待的keyword_end:长度=> {:minimum => 5} ^): – Sookcha

+0

我解决了它!谢谢! – Sookcha

相关问题