小编Pav*_* K.的帖子

Rails - 控制器动作名称到字符串

我有一个Rails问题.

如何在控制器操作中获取控制器操作的名称?

例如,而不是

def create
  logger.info("create")
end
Run Code Online (Sandbox Code Playgroud)

我想写点类似的东西

def create
  logger.info(this_def_name)
end
Run Code Online (Sandbox Code Playgroud)

有什么方法可以获得this_def_name

ruby-on-rails function

157
推荐指数
4
解决办法
10万
查看次数

工厂女孩什么时候在db中创建对象?

我正在尝试使用FactoryGirl/ 来模拟会话shoulda(它使用了固定装置,但我在使用工厂时遇到了问题).我有以下工厂(用户登录和电子邮件都有unique验证):

Factory.define :user do |u| 
 u.login 'quentin'
 u.email 'quentin@example.com'
end

Factory.define :session_user, :class => Session do |ses| 
 ses.association :user, :factory => :user
 ses.session_id 'session_user'
end
Run Code Online (Sandbox Code Playgroud)

这是测试

class MessagesControllerTest < ActionController::TestCase

 context "normal user" do
  setup do 
   @request.session[:user_id]=Factory(:user).id
   @request.session[:session_id]=Factory(:session_user).session_id
  end

  should "be able to access new message creation" do
   get :new
   assert_response :success
  end
 end
end
Run Code Online (Sandbox Code Playgroud)

但是当我跑步时rake test:functionals,我得到了这个测试结果

 1) Error: 
  test: normal user should be able to access new message creation. (MessagesControllerTest): …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails shoulda factory-bot

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

将平台配置存储在数据库或文件中会更好吗?

目前我们正在开发一个应用程序,我们使用数据库表来存储平台设置,如最大文件大小,最大用户数,支持电子邮件等.

这意味着每次我们添加平台设置时,我们都必须在此表中添加一列.

在我之前的项目中,我习惯将这些信息存储在文件中.

什么是更好/更快的方法?

ps,我几乎肯定有人已经有这样的问题,但我似乎无法找到它

database configuration file

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

在bash one-liner中为多个命令设置环境变量

假设我有以下命令

$> MYENVVAR = myfolder echo $ MYENVVAR && MYENVVAR = myfolder ls $ MYENVVAR

我的意思是MYENVVAR = myfolder重复

是否可以为"&&"分隔命令设置一次,同时将命令保持在一行?

linux bash command-line

22
推荐指数
1
解决办法
9245
查看次数

尝试从FTP下载文件会导致"500 Illegal PORT command"错误

如果我在本地执行此操作,一切正常:

require 'net/ftp'

ftp=Net::FTP.new("myftpserver.com", "username", "password")

ftp.getbinaryfile("/myfile.zip","localfile.zip")
ftp.close
Run Code Online (Sandbox Code Playgroud)

如果我尝试在我使用的Linux服务器上执行它,结果是:

/usr/local/lib/ruby/1.9.1/net/ftp.rb:273:in `getresp': 500 Illegal
PORT command. (Net::FTPPermError)   from
/usr/local/lib/ruby/1.9.1/net/ftp.rb:281:in `voidresp'  from
/usr/local/lib/ruby/1.9.1/net/ftp.rb:304:in `block in voidcmd'  from
/usr/local/lib/ruby/1.9.1/monitor.rb:201:in `mon_synchronize'   from
/usr/local/lib/ruby/1.9.1/net/ftp.rb:302:in `voidcmd'   from
/usr/local/lib/ruby/1.9.1/net/ftp.rb:317:in `sendport'  from
/usr/local/lib/ruby/1.9.1/net/ftp.rb:325:in `makeport'  from
/usr/local/lib/ruby/1.9.1/net/ftp.rb:358:in `transfercmd'   from
/usr/local/lib/ruby/1.9.1/net/ftp.rb:420:in `block (2 levels) in
retrbinary'   from /usr/local/lib/ruby/1.9.1/net/ftp.rb:166:in
`with_binary'   from /usr/local/lib/ruby/1.9.1/net/ftp.rb:419:in `block
in retrbinary'  from /usr/local/lib/ruby/1.9.1/monitor.rb:201:in
`mon_synchronize'   from /usr/local/lib/ruby/1.9.1/net/ftp.rb:418:in
`retrbinary'  from /usr/local/lib/ruby/1.9.1/net/ftp.rb:539:in
`getbinaryfile'
Run Code Online (Sandbox Code Playgroud)

可能是什么问题呢?

ruby ftp download

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

未知的heroku错误

我在尝试在heroku上运行应用程序时遇到以下错误

2011-06-03T11:24:25-07:00 heroku[nginx]: GET / HTTP/1.1
2011-06-03T18:24:37+00:00 heroku[router]: Error H14 (No web processes runnig)
Run Code Online (Sandbox Code Playgroud)

这是我得到的唯一消息,在http://devcenter.heroku.com/articles/error-codes中的heroku错误代码中甚至没有提到 这可能是什么原因?

heroku

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

如果运行tls_start,EventMachine是否会在close_connection上发出close_notify?

我正在尝试基于EventMachine编写一个简单的FTPS服务器.

控制插座正常工作.使用数据套接字进行数据传输时,似乎一切正常(TLS握手成功完成并收到数据),但后来收到错误消息.这是我在Filezilla中得到的:

Command:    LIST
Response:   150 Opening ASCII mode data connection for file list
Trace:  CFtpControlSocket::TransferParseResponse()
Trace:    code = 1
Trace:    state = 4
Trace:  CFtpControlSocket::SendNextCommand()
Trace:  CFtpControlSocket::TransferSend()
Trace:    state = 5
Trace:  CTransferSocket::OnConnect
Trace:  CTlsSocket::Handshake()
Trace:  gnutls_session_get_data on primary socket failed: -51
Trace:  CTlsSocket::ContinueHandshake()
Trace:  CTlsSocket::OnSend()
Trace:  CTlsSocket::OnSend()
Trace:  CTlsSocket::OnRead()
Trace:  CTlsSocket::ContinueHandshake()
Trace:  CTlsSocket::OnRead()
Trace:  CTlsSocket::ContinueHandshake()
Trace:  Handshake successful
Trace:  Cipher: AES-256-CBC, MAC: SHA1
Trace:  CTlsSocket::OnRead()
Trace:  CTransferSocket::OnConnect
Trace:  CTransferSocket::OnReceive(), m_transferMode=0
Listing:    -rwxrwxrwx 1 owner  group         1011 Dec 12 …
Run Code Online (Sandbox Code Playgroud)

ruby ssl ftps eventmachine

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

vim中的非贪婪多行搜索

我试图搜索ruby文件并找到所有方法(之后自动替换它们).在vim中,我使用以下正则表达式:

/\vdef.*(\n.*){-}end
Run Code Online (Sandbox Code Playgroud)

但即使我使用"{ - }",它也会选择整个文件的内容.

regex vim multiline non-greedy

12
推荐指数
3
解决办法
2845
查看次数

paperclip从何处获取原始文件的名称?

我开始使用nginx上传模块(创建上传文件,如/ tmp/000121545)但我需要回形针在保存文件时使用原始文件名(如/public/avatars/LuckyLuke.jpg)

以前在参数Rails传递的只是

 "avatar"=>#<File:/tmp/RackMultipart20100413-6151-t3ecq0-0> 
Run Code Online (Sandbox Code Playgroud)

没有原始文件名,所以我想知道它在哪里来回形针?我尝试查看插件代码,但它对我来说目前有点过于复杂.

file-upload ruby-on-rails paperclip

10
推荐指数
1
解决办法
5608
查看次数

重新创建svn存储库

在主服务器故障之后,svn存储库被销毁,我的工作版本是最新的,

从我的工作版本重新创建svn存储库的方法是什么?

在新服务器上安装svn并尝试我的工作副本之后

 svn switch NEW_SVN_PATH .
Run Code Online (Sandbox Code Playgroud)

我收到一个错误

 Repository UUID '1c604742-6b16-462b-86e4-cc8bce959242' doesn't match expected UUID '6df69aeb-a72c-450d-8102-24036a3855f7'
Run Code Online (Sandbox Code Playgroud)

svn repository

9
推荐指数
2
解决办法
2944
查看次数