小编Den*_*nis的帖子

如何在Factory Girl中创建/构建工厂的多个实例?

如何创建同一类的多个记录或多个工厂?

我试过了:

Factory.define :user do |user|
  user.email "someuser@somesite.com"
  user.password "somepassword"

  user.email "another_existing_user@somesite.com"
  user.password "somepassword"
end
Run Code Online (Sandbox Code Playgroud)

Factory.define :user do |user|
  user.email "someuser@somesite.com"
  user.password "somepassword"
end

Factory.define :user do |user|
  user.email "another_existing_user@somesite.com"
  user.password "somepassword"
end
Run Code Online (Sandbox Code Playgroud)

但它不起作用 - Attribute already defined: email.

ruby-on-rails factory-bot

26
推荐指数
3
解决办法
2万
查看次数

禁用单个Sphinx警告消息

.rst我的Sphinx树中有很多文件被故意排除在任何索引树之外.我收到警告

 /filename.rst:: WARNING: document isn't included in any toctree
Run Code Online (Sandbox Code Playgroud)

如何在Sphinx中抑制特定警告?

python-sphinx

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

如何在Rails 4中正确设置database.yml文件

我很好奇如何database.yml在Rails 4应用程序中正确设置我的文件.

这不是我真正详细研究过的东西,因为它在部署到Heroku时似乎都能正常工作,但我现在想要了解它,并注意到格式从Rails 4.0变为4.1.例如

4.0.2

development:
 adapter: mysql2
 encoding: utf8
 database: my_app_development
 pool: 5
 username: root
 password:

test:
 adapter: mysql2
 encoding: utf8
 database: my_app_test
 pool: 5
 username: root
 password:


production:
 adapter: mysql2
 encoding: utf8
 database: ymca_gym_production
 pool: 5
 username: root
 password:
Run Code Online (Sandbox Code Playgroud)

4.1.0

default: &default
  adapter: mysql2
  encoding: utf8
  pool: 5
  username: root
  password:
  socket: /var/run/mysqld/mysqld.sock

development:
  <<: *default
    database: my_app_development


test:
  <<: *default
   database: my_app_test


 # On Heroku and other platform providers, you may have a full connection …
Run Code Online (Sandbox Code Playgroud)

ruby database ruby-on-rails heroku

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

如何在Netbeans中编译和运行无项目文件?

Netbeans,实际上是任何Java编译器和执行器,都需要知道编译和运行文件的类路径.当您在Netbeans中打开文件时,您不会告诉它任何信息.设置项目时,该过程会告诉Netbeans Java资源在哪里.

然而,其他IDE可以很容易地做到这一点.这不是一个好习惯,但它"简单快捷","愚弄".

在Netbeans中有没有办法编译和运行不属于项目的文件?

编辑:如果文件不属于项目,则选项显示为灰色.

netbeans

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

在Rails模型中指定可选引用

我有赞助商模型和促销代码模型.

  • 赞助商可以有零个或多个促销代码
  • 促销代码可以有零个或一个赞助商

因此,促销代码应该具有对赞助商的可选引用,即sponsor_id,可以具有或不具有值的引用.我不知道如何在Rails中设置它.

这是我到目前为止所拥有的:

# app/models/sponsor.rb
class Sponsor < ActiveRecord::Base
  has_many :promo_codes  # Zero or more.
end
Run Code Online (Sandbox Code Playgroud)
# app/models/promo_code.rb
class PromoCode < ActiveRecord::Base
  has_one :sponsor  # Zero or one.
end
Run Code Online (Sandbox Code Playgroud)
# db/migrate/xxxxx_add_sponsor_reference_to_promo_codes.rb
# rails g migration AddSponsorReferenceToPromoCodes sponsor:references
# Running migration adds a sponsor_id field to promo_codes table.
class AddSponsorReferenceToPromoCodes < ActiveRecord::Migration
  def change
    add_reference :promo_codes, :sponsor, index: true
  end
end
Run Code Online (Sandbox Code Playgroud)

这有意义吗?我的印象是,我必须使用下belongs_to我的推广代码模式,但我对这个没有依据,只是我还没有看到has_manyhas_one例子呢.

ruby-on-rails rails-models ruby-on-rails-4

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

Ruby:未定义的方法`>'

我刚开始学习Ruby,今天遇到了一个问题.

numResults = /\d+/.match(ie.div(:id, 'results_label').text)
puts "Results found: "+numResults.to_s

while(numResults > 0)
.
. some more code
.
Run Code Online (Sandbox Code Playgroud)

我的输出中出现此错误:

Exception: undefined method `>' for #<MatchData:0x424c6d4>
Run Code Online (Sandbox Code Playgroud)

这真的很奇怪,因为我在IRB中做了一个while循环,它工作得很好.我不能让循环中的代码执行,因为程序坚持条件.

谁知道什么是错的?

ruby comparison loops while-loop

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

Rails没有使用我的全局Ruby版本

我想在Ruby 2.1.0中使用Rails,但它使用的是Ruby 1.9.3(系统版本).

我正在使用rbenv来管理我的Ruby版本.我的步骤是:

$ rbenv install 2.1.0
$ rbenv global 2.1.0
$ sudo gem install rails -v 4.0.2
$ rbenv rehash
$ rbenv versions
  system
* 2.1.0 (set by /home/dennis/.rbenv/version)
$ ruby -v
ruby 2.1.0p0 (2013-12-25 revision 44422) [x86_64-linux]
$ rails new app && cd app
$ rails server
Run Code Online (Sandbox Code Playgroud)

据Rails使用的是Ruby 1.9.3(x86_64-linux)localhost:3000/rails/info/properties.来自的一条日志消息rails server:INFO ruby 1.9.3 (2012-04-20) [x86_64-linux].

我认为Rails使用的是Ruby的系统版本,因为版本匹配.

$ rbenv local system
$ ruby -v
ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux]
$ …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails rbenv ruby-on-rails-4

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

如果使用uniq命令(在shell中)如何保留文件的格式?

要使用uniq命令,必须先对文件进行排序.

但是在我的文件中,信息的顺序很重要,因此如何保留文件的原始格式但仍然摆脱重复的内容?

unix sorting shell file duplicates

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

外壳:在图案上方两行插入一个空白/新行

要在与正则表达式匹配的每一行上方添加一个空行,您可以使用:

sed '/regexp/{x;p;x;}'
Run Code Online (Sandbox Code Playgroud)

但我想添加一个空行,而不是一个以上的线,但2线,我的正则表达式匹配的线之上.

我将匹配的模式是地址行中的邮政编码.

以下是文本格式的片段:

随机信息(属于以前的业务)
业务名称
业务地址

例如:

语言:英语
Arnold's Cove,Nfld(sub To Clarenville)
Nile Road,Arnolds Cove,NL,A0B1N0

我想在商家名称上方添加一个新行:

语言:英语

Arnold's Cove,Nfld(sub To Clarenville)
Nile Road,Arnolds Cove,NL,A0B1N0

python perl awk text sed

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

如何从您的应用程序(使用NFC)发送联系人并将其保存在接收设备的联系人列表中?

如何使用您自己的应用程序(并使用Android Beam)将联系人发送到另一台设备并将其保存在其联系人列表中(即默认联系人应用程序).发送设备上的联系人将由ContactsContract提供商提供.

我最好不要让其他设备运行我的应用程序.内置联系人应用程序(Android的默认应用程序)可以发送和接收联系人.因此,应该可以使用自定义应用程序将联系人发送到内置联系人应用程序.

这个问题答案表明,您可以使用VCARD格式.

目前,我的应用程序将通过电话号码搜索联系人,然后将其显示在新活动(即内置联系人应用程序)中.见下文.

Uri uri = Uri.fromParts("tel", number.getText().toString(), "");
Log.d("ContactPicker", uri.toString());
startActivity(new Intent(ContactsContract.Intents.SHOW_OR_CREATE_CONTACT, uri));

// Example log message for the number (123)-123-1234 is "tel:(123)%20123-1234"
Run Code Online (Sandbox Code Playgroud)

我更喜欢这样做,但不要认为这是可能的,因为我无法返回找到的联系人(或者如果找不到现有的联系人,则返回创建的联系人).如果我想要发送特定联系人,我需要这些信息.

我可能需要查询所有联系人,找到我正在寻找的联系人并保存其ID.

注意:我正在使用API​​ 14


编辑

我做了一个概念证明应用程序,它执行此操作:https://github.com/dideler/HiFive

该应用程序可能是错误的.它没有维护,但欢迎拉取请求.

android nfc contactscontract android-contacts android-beam

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