2013-02-11 40 views
1

在我的控制,我试图执行一个Ruby脚本:变量Errno :: ENOENT(没有这样的文件或目录 - )

def mymethod 
    variable = `ruby /home/user/Test.rb` 
    exec variable 
    raise "Failed: #{variable}" unless variable.blank? 
end 

Test.rb脚本会在提到路径,即使这样,我得到一个错误:

Errno::ENOENT (No such file or directory -) 

的Test.rb内容:

require 'rubygems' 
require 'net/smtp' 
require 'pp' 
require 'mysql' 
require 'yaml' 
message = "MESSAGE_END 
G Name <MyEmailAddress> 
To: G Name <MyEmailAddress> 
Subject: SMTP e-mail test 
This is a test mail" 
Net::SMTP.start('webserver') do |smtp| 
smtp.send_message message, 'EmailAddress', 'EmailAddress' 
end 

当我手动运行该脚本。它按预期发送邮件。

+0

什么样的输出呢'Test.rb'产生? – Casper 2013-02-11 15:09:38

+0

你想打开该文件还是什么? – Vinay 2013-02-11 15:10:44

+0

@Casper:更新了我的问题 – Supersonic 2013-02-11 15:15:46

回答

1

你必须

require 'open-uri' 

所以,

require '/home/user/Test.rb' 
require 'open-uri' # sometimes without this line, we get the exact error message in ruby on rails.. 

(或)

尝试重新启动服务器,有时它的修复它..

+0

需要'/home/user/Test.rb'的工作感谢 – Supersonic 2013-02-11 15:24:44

+0

有人被放下这个答案downvote ....天才 – Vinay 2013-02-11 15:25:15

相关问题