2013-07-10 74 views
0

我目前正在使用RubyMine 5.4.3.2.1开发Ruby on Rails应用程序。我正在使用Rails 4和Ruby 1.9.3p429。在我的应用程序,我有一个类文件“user.rb”用下面的代码:RubyMine Rails控制台创建错误

class User < ActiveRecord::Base 
    validates :first_name, presence: true 
    validates :last_name, presence: true 
    VALID_EMAIL_REGEX = /\A[\w+\-.][email protected][a-z\d\-]+(\.[a-z]+)*\.[a-z]+\z/i 
    validates :email, presence: true, format: { with: VALID_EMAIL_REGEX }, uniqueness:{case_sensitive: false } 
    validates :password, length: { minimum: 6} 

    has_secure_password 
    before_save { self.email = email.downcase } 
end 

和相关的迁移文件“[时间戳] _create_users.rb”有以下:

class CreateUsers < ActiveRecord::Migration 
    def change 
    create_table :users do |t| 
     t.string :first_name 
     t.string :last_name 
     t.string :email 
     t.string :password_digest 
     t.timestamps 
    end 
    end 
end 

使用RubyMines Run Rake Task,我运行了db:migration来创建用户表。问题是RubyMines不接受任何User.create命令将数据输入到数据库中。 E.g

User.create (first_name:"John",last_name:"Doe",email:"[email protected]",password:"testing",password_confirmation:"testing") 

它给人的错误是

SyntaxError: (irb):1: syntax error, unexpected tLABEL 
User.create (first_name:"John",last_name:"Doe",ema... 
         ^
(irb):1: syntax error, unexpected ',', expecting $end 
...er.create (first_name:"John",last_name:"Doe",email:"[email protected] 
           ^

,当我在使用“轨道控制台”我的命令提示符下运行它也能正常工作,但它可以让繁琐的反复参考命令提示符。我试过在默认和开发中运行RubyMine中的Rails控制台,但都没有产生积极的结果。任何人都可以告诉我我做错了什么,以及如何解决这个问题?

+0

你好,不知道,但尝试删除User.create和左括号User.create(...)之间的空间,而不是User.create(...) – phron

+0

它的工作!谢谢!奇怪的是,它在命令提示符下使用User.create和(..)之间的空间。 – adnann

+0

如果它适合你,很高兴。有摇摆......记得将你的问题标记为答案^ _^ – phron

回答

1

删除User.create和左括号User.create(...)之间的空间,而不是User.create(...)

干杯