小编m33*_*lky的帖子

如何检查postgres用户是否存在?

createuser允许在PostgreSQL中创建用户(ROLE).有没有一种简单的方法来检查该用户(名称)是否已经存在?否则createuser返回错误:

createuser: creation of new role failed: ERROR:  role "USR_NAME" already exists
Run Code Online (Sandbox Code Playgroud)

更新:解决方案应该可以从shell执行,因此在脚本内部更容易自动化.

postgresql shell user-management

82
推荐指数
2
解决办法
8万
查看次数

如何找到ActiveRecord ROLLBACK的原因

在我看到的日志中ROLLBACK,但没有记录任何异常.有没有办法找出导致ROLLBACK的原因?

这是日志的摘录:

  Phone Load (0.4ms)  SELECT "phones".* FROM "phones" WHERE "phones"."id" = $1 LIMIT 1  [["id", 980190963]]
   (0.2ms)  BEGIN
  User Load (0.4ms)  SELECT "users".* FROM "users" WHERE "users"."phone_id" = 980190963 LIMIT 1
   (0.2ms)  ROLLBACK
  Phone Load (0.4ms)  SELECT "phones".* FROM "phones" WHERE "phones"."id" = $1 LIMIT 1  [["id", 980190963]]
  User Load (0.4ms)  SELECT "users".* FROM "users" WHERE "users"."phone_id" = 980190963 LIMIT 1
Run Code Online (Sandbox Code Playgroud)

activerecord ruby-on-rails

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

如何检查ActiveRecord使用的数据库名称

在database.yml中,您可以定义所有设置.如何从ruby访问这些设置?我看了看App::Application::config,但在那里找不到.另外,我记得有人能够在没有yaml的情况下配置数据库设置,有谁知道怎么做?

ruby configuration ruby-on-rails

40
推荐指数
4
解决办法
2万
查看次数

厨师从源头安装和更新程序

我有一个我从源码构建的程序.为此,我正在使用该script资源.实现安装和更新逻辑的好方法是什么?现在我只使用内置not_if条件实现安装.

script "install_program" do
  not_if {File.exists?('/program')}
  interpreter "bash"
  user "root"
  cwd "/tmp"
  code <<-EOH
    wget http://www.example.com/program.tar.gz
    tar -zxf program.tar.gz
    cd tarball
    ./configure
    make
    make install
  EOH
end
Run Code Online (Sandbox Code Playgroud)

ruby deployment chef-infra

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

如何在action_mailer.default_url_options中使用https定义主机

ActionMailer提供了一种定义与资源助手一起使用的主机的方法:

config.action_mailer.default_url_options = { :host => "example.com" }
Run Code Online (Sandbox Code Playgroud)

我找不到强行将其转换为https的方法.

configuration actionmailer ruby-on-rails-3

25
推荐指数
1
解决办法
7472
查看次数

防止Rails记录电子邮件附件

当我发送带附件的电子邮件时,数据以十六进制记录并填满我的整个日志.有没有办法禁用附件记录?我知道我可以禁用邮件日志记录config.action_mailer.logger = nil.

logging ruby-on-rails actionmailer

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

在Rails你把扫地车放在哪里?

Rails中有一个约定将Sweeper类放在特定的目录位置吗?

更新:由于观察者被投入app/models,我认为清扫工具没有什么不同,只要名称总是以"清扫工"结束.

convention ruby-on-rails convention-over-configur

7
推荐指数
1
解决办法
1908
查看次数

用于加密的高级ruby库

似乎最常见的像keyczar,cryptlib和NaCl不适用于Ruby.什么是一些高级库的ruby库(或绑定),其中已经为您做出了有关加密原语的决策(无需生成IV,CBC与EBC等).我确实找到了ruby-gpgme.还有libmcrypt支持流的对称加密,这是我最感兴趣的.

ruby cryptography encryption-symmetric

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

自动放大iphone safari

Mobile Safari是否有办法识别适用于手机的网站并自动放大?这对其他手机和浏览器有何影响?

我想避免查看user_agent并为每个移动浏览器发送不同的页面.

iphone smartphone mobile-safari

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

块看不到方法(厨师资源)

假设我们有两个资源:

template 'template1' do
  owner 'root'
  group 'root'
end

template 'template2' do
  owner 'root'
  group 'root'
end
Run Code Online (Sandbox Code Playgroud)

我想在资源中重用代码.但是,如果我在配方定义一个进程,你会得到一个NoMethodError owner,group等它为什么会发生?词汇范围没有什么不同,是吗?因此我必须使用self.instance_eval &common_cfg.

common_cfg = Proc.new {
  owner 'root'
  group 'root'
}

template 'template1' do
  common_cfg.call
end

template 'template2' do
  common_cfg.call
end
Run Code Online (Sandbox Code Playgroud)

ruby code-reuse closures chef-infra lexical-scope

6
推荐指数
1
解决办法
1520
查看次数