我有一个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
?
我正在尝试使用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) 目前我们正在开发一个应用程序,我们使用数据库表来存储平台设置,如最大文件大小,最大用户数,支持电子邮件等.
这意味着每次我们添加平台设置时,我们都必须在此表中添加一列.
在我之前的项目中,我习惯将这些信息存储在文件中.
什么是更好/更快的方法?
ps,我几乎肯定有人已经有这样的问题,但我似乎无法找到它
假设我有以下命令
$> MYENVVAR = myfolder echo $ MYENVVAR && MYENVVAR = myfolder ls $ MYENVVAR
我的意思是MYENVVAR = myfolder重复
是否可以为"&&"分隔命令设置一次,同时将命令保持在一行?
如果我在本地执行此操作,一切正常:
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)
可能是什么问题呢?
我在尝试在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错误代码中甚至没有提到 这可能是什么原因?
我正在尝试基于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文件并找到所有方法(之后自动替换它们).在vim中,我使用以下正则表达式:
/\vdef.*(\n.*){-}end
Run Code Online (Sandbox Code Playgroud)
但即使我使用"{ - }",它也会选择整个文件的内容.
我开始使用nginx上传模块(创建上传文件,如/ tmp/000121545)但我需要回形针在保存文件时使用原始文件名(如/public/avatars/LuckyLuke.jpg)
以前在参数Rails传递的只是
"avatar"=>#<File:/tmp/RackMultipart20100413-6151-t3ecq0-0>
Run Code Online (Sandbox Code Playgroud)
没有原始文件名,所以我想知道它在哪里来回形针?我尝试查看插件代码,但它对我来说目前有点过于复杂.
在主服务器故障之后,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) ruby ×2
bash ×1
command-line ×1
database ×1
download ×1
eventmachine ×1
factory-bot ×1
file ×1
file-upload ×1
ftp ×1
ftps ×1
function ×1
heroku ×1
linux ×1
multiline ×1
non-greedy ×1
paperclip ×1
regex ×1
repository ×1
shoulda ×1
ssl ×1
svn ×1
vim ×1