小编oma*_*oma的帖子

在Mac上查找(并终止)进程锁定端口3000

如何查找侦听/使用我的tcp端口的进程?我在mac os x上.

有时,在崩溃或一些错误后,我的rails应用程序锁定端口3000.我找不到它使用ps -ef ...我怎么找到愚蠢的东西并杀死它,残忍......?

做的时候

rails server
Run Code Online (Sandbox Code Playgroud)

我明白了

已经在使用的地址 - bind(2)(Errno :: EADDRINUSE)

2014年更新:

要完成以下某些答案:执行kill命令后,可能需要删除pid文件 rm ~/mypath/myrailsapp/tmp/pids/server.pid

macos process

1595
推荐指数
25
解决办法
141万
查看次数

在Rails应用程序中查找未使用的代码

如何找到生产中正在运行的代码?

该应用程序经过了充分测试,但有很多测试可以测试未使用的代码.因此,他们在运行测试时得到报道......我想重构和清理这个烂摊子,它不断浪费我的时间.我有很多背景工作,这就是为什么我想要制作环境来指导我.在heroku运行我可以旋转dynos以补偿探查器对性能的影响.

相关问题如何在Ruby应用程序中找到未使用的方法?没有用.

额外奖励:用于显示运行代码行的频率的指标.不知道为什么我想要它,但我做到了!:)

ruby refactoring code-coverage ruby-on-rails

65
推荐指数
5
解决办法
2万
查看次数

为什么Heroku使用服务器时间而不是Rails时区进行日志记录?

更新:好的,我没有制定好的Q来回答.我仍然在-07:00 UTC和我在+ 02:00 UTC时遇到heroku.

问:如何使用正确的Time.zone编写日志? 9个小时的差异,heroku(美国西部) - 挪威,让人分心.我在我的production.log(使用heroku logs)中得到了这个:

处理ProductionController #create to xml(2010-04-28 23:00:1281.26.51.35)[POST]

我如何写它2010-04-29 08:00:12 +02:00 GMT

请注意,我正在heroku运行,无法自己设置服务器时间,就像您在亚马逊EC2服务器上所做的那样.下面是我之前的问题,我会留下它,因为它包含一些有关时间和区域的有趣信息.


Time.now当我在我的设置另一个时区时,为什么会产生服务器本地时间environment.rb

config.time_zone = 'Copenhagen'
Run Code Online (Sandbox Code Playgroud)

我把它放在一个视野中

<p> Time.zone <%= Time.zone %> </p>
<p> Time.now <%= Time.now %> </p>
<p> Time.now.utc <%= Time.now.utc %> </p>
<p> Time.zone.now <%= Time.zone.now %>  </p>
<p> Time.zone.today <%= Time.zone.today %> </p>
Run Code Online (Sandbox Code Playgroud)

heroku上的应用程序中呈现此结果

Time.zone(格林尼治标准时间+01:00)哥本哈根

Time.now Mon Apr 26 08:28:21 -0700 2010

Time.now.utc Mon Apr 26 15:28:21 …

time logging timezone ruby-on-rails heroku

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

简单的SSO - 使用自定义身份验证 - CAS还是某些Oauth或openid服务器?

我想更多地了解解决单点登录的不同方法及其优缺点.您是否使用过一个特定的解决方案,告诉我它有什么好处,并告诉我有哪些限制或次优部分.

以下是我想知道或不明白的细节.

SSO是一个巨大的主题,如维基百科中所列.我学的越多,我的问题就越多.

首先,我不了解CAS的令牌验证的必要性,它有什么用?

它更安全吗?我猜它很容易受到像中国人那样的中间人攻击.客户还应该使用ssl吗?

让我们变得真实,这是我们的需求:如果已经在我们的某个应用程序中登录,则自动识别/登录用户.

  • my-php-app.com
  • my-java-app.com
  • my-ruby-app.com

(我们有很多用不同语言编写的webapps)

我们希望(保留)我们自己的身份验证规则和用户存储,但可能会添加一些Oauth2提供程序,如facebook-connect.我们希望它对用户来说简单易用,对于使用它的开发人员来说简单.

你会怎么做?

  • CAS?
  • OpenID的?我可以用它进行集中认证吗?
  • 其他?或者是OAuth服务器?

在客户端,您是否会使用iframe(如灯箱)来显示重定向的页面?为什么/为什么不呢?


还有另一个与SSO相关的问题:Saml经常(错误地)混入SSO讨论中 - 如果我这么说,我能理解吗?

当浏览器指向www.yetanother-myapp.com时,saml实现不会提供sso(自动登录)?


我研究过的一些相关的SO问题:

谢谢你教育我!

ruby java cas oauth single-sign-on

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

heroku mongohq和mongoid Mongo :: ConnectionFailure

更新2012年6月9日:

在heroku上使用mongoid 3.0.0.rc进行设置,请参阅此要点:https://gist.github.com/2900804

2011年1月22日更新:

Uri现在优先于mongoid.yml

https://github.com/mongoid/mongoid/issues/issue/266

更新2010年8月12日:虽然我得到了Jackues Crocker的第6个可接受的答案,但是这个问题的某些方面让人很容易搞砸!它再次发生在我身上,我决定研究mongoid源代码.所以,在这里:

目前,主机:端口:名称/数据库:设置超过uri:设置.因此,由于对localhost:xxxx的请求而不是对flame.local.mongohq.com:xxxx的请求,发生了非常无法提供信息的错误消息

这会打破!

defaults: &defaults
  host: localhost  <- THIS 'OVERWRITES' host in the uri!

production:
  <<: *defaults    <- BE CAREFUL WITH WHAT YOU BRING IN. THE host: FROM DEFAULTS WILL BE THE ONE APPLIED, not your uri host.
  uri: <%= ENV['MONGOHQ_URL'] %>
Run Code Online (Sandbox Code Playgroud)

修复它,删除主机:默认情况下,和/或删除<<:*默认值


原文问:

我已经在herokumongodb添加了mongoHQ插件.它崩溃了:

connect_to_master': failed to connect to any given host:port …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails heroku mongodb mongoid mongohq

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

使用mongoid查看MongoDB中的现有索引

我想看看MongoDB使用的现有索引.我可以做相同的

$ mongod
> use my_db
> db.system.indexes.find()
Run Code Online (Sandbox Code Playgroud)

使用Mongoid?

$ rails console
> ?
Run Code Online (Sandbox Code Playgroud)

使用MongoHQ从我的heroku应用程序很方便.谢谢!

indexing mongoid

15
推荐指数
1
解决办法
4775
查看次数

迁移数据 - 不仅仅是模式,Rails

有时,需要进行数据迁移.随着时间的推移,使用域模型的代码更改和迁移不再有效,迁移失败.迁移数据的最佳做法是什么?

我试过一个例子来澄清问题:

考虑一下.你有一个迁移

class ChangeFromPartnerAppliedToAppliedAt < ActiveRecord::Migration
  def up
    User.all.each do |user|
      user.applied_at = user.partner_application_at
      user.save
   end
 end
Run Code Online (Sandbox Code Playgroud)

当然,这完全没问题.稍后,您需要更改架构

class AddAcceptanceConfirmedAt < ActiveRecord::Migration
  def change
    add_column :users, :acceptance_confirmed_at, :datetime
  end
end

class User < ActiveRecord::Base
  before_save :do_something_with_acceptance_confirmed_at
end
Run Code Online (Sandbox Code Playgroud)

对你来说没问题.它完美运行.但是,如果您的同事今天同时进行了这两项迁移,但尚未运行第一次迁移,那么在运行第一次迁移时会出现此错误:

rake aborted!
An error has occurred, this and all later migrations canceled:
undefined method `acceptance_confirmed_at=' for #<User:0x007f85902346d8>
Run Code Online (Sandbox Code Playgroud)

那不是团队合作者,他将修复你介绍的错误.你应该怎么做?

ruby data-migration ruby-on-rails rails-migrations

14
推荐指数
2
解决办法
5239
查看次数

Docker,Jenkins和Rails - 在典型的Rails堆栈上运行规范的设置

我想一个詹金斯主站和从设置为在标准Rails应用运行规范(PostgreSQL中,sidekiq/redis的,RSPEC,水豚-webkit的,常见的Rails堆栈),采用搬运工所以它可以在其他机器上被置于为好.我有一些好的固定机器收集灰尘.

  1. 任何人都可以共享可执行的docker jenkins rails stack示例吗?

  2. 什么阻止这样做?

也适用于主从设置.

前言:经过几天在线,经过几个教程没有成功,我即将放弃项目.我对docker,docker-machine,docker compose和volume有了基本的了解,我得到了几个简单应用程序的docker注册表.

ruby-on-rails jenkins docker

14
推荐指数
1
解决办法
878
查看次数

好Rails 3 WYSIWYG编辑器?

我想在我的应用程序中添加一个编辑器,类似于Stackoverflow上的编辑器.我真的只需要一些基本的格式(行间距,粗体,项目符号等)和区分代码的能力(与SO相同的风格).

有人知道有什么好的解决方案吗?

谢谢!

wysiwyg ruby-on-rails

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

RSpec和受保护的方法,current_user的控制器规范

我可能会以错误的方式走这条路.我首先做的是规格,BDD/TDD并且碰到了碰撞.

我有这个application_controller_spec.rb

require "spec_helper"

describe ApplicationController do
  describe "current_user" do
    it "should return nil if no one is logged in" do
      subject.current_user.should be_nil
    end
    it "should return currently logged in user" do
      hash = {user_id: "my_id"}
      subject.should_receive(:session).and_return hash
      subject.current_user.should == "my_id"
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

这工作完全正常没有protected关键字.

application_controller.rb

class ApplicationController < ActionController::Base
  protect_from_forgery
  helper_method :current_user

  protected
  def current_user
    session[:user_id]
  end
end
Run Code Online (Sandbox Code Playgroud)

protected启用,我得到这个错误味精

NoMethodError: protected method `current_user' called for #<ApplicationController:0x2a90888>
Run Code Online (Sandbox Code Playgroud)

我应该可以使用helper_method进行测试......有什么建议吗?

rspec ruby-on-rails

13
推荐指数
1
解决办法
7442
查看次数