标签: ruby

OS-X,Rails:"无法构建gem原生扩展"

我一直试图在我的Mac上安装rails.我有OS X 10.6.8,我已经确认我有Ruby,版本1.8.7

我跑了sudo gem updatesudo gem update --system获得了该软件的最新版本.

但是,当我运行时,sudo gem install rails我收到此错误:

ERROR:  Error installing rails:
ERROR: Failed to build gem native extension.

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb
mkmf.rb can't find header files for ruby at /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/ruby.h


Gem files will remain installed in /Library/Ruby/Gems/1.8/gems/json-1.6.3 for inspection.
Results logged to /Library/Ruby/Gems/1.8/gems/json-1.6.3/ext/json/ext/parser/gem_make.out
Run Code Online (Sandbox Code Playgroud)

ruby macos gem ruby-on-rails

33
推荐指数
5
解决办法
4万
查看次数

Rails如何汇总列?

示例我有:

@test = Pakke.find([[4], [5]])
Run Code Online (Sandbox Code Playgroud)

在我的Pakke表中,我有一个名为的列 prismd

如何将prismd @test 的列的两个值相加?

ruby ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1

33
推荐指数
3
解决办法
4万
查看次数

rake assets:尝试连接数据库的预编译

我正在尝试调试运行时我的应用程序试图连接到我的数据库的原因rake assets:precompile --trace.

我可能在堆栈跟踪中遗漏了一些东西......有人看到相关的线路吗?

DEPRECATION WARNING: The InstanceMethods module inside ActiveSupport::Concern will be no longer included automatically. Please define instance methods directly in ActionController::Base instead. (called from <top (required)> at /Users/Kyle/Desktop/skateparks-web/config/application.rb:4)
** Invoke assets:precompile (first_time)
** Execute assets:precompile
/Users/Kyle/.rvm/rubies/ruby-1.9.2-p290/bin/ruby /Users/Kyle/.rvm/gems/ruby-1.9.2-p290@skateparks/bin/rake assets:precompile:all RAILS_ENV=production RAILS_GROUPS=assets --trace
DEPRECATION WARNING: The InstanceMethods module inside ActiveSupport::Concern will be no longer included automatically. Please define instance methods directly in ActionController::Base instead. (called from <top (required)> at /Users/Kyle/Desktop/skateparks-web/config/application.rb:4)
** Invoke assets:precompile:all (first_time)
** Execute assets:precompile:all …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.2

33
推荐指数
4
解决办法
1万
查看次数

使用Rake运行Ruby单元测试

我正在研究使用Rake构建工具来自动运行单元测试.我在网上搜索过,但所有的例子都是使用rails.我通常只是编写小型命令行程序或简单的Sinatra应用程序.

所以我提出了以下(可能是坏的)解决方案,它只是模仿我在命令行上会做的事情:(我只是以一个单元测试为例.)

desc 'Run unit tests'
task :test do
    sh 'ruby -I lib test/test_entry.rb'
end
task :default => :test
Run Code Online (Sandbox Code Playgroud)

它有效,但我不禁想到必须有更好的方法,只是写作require 'test/test_entry.rb'不起作用.我遇到require问题,Ruby无法找到lib所有文件所在的目录.

ruby rake

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

Simple_form:删除带有标签的内联复选框的外部标签

使用Simple_form 2.0.2

使用HAML的简单表单代码:

= f.input :remember_me, as: :boolean, inline_label: 'Remember me'
Run Code Online (Sandbox Code Playgroud)

但它呈现了这个:

<div class="control-group boolean optional">
  <label class="boolean optional control-label" for="admin_remember_me">Remember me</label>
  <div class="controls">
    <input name="admin[remember_me]" type="hidden" value="0" />
    <label class="checkbox"><input class="boolean optional" id="admin_remember_me" name="admin[remember_me]" type="checkbox" value="1" />Remember me</label>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

如何删除渲染的第一个标签,以便我只有内联标签?

ruby ruby-on-rails-3 simple-form

33
推荐指数
4
解决办法
3万
查看次数

OS X Mountain Lion:gcc-4.2没有这样的文件或目录

试图在Mountain Lion上安装一个宝石,但找不到gcc-4.2:

kamil$ gem install posix-spawn -v '0.3.6'
Building native extensions.  This could take a while...
ERROR:  Error installing posix-spawn:
    ERROR: Failed to build gem native extension.

        /Users/kamil/.rbenv/versions/1.9.3-p0/bin/ruby extconf.rb
creating Makefile

make
compiling posix-spawn.c
make: gcc-4.2: No such file or directory
make: *** [posix-spawn.o] Error 1
Run Code Online (Sandbox Code Playgroud)

ruby gem gcc makefile osx-mountain-lion

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

用Homebrew安装Ruby

我用Homebrew安装了Ruby:

brew install ruby
Run Code Online (Sandbox Code Playgroud)

根据"警告",它说:

注意:默认情况下,gem安装的二进制文件将放入:
/usr/local/Cellar/ruby/1.9.3-p194/bin

您可能希望将其添加到PATH中.

这是什么意思,我怎样才能将它添加到我的"路径"中?假设它与bash_profile有关,但对此却是新的.

ruby bash terminal homebrew

33
推荐指数
3
解决办法
5万
查看次数

带有ruby on rails的$ redis全局变量

我使用redis作为读缓存.我创建了一个初始化器

配置/初始化/ redis.rb

$redis = Redis.new(:host => ENV["REDIS_HOST"], :port => ENV["REDIS_PORT"])
Run Code Online (Sandbox Code Playgroud)

我在unicorn.rb中使用this global来创建新的连接,无论何时创建新的worker.

before_fork do |server, worker|
  # clear redis connection
  $redis.quit unless $redis.blank?
end

# Give each child process its own Redis connection
after_fork do |server, worker|
  $redis = Redis.new(:host => ENV["REDIS_HOST"], :port => ENV["REDIS_PORT"])
end
Run Code Online (Sandbox Code Playgroud)

每当我需要访问我的redis服务器时,我也在使用这个全局变量.但我不习惯使用这个全局变量.有没有比使用全局变量更好的选择?

ruby ruby-on-rails redis

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

使用`ActiveRecord with_connection do`&ActionController :: Live时出现线程错误

主要编辑:自从最初发现这个问题以来,我已将其削减到下面.我认为现在对这个问题的描述略微准确.因此,对OP的评论可能不完全相关.

编辑在rails/puma项目中发布的轻微修改版本:https://github.com/rails/rails/issues/21209,https://github.com/puma/puma/issues/758

编辑现在转载OS X和Rainbows

简介: 当使用Puma并运行长时间运行的连接时,我一直收到与跨越线程的ActiveRecord连接相关的错误.这表现在消息 message type 0x## arrived from server while idle 和锁定(崩溃)服务器中.

设置:

  • Ubuntu 15/OSX Yosemite
  • PostgreSQL(9.4)/ MySQL(mysqld 5.6.25-0ubuntu0.15.04.1)
  • Ruby - MRI 2.2.2p95 (2015-04-13 revision 50295) [x86_64-linux]/ Rubiniusrbx-2.5.8
  • 导轨(4.2.3,4.2.1)
  • Puma(2.12.2,2.11)
  • pg(pg-0.18.2)/ mysql2

请注意,并非所有上述版本的组合都已尝试过.首先列出的版本是我目前正在测试的版本.

  • rails new issue-test
  • 添加路线 get 'events' => 'streaming#events'
  • 添加控制器 streaming_controller.rb
  • 设置数据库的东西(pool: 2但看到不同的池大小)

码:

class StreamingController < ApplicationController

  include …
Run Code Online (Sandbox Code Playgroud)

ruby multithreading connection-pooling ruby-on-rails actioncontroller

33
推荐指数
1
解决办法
1403
查看次数

FactoryBot工厂中`transient do`块的目的是什么?

transient doFactoryBot工厂的目的是什么?

我见过很多以下面的东西开头的工厂.

factory :car do
  owner nil
  other_attribute nil
end
...
Run Code Online (Sandbox Code Playgroud)

我在这个博客上找到了一些信息:http://blog.thefrontiergroup.com.au/2014/12/using-factory-easily-create-complex-data-sets-rails/

但我仍然不完全明白如何以及为什么这样做.我对FactoryBot的体验很小.

任何有使用FactoryBot经验的人都可以分享一些见解吗?

ruby rspec ruby-on-rails factory-bot

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