Rails 3, используя mongoid, но возникает синтаксическая ошибка - PullRequest
2 голосов
/ 02 июня 2011

В моей среде разработки, которая является Windows 7, Ruby1.9.2p180, все работает нормально.

Однако в производственной среде, которая является Ubuntu 10.04, Ree 1.8.7 с использованиемrvm, появляется следующая ошибка.(Я использую passenger-apache-module для запуска приложения.)

/home/randomapp/public_html/app/models/article.rb:14: syntax error, unexpected ':', expecting kEND field :user_id, type: Hash ^ 
/home/randomapp/public_html/app/models/article.rb:15: syntax error, unexpected ':', expecting kEND field :username, type: String ^ 
/home/randomapp/public_html/app/models/article.rb:16: syntax error, unexpected ':', expecting kEND field :title, type: String ^ 
/home/randomapp/public_html/app/models/article.rb:17: syntax error, unexpected ':', expecting kEND field :content, type: String ^ 
/home/randomapp/public_html/app/models/article.rb:18: syntax error, unexpected ':', expecting kEND field :display_content, type: String ^ 

Там, где эти строки имеют коды ниже

  field :user_id, type: Hash
  field :username, type: String
  field :title, type: String
  field :content, type: String
  field :display_content, type: String

Предполагается, что указанные выше строки хорошо работают в разработке, как вы думаете,это может быть проблема с синтаксическим анализатором ???Как я могу решить эту проблему?

1 Ответ

8 голосов
/ 02 июня 2011

Вы используете хэш-синтаксис 1.9.2. Если вы хотите запустить обе версии 1.9.2 и 1.8.7, попробуйте следующее:

field :user_id, :type => Hash
field :username, :type => String
field :title, :type => String
field :content, :type => String
field :display_content, :type => String
...