小编Cod*_*ive的帖子

有没有更好的方法来调试clojure代码?

我已经和Clojure合作了几个星期,主要是使用Lein + Luminus框架.我一直在寻找一种在REPL上调试代码的方法.

在调试和运行时调用方面,我非常喜欢pry(在Ruby上)的工作方式.对于clojure代码有没有相当于pry?或者可能是我错过的技术/工具?

clojure

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

的ActiveRecord :: NoEnvironmentInSchemaError

我想我的新升级的应用程序执行数据库相关的操作(Rails的5),我无法执行破坏数据库本地命令.
rails db:resetrails db:drop.

跟踪结果包含以下数据,

rails db:drop --trace
** Invoke db:drop (first_time)
** Invoke db:load_config (first_time)
** Execute db:load_config
** Invoke db:check_protected_environments (first_time)
** Invoke environment (first_time)
** Execute environment
** Invoke db:load_config
** Execute db:check_protected_environments

rails aborted!
ActiveRecord::NoEnvironmentInSchemaError: 

Environment data not found in the schema. To resolve this issue, run: 

    bin/rails db:environment:set RAILS_ENV=development
Run Code Online (Sandbox Code Playgroud)

到目前为止我尝试过的是,

  1. 设置bin/rails db:environment:set RAILS_ENV=development,不会改变任何仍然发生错误.
  2. 手动将环境变量设置为开发.

这些都没有帮助.我正在寻找修复或解决方法.

ruby ruby-on-rails-5

11
推荐指数
3
解决办法
3438
查看次数

检测 VPN 连接

是否可以通过 JavaScript 检查用户是否连接到 VPN 并检索内部 IP 地址?

javascript vpn

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

Datomic - 使用OR子句

我正在努力将我的clojure应用程序(使用korma)迁移到Datomic框架,并在我翻译查询时处于循环中.我意识到查询不是完全灵活的(与korma相比),例如我想评估不同变量周围的条件子句.

考虑korma查询,

(select users
   (where (or (and {:first_name [= "user"]}
                   {:last_name [= "sample"]})
              {:email [= "user.sample@email.com"]})))
Run Code Online (Sandbox Code Playgroud)

这可以转换为Datomic,有这样的东西吗?

 [:find ?e
  :where (or (and [?u :user/first-name "user"]
                  [?u :user/last-name "sample"])
             [?u :user/email "user.sample@email.com"])
Run Code Online (Sandbox Code Playgroud)

但这不是推荐的查询方式(根据Datomic docs),因为or子句中使用的所有子句必须使用相同的变量集.如何围绕不同的变量集设置OR子句?

clojure datomic

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

跳过记录创建时的回调

我有一个模型,在和上A有回调。after_commitcreateupdate

class A < ApplicationRecord
  after_commit :update_xyz, on: [:create, :update]
end
Run Code Online (Sandbox Code Playgroud)

这个用例就是一个 rake 任务。我的 rake 任务尝试创建许多模型A记录,但必须跳过此update_xyz回调。

创建记录时是否可以跳过这些回调?我不想为此添加额外的宝石/插件。

ruby-on-rails rails-activerecord

5
推荐指数
1
解决办法
6714
查看次数

Ruby on Rails:Capistrano 3部署错误

我正在尝试在开发模式下部署rails 4应用程序.当我尝试cap deploy:setup时,它表示没有设置暂存.接下来,我根据其建议尝试了cap开发部署,并得到以下错误.请帮我部署一下.

command: cap development deploy

cap aborted!
wrong number of arguments (5 for 1..2)
/home/divya/.rvm/gems/ruby-2.1.0/gems/capistrano-3.1.0/lib/capistrano/dsl/env.rb:38:in `server'
config/deploy/development.rb:5:in `<top (required)>'
/home/divya/.rvm/gems/ruby-2.1.0/gems/capistrano-3.1.0/lib/capistrano/setup.rb:15:in `load'
/home/divya/.rvm/gems/ruby-2.1.0/gems/capistrano-3.1.0/lib/capistrano/setup.rb:15:in `block (2 levels) in <top (required)>'
/home/divya/.rvm/gems/ruby-2.1.0/gems/capistrano-3.1.0/lib/capistrano/application.rb:15:in `run'
/home/divya/.rvm/gems/ruby-2.1.0/gems/capistrano-3.1.0/bin/cap:3:in `<top (required)>'
/home/divya/.rvm/gems/ruby-2.1.0/bin/cap:23:in `load'
/home/divya/.rvm/gems/ruby-2.1.0/bin/cap:23:in `<main>'
/home/divya/.rvm/gems/ruby-2.1.0/bin/ruby_executable_hooks:15:in `eval'
/home/divya/.rvm/gems/ruby-2.1.0/bin/ruby_executable_hooks:15:in `<main>'
Tasks: TOP => development
(See full trace by running task with --trace)
Run Code Online (Sandbox Code Playgroud)

使用以下文件: deploy.rb

set :application, 'timeTracker'
set :scm, :git
set :repository, "git@github.com:p/project.git"
set :user, "r"
set :scm_passphrase, "r"
set :branch, "master"
set :deploy_via, :remote_cache
set :stages, …
Run Code Online (Sandbox Code Playgroud)

deployment capistrano ruby-on-rails ruby-on-rails-4

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

Rails测试ActiveRecord错误

我在rails应用程序中启动了测试环境,当我使用默认代码测试用户模型时,它会抛出以下错误:

测试代码:

test "the truth" do
 assert true
end

1) Error:
UserTest#test_the_truth:
ActiveRecord::RecordNotUnique: Mysql2::Error: Duplicate entry '' for key 'index_users_on_email': INSERT INTO `users` (`created_at`, `updated_at`, `id`) VALUES ('2014-02-01 17:45:51', '2014-02-01 17:45:51', 298486374)
Run Code Online (Sandbox Code Playgroud)

在我的用户模型中,我有以下关联

devise :database_authenticatable, :registerable,
     :recoverable, :rememberable, :trackable, :validatable
validates :user_name , :email, :first_name ,:last_name , :presence => true
has_many :invitations
has_many :incoming_friends, -> { where(:status => '1') }, :class_name => "User", :foreign_key => "friend_id", :through => :invitations
has_many :outgoing_friends, -> { where(:status => '1') }, :class_name => "User", …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails-4

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

Clojure - 将PDF/Doc文件提取为简单文本的最佳方法

我正在寻找一个简单的解决方案来解析上传到我的应用程序的每个文件,并转换为简单的文本.我的Web应用程序在Clojure上运行,并且更喜欢API来解析各种文件类型.

file-upload clojure

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

Clojure - 映射值

我正在尝试使用clojure函数来检测传递的值是否为地图.例如,

user=> (if-map {:foo 1}) ;Should return true
true 
user=> (if-map "hello") ;Returns false
false
Run Code Online (Sandbox Code Playgroud)

是否有预先建立的功能服务于此?

clojure

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

Camelize到字符串的某个部分

我有:

s = "like_so__case"
Run Code Online (Sandbox Code Playgroud)

camelize 给出这个:

s.camelize # => "LikeSoCase"
Run Code Online (Sandbox Code Playgroud)

我正在寻找转换为双下划线__来获得:

"LikeSo__case"
Run Code Online (Sandbox Code Playgroud)

我怎样才能只追踪字符串的某个部分?

ruby string ruby-on-rails

0
推荐指数
1
解决办法
115
查看次数