小编Pet*_*xey的帖子

如何在Rails中预览电子邮件?

这可能是一个愚蠢的问题但是当我在Rails中整理HTML电子邮件时,是否有一种特别简单的内置方式可以在浏览器中预览模板,或者我是否需要编写某种自定义控制器来拉动它在它看来?

email ruby-on-rails

113
推荐指数
9
解决办法
5万
查看次数

当在factory_girl中使用时,Faker正在生成重复数据

我正在尝试使用Faker gem将一些假数据填充到工厂中:

Factory.define :user do |user|
  user.first_name Faker::Name::first_name
  user.last_name Faker::Name::last_name
  user.sequence(:email) {|n| "user#{n}@blow.com" }
end
Run Code Online (Sandbox Code Playgroud)

但是,虽然我希望这会生成具有不同first_name和last_names的用户,但每个用户都是相同的:

>> Factory(:user)
=> #<User id: 16, email: "user7@blow.com", created_at: "2011-03-18 18:29:33",     
updated_at: "2011-03-18 18:29:33", first_name: "Bailey", last_name: "Durgan">
>> Factory(:user)
=> #<User id: 17, email: "user8@blow.com", created_at: "2011-03-18 18:29:39", 
updated_at: "2011-03-18 18:29:39", first_name: "Bailey", last_name: "Durgan">
Run Code Online (Sandbox Code Playgroud)

如何让Faker gem为每个用户生成新名称,而不仅仅重用原始用户?

ruby-on-rails factory-bot

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

将一行文本保持为一行 - 包裹整行或根本不包括整行

我想把一行文字放在一起,这样整行都会掉线或根本没有掉线

可接受

How do I wrap this line of text - asked by Peter 2 days ago
Run Code Online (Sandbox Code Playgroud)

可接受

How do I wrap this line of text 
- asked by Peter 2 days ago
Run Code Online (Sandbox Code Playgroud)

不能接受的

How do I wrap this line of text - asked by Peter 
2 days ago
Run Code Online (Sandbox Code Playgroud)

这在CSS中是否可以实现?

html css

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

在RSpec中,mock和double之间的区别是什么?

在rspec中,您可以创建一个mock或一个double.这两个看起来几乎是一回事,我在文档中找不到任何消除歧义的东西.

有什么不同?

ruby testing rspec ruby-on-rails

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

为什么factory_girl不能为我进行交易操作? - 测试后行仍保留在数据库中

我正在尝试使用factory_girl创建一个"用户"工厂(使用RSpec)但是它似乎没有在事务上运行,并且由于测试数据库中先前测试的残余数据而显然失败了.

Factory.define :user do |user|
  user.name                   "Joe Blow"
  user.email                  "joe@blow.com" 
  user.password               'password'
  user.password_confirmation  'password'
end

@user = Factory.create(:user)
Run Code Online (Sandbox Code Playgroud)

运行第一组测试很好:

spec spec/ 


...
Finished in 2.758806 seconds

60 examples, 0 failures, 11 pending
Run Code Online (Sandbox Code Playgroud)

一切都很好并且符合预期,但是再次运行测试:

spec spec/ 
...
/Library/Ruby/Gems/1.8/gems/activerecord-2.3.8/lib/active_record/validations.rb:1102:in `save_without_dirty!': Validation failed: Email has already been taken (ActiveRecord::RecordInvalid)
    from /Library/Ruby/Gems/1.8/gems/activerecord-2.3.8/lib/active_record/dirty.rb:87:in `save_without_transactions!'
    from /Library/Ruby/Gems/1.8/gems/activerecord-2.3.8/lib/active_record/transactions.rb:200:in `save!'
    from /Library/Ruby/Gems/1.8/gems/activerecord-2.3.8/lib/active_record/connection_adapters/abstract/database_statements.rb:136:in `transaction'
    from /Library/Ruby/Gems/1.8/gems/activerecord-2.3.8/lib/active_record/transactions.rb:182:in `transaction'
    from /Library/Ruby/Gems/1.8/gems/activerecord-2.3.8/lib/active_record/transactions.rb:200:in `save!'
    from /Library/Ruby/Gems/1.8/gems/activerecord-2.3.8/lib/active_record/transactions.rb:208:in `rollback_active_record_state!'
    from /Library/Ruby/Gems/1.8/gems/activerecord-2.3.8/lib/active_record/transactions.rb:200:in `save!'
    from /Library/Ruby/Gems/1.8/gems/factory_girl-1.2.3/lib/factory_girl/proxy/create.rb:6:in `result'
    from /Library/Ruby/Gems/1.8/gems/factory_girl-1.2.3/lib/factory_girl/factory.rb:316:in `run'
    from /Library/Ruby/Gems/1.8/gems/factory_girl-1.2.3/lib/factory_girl/factory.rb:260:in `create'
    from /Users/petenixey/Rails_apps/resample/spec/controllers/users_controller_spec.rb:7
    from /Library/Ruby/Gems/1.8/gems/rspec-1.3.0/lib/spec/example/example_group_methods.rb:183:in …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails factory-bot

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

如何从rails路由中删除控制器名称?

我想减少我的应用程序上的路由,以便:

http://myapplication.com/users/peter/questions/how-do-i-create-urls

成为...

http://myapplication.com/peter/how-do-i-create-urls

我有一个用户控制器,并希望它足智多谋.用户还有一个名为问题的嵌套资源.

基本路线文件

没有任何URL修剪,routes文件如下所示:

...
resources :users do
  resources :questions
end
Run Code Online (Sandbox Code Playgroud)

但是,此处的URL采用的形式

http://myapplication.com/users/peter/questions/how-do-i-create-urls

而不是

http://myapplication.com/peter/how-do-i-create-urls

部分成功 我尝试过以下方面:

...
resources :users, :path => '' do
  resources :questions
end
Run Code Online (Sandbox Code Playgroud)

这有效并产生:

http://myapplication.com/peter/questions/how-do-i-create-urls

但是,如果我尝试:

...
resources :users, :path => '' do
  resources :questions, :path => ''
end
Run Code Online (Sandbox Code Playgroud)

然后事情开始出错了.

这是正确的方法,如果是这样,是否可以使用嵌套资源?

routing ruby-on-rails

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

何时使用"validates_associated"v."belongs_to:parent,:validate => true"

似乎在rails中你可以在两个地方定义关联验证,或者在关联本身上:

class Child

  belongs_to :parent, :validate => true

end
Run Code Online (Sandbox Code Playgroud)

或者作为验证回调:

class Child

  belongs_to :parent

  validates_associated :parent

end
Run Code Online (Sandbox Code Playgroud)

这两种方法有什么区别?

测试差异

我想也许前者会创建一个背压,并强制父母只有在孩子有效的情况下才有效:

即(设置时:validate => true)

child.valid? # => false
child.parent.valid? # => also evaluates to false because of the :validate => true condition


# do whatever it takes to make the child valid again
#...
child.valid? # => true
child.parent.valid? # => true
Run Code Online (Sandbox Code Playgroud)

但是我测试了它,但这不会发生.那两种方法之间有什么区别(如果有的话)?

activerecord ruby-on-rails

29
推荐指数
1
解决办法
8236
查看次数

Heroku是否支持`rails dbconsole`?

我正试图启动rails dbconsoleHeroku,但得到以下错误:

heroku run rails dbconsole
# => Couldn't find database client: psql. Check your $PATH and try again
Run Code Online (Sandbox Code Playgroud)

是否可以在Heroku上使用dbconsole?如果没有,是否有另一个可以使用的客户端?

ruby-on-rails heroku

23
推荐指数
2
解决办法
8359
查看次数

在Rails查询中包含LIKE子句的最佳方法是什么?

在Rails查询中包含LIKE子句的最佳方法是什么,即(完全不正确的):

 Question.where(:content => 'LIKE %farming%')
Run Code Online (Sandbox Code Playgroud)

activerecord ruby-on-rails ruby-on-rails-3

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

在RSpec中是否存在与Cucumber的"情景"相同或者我使用RSpec的错误方法?

我对Cucumber的情景的简洁性和实用性印象深刻,它们是测试不同情况的一种很好的方法.

例如,例如黄瓜方案

Feature: Manage Users
In order to manage user details
As a security enthusiast
I want to edit user profiles only when authorized

Scenario Outline: Show or hide edit profile link
  Given the following user records
    | username | password | admin |
    | bob      | secret   | false |
    | admin    | secret   | true  |
  Given I am logged in as "<login>" with password "secret"
  When I visit profile for "<profile>"
  Then I should <action>

  Examples: …
Run Code Online (Sandbox Code Playgroud)

rspec ruby-on-rails cucumber

17
推荐指数
1
解决办法
4827
查看次数