标签: rails-console

如何从rails控制台列出postgres中的模式?

我想从 Rails 控制台获取当前数据库中的模式列表。目前,我正在执行原始 sql 以通过以下方式获取信息

ActiveRecord::Base.connection.execute("select schema_name from information_schema.schemata")
Run Code Online (Sandbox Code Playgroud)

是否有更正确的方法使用 ActiveRecord 从 Rails 控制台检索此信息?

postgresql activerecord ruby-on-rails rails-console

3
推荐指数
1
解决办法
3810
查看次数

为什么ActiveRecord从控制台打印sql语句查询?

我正在使用pry,来自控制台的ActiveRecord查询总是打印出相应的SQL语句.我不想要这种行为.谷歌搜索我只看到必须通过将ActiveRecord记录器设置为标准输出明确实现.

这是pry的默认行为还是我设置的忘记内容的结果?我怎么能阻止它?

activerecord ruby-on-rails irb rails-console pry

2
推荐指数
2
解决办法
3753
查看次数

Ruby on Rails 3教程:在控制台问题中输入命令

我正在阅读本教程,并遇到了rails控制台无法识别我创建的用户模型的问题.这是我正在使用的

这是我在我的用户模型中定义的user.rb,位于sample_app/app/models/user.rb:

class user < ActiveRecord::Base
  attr_accessible :name, :email
  validates :name, :presence => true
end
Run Code Online (Sandbox Code Playgroud)

当我尝试引用它时,这是我在控制台中得到的:

Nicholass-MacBook-Pro:sample_app nbkincaid$ rails console
Loading development environment (Rails 3.1.1)
ruby-1.9.2-p290 :001 > user.new
NameError: undefined local variable or method `user' for main:Object from (irb):1
    from /Users/nbkincaid/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.1/lib/rails/commands/console.rb:45:in `start'
    from /Users/nbkincaid/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.1/lib/rails/commands/console.rb:8:in `start'
    from /Users/nbkincaid/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.1/lib/rails/commands.rb:40:in `<top (required)>'
    from script/rails:6:in `require'
    from script/rails:6:in `<main>'
Run Code Online (Sandbox Code Playgroud)

是否有我需要遵守的特定宝石版本集,或者还有其他我缺少的东西?我不太清楚这一点.

model ruby-on-rails rails-console

2
推荐指数
1
解决办法
631
查看次数

使用橡胶部署后,Rails控制台无法在ec2上运行

我使用橡胶在ec2上部署了我的应用程序并且工作正常,但是当我尝试运行控制台(键入的rails控制台)时,它无法正常工作.它最初没有识别出scipt,当我试图从脚本目录运行它时,我收到了"找不到ruby.exe"的消息.有任何想法吗?

deployment ruby-on-rails amazon-ec2 rails-console

2
推荐指数
1
解决办法
589
查看次数

Rails - 时间算术

我在rails控制台上玩时间算术.我减去了两次不同的时间并找回了一个很长的数字,请看下面我的代码.

a = User.find(1).updated_at   # returns   Mon, 03 Mar 2014 11:07:43 UTC +00:00
b = User.find(1).created_at   # returns   Mon, 03 Mar 2014 08:36:50 UTC +00:00 

a - b                         # returns   9053.699814796448 
Run Code Online (Sandbox Code Playgroud)

我的问题是.这个号码是多少9053.699814796448?是时候了吗?它的单位是什么?这是如何计算的?是否可以更改结果的默认单位?

谢谢

ruby ruby-on-rails rails-console ruby-on-rails-4

2
推荐指数
1
解决办法
917
查看次数

在控制台中每行显示一个对象

如果我User.where(active: false)在Rails控制台中,结果很难解析.

有没有迭代(除了宝石)的任何技巧,每行输出一个值/对象?

ruby-on-rails rails-console ruby-on-rails-4

2
推荐指数
1
解决办法
279
查看次数

Rails控制台无法正常工作(搜索错误的宝石)

我的Rails控制台停止工作:

$ rails c
Could not find rake-10.2.2 in any of the sources
Run `bundle install` to install missing gems.
Run Code Online (Sandbox Code Playgroud)

你认为跑步bundle installbundle update工作,但不是!令我感到困惑的是,我没有使用rake 10.2.2而且它不在gemfile.lock中.我正在使用rake 10.3.2

Running via bundle exec rails console RAILS_ENV=development返回相同的错误.

尝试gem install rake -v 10.2.2只是温和地改善了这种情况.现在它正在寻找一个我不使用的不同宝石:

$ rails c
Could not find i18n-0.6.9 in any of the sources
Run `bundle install` to install missing gems.
Run Code Online (Sandbox Code Playgroud)

再次......捆绑安装就好了.Odder仍然,rails s工作正常,耙任务很好.我只是不能使用控制台!

$ bundle install
Using rake 10.3.2
Using i18n 0.6.11
Using json 1.8.1
Using …
Run Code Online (Sandbox Code Playgroud)

rake rails-console ruby-on-rails-4

2
推荐指数
1
解决办法
2505
查看次数

rails console(`require':无法加载此类文件)

我有使用rails控制台的问题,发送给我这个错误

/usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.8/lib/active_support/dependencies.rb:247:in `require': cannot load such file -- readline (LoadError)
from /usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.8/lib/active_support/dependencies.rb:247:in `block in require'
from /usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.8/lib/active_support/dependencies.rb:232:in `load_dependency'
from /usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.8/lib/active_support/dependencies.rb:247:in `require'
from /usr/local/lib/ruby/2.1.0/irb/completion.rb:9:in `<top (required)>'
from /usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.8/lib/active_support/dependencies.rb:247:in `require'
from /usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.8/lib/active_support/dependencies.rb:247:in `block in require'
from /usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.8/lib/active_support/dependencies.rb:232:in `load_dependency'
from /usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.8/lib/active_support/dependencies.rb:247:in `require'
from /usr/local/lib/ruby/gems/2.1.0/gems/railties-4.1.8/lib/rails/commands/console.rb:3:in `<top (required)>'
from /usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.8/lib/active_support/dependencies.rb:247:in `require'
from /usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.8/lib/active_support/dependencies.rb:247:in `block in require'
from /usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.8/lib/active_support/dependencies.rb:232:in `load_dependency'
from /usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.8/lib/active_support/dependencies.rb:247:in `require'
from /usr/local/lib/ruby/gems/2.1.0/gems/railties-4.1.8/lib/rails/commands/commands_tasks.rb:128:in `require_command!'
from /usr/local/lib/ruby/gems/2.1.0/gems/railties-4.1.8/lib/rails/commands/commands_tasks.rb:59:in `console'
from /usr/local/lib/ruby/gems/2.1.0/gems/railties-4.1.8/lib/rails/commands/commands_tasks.rb:40:in `run_command!'
from /usr/local/lib/ruby/gems/2.1.0/gems/railties-4.1.8/lib/rails/commands.rb:17:in `<top (required)>'
from /usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.8/lib/active_support/dependencies.rb:247:in `require'
from /usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.8/lib/active_support/dependencies.rb:247:in `block in require'
from /usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.8/lib/active_support/dependencies.rb:232:in …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails rails-console

2
推荐指数
1
解决办法
6509
查看次数

每次 rails 控制台启动时都执行一个命令

我有一个设置命令,每次启动都想执行rails console-

MyClass.some_method()
Run Code Online (Sandbox Code Playgroud)

每次启动时我都厌倦了重新输入rails c- 有没有办法在每次启动新控制台时自动运行它?

谢谢!

ruby-on-rails rails-console ruby-on-rails-4

2
推荐指数
2
解决办法
1455
查看次数

如何在Heroku中运行Rails控制台?Rails 5.1和Postgresql

我一直在关注Rails应用程序的教程。本教程基于Rails 5,我正在使用Rails 5.1.2。一切都在本地运行良好,并毫无问题地推送至heroku。但是,当我通过运行在生产数据库上创建管理员用户时:

$ heroku run rails c
Run Code Online (Sandbox Code Playgroud)

它返回以下错误:

/app/vendor/bundle/ruby/2.4.0/gems/activesupport-5.1.3/lib/active_support/dependencies.rb:292:require': cannot load such file -- rack/handler/c (LoadError) from /app/vendor/bundle/ruby/2.4.0/gems/activesupport-5.1.3/lib/active_support/dependencies.rb:292:in在/app/vendor/bundle/ruby/2.4.0/ gems / activesupport-5.1.3 / lib / active_support / dependencies.rb:258:in load_dependency' from /app/vendor/bundle/ruby/2.4.0/gems/activesupport-5.1.3/lib/active_support/dependencies.rb:292:inrequire'来自/app/vendor/bundle/ruby/2.4.0/gems/rack-2.0.3/lib/rack/handler.rb :74:try_require' from /app/vendor/bundle/ruby/2.4.0/gems/rack-2.0.3/lib/rack/handler.rb:16:in 从/app/vendor/bundle/ruby/2.4.0/gems/rack-2.0.3/lib/rack/server.rb 中获取:301 :在 server' from /app/vendor/bundle/ruby/2.4.0/gems/railties-5.1.3/lib/rails/commands/server/server_command.rb:68:in print_boot_information中从/ app / vendor / bundle / ruby /2.4.0/gems/railties-5.1.3/lib/rails/commands/server/server_command.rb:38: start' from /app/vendor/bundle/ruby/2.4.0/gems/railties-5.1.3/lib/rails/commands/server/server_command.rb:131:in 在/app/vendor/bundle/ruby/2.4.0/gems/railties- 5.1.3 / lib / rails / commands / server / server_command.rb:126: tap' from /app/vendor/bundle/ruby/2.4.0/gems/railties-5.1.3/lib/rails/commands/server/server_command.rb:126:in 从/app/vendor/bundle/ruby/2.4.0/gems/thor-0.20.0/lib/thor/command.rb执行:27: 在run' from /app/vendor/bundle/ruby/2.4.0/gems/thor-0.20.0/lib/thor/invocation.rb:126:in 来自/app/vendor/bundle/ruby/2.4.0/gems/thor-0.20.0/lib/thor.rb:387:in dispatch' from /app/vendor/bundle/ruby/2.4.0/gems/railties-5.1.3/lib/rails/command/base.rb:63:in …

postgresql ruby-on-rails heroku rails-console

2
推荐指数
1
解决办法
1702
查看次数