Tag: ruby

我如何针对特定的提交SHA与capistrano部署

我想知道如何使用Capistrano在Git中针对特定的提交SHA进行部署? 应该是这样的 cap deploy –version=<sha targeted> 经过大量的search后,似乎无法find答案。

Docker无法链接到非运行容器

我需要用docker-compose创buildrails和mysql容器,当我尝试创build链接容器与docker-compose up我得到 无法启动容器9b271c58cf6aecaf017dadaf5b无法链接到非运行容器:/ puma_db_1 AS / puma_web_1 / db 档 Dockerfile FROM ubuntu:14.04 RUN apt-get -y update RUN apt-get -y install git curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev python-software-properties libffi-dev RUN apt-get -y install libmysqlclient-dev RUN git clone https://github.com/sstephenson/rbenv.git /root/.rbenv RUN git clone https://github.com/sstephenson/ruby-build.git /root/.rbenv/plugins/ruby-build RUN echo 'eval "$(rbenv init […]

活动pipe理员:只定制新表单

我正在使用Active Admin为某些模型提供pipe理员。 我需要为其中的一个提供自定义的新表单,但将编辑表单保留为Active Admin提供的默认表单。 这是我的。 它的工作原理是它给了我想要的新forms,但编辑forms也使用了新的forms,这不是我想要的: ActiveAdmin.register Document do form :partial => 'form' end 我试过这个,但它给出了一个错误,“新”是一个未定义的方法: ActiveAdmin.register Document do new do form :partial => 'form' end end

Ruby模块中的常量范围

在mixin模块中,我遇到了一个恒定范围的问题。 比方说,我有这样的东西 module Auth USER_KEY = "user" unless defined? USER_KEY def authorize user_id = session[USER_KEY] def end USER_KEY常量应该默认为“用户”,除非已经定义。 现在我可以将它们混合到一些地方,但是在其中一个地方USER_KEY需要不同,所以我们可能会有这样的东西 class ApplicationController < ActionController::Base USER_KEY = "my_user" include Auth def test_auth authorize end end 我期望USER_KEY在授权中使用时是“my_user”,因为它已经被定义,但是它仍然是“user”,取自USER_KEY的模块定义。 任何人有任何想法如何获得授权使用USER_KEY的类版本?

如何使用水豚+黄瓜在ruby中的html表行数断言

我正试图在Ruby中使用cucumber + capybara来处理BDD web开发,而且我陷入了一个简单的任务 – 只是检查表中的行数。 我试图达到的目的是沿着以下方向: page.should have_xpath("//table[@id='myTable']") find("//table[@id='myTable']/tr").length.should == 3 但是这不起作用(缺less方法长度),我无法find一种方法来对表长度断言。 任何想法任何人(请容易对我来说,我是一个ruby诺贝) 提前致谢 尼尔

ruby – 看看一个端口是否打开

我需要一个快速的方法来找出给定的端口是否打开了Ruby。 我目前正在摆弄这个: require 'socket' def is_port_open?(ip, port) begin TCPSocket.new(ip, port) rescue Errno::ECONNREFUSED return false end return true end 如果端口是开放的,它的工作效果很好,但是它的缺点是偶尔会等待10-20秒,然后超时,抛出一个ETIMEOUTexception(如果端口closures)。 我的问题是这样的: 这个代码是否可以修改为只等待一秒(如果到那时我们什么都得不到的话,返回false )还是有一个更好的方法来检查一个给定的端口是否在一个给定的主机上打开? 编辑:调用bash代码也是可以接受的,只要它能够跨平台工作(例如,Mac OS X,* nix和Cygwin),尽pipe我更喜欢Ruby代码。

Ruby on Rails有一个好的pipe理生成器吗?

我目前的项目是在Rails中。 从Symfony(PHP)和Django(Python)的背景来看,他们都拥有出色的pipe理员。 看来这是在Rails中缺less的。 对于那些不熟悉Symfony或者Django的人,他们都允许你指定模型的一些元数据来自动(dynamic)生成一个pipe理界面来执行常见的CRUD操作。 您只需使用几条命令或几行代码即可创build整个Intranet。 他们有一个很好的外观,可扩展性足以满足99%的pipe理需求。 我曾经为Rails寻找类似的东西,但是所有的项目都没有活动,或者很久以前就死掉了。 有没有什么可以为脚手架以外的rails应用程序生成一个intranet / admin网站?

如何使用RSpec而不使用Rails?

在没有Rails的情况下使用RSpec进行TDD的过程是什么? 我需要一个Gemfile吗? 它只需要rspec吗? Ruby 1.9.3

如何从“需求”中拯救:没有这样的文件加载在ruby?

我试图从“require”中解救出来:没有这样的文件要加载到ruby中,以便提示用户指定-I标志,以防他忘记了。 基本上,代码如下所示: begin require 'someFile.rb' rescue puts "someFile.rb was not found, have you" puts "forgotten to specify the -I flag?" exit end 如果没有findsomeFile.rb ,我期望rescue部分接pipe执行,但我的假设是错误的。

Rails 3 – 限制资源路由中的操作格式

我有我的路线中定义的资源。 resources :categories 我在我的类别控制器中有以下内容: def show @category = Category.find(params[:id]) respond_to do |format| format.json { render :json => @category } format.xml { render :xml => @category } end end 控制器操作对于json和xml工作正常。 不过,我不希望控制器响应html格式的请求。 我怎样才能只允许JSON和XML? 这应该只在演出中发生。 达到这个目标的最好方法是什么? 还有什么好的提示干起来的respond_to块? 谢谢你的帮助。