草庐IT

主机识别

全部标签

ruby - 如何在 Ruby 中获取当前主机的 FQDN?

我需要获取运行我的Ruby脚本的主机的完整扩展主机名。在Perl中,我使用Sys::Hostname::Long并取得了良好的效果。Google似乎建议我应该在ruby​​中使用Socket.hostname,但它只返回节点名,而不是完整的主机名。 最佳答案 这似乎可行:hostname=Socket.gethostbyname(Socket.gethostname).first 关于ruby-如何在Ruby中获取当前主机的FQDN?,我们在StackOverflow上找到一个类似的问题

ruby - 如何让 rbenv 识别 '1.9.3-p***' Ruby 版本?

我正在尝试运行一些Ruby项目,并且该项目正在使用.ruby-version文件。该文件仅包含:1.9.3我安装了最新的Ruby1.9.3:$rbenvinstall1.9.3-p448然而,当我运行ruby--version时,我得到了rbenv:version'1.9.3'isnotinstalled为了修复这个错误,我列出了~/.rbenv/versions/并且它包含文件夹1.9.3-p448。我将该文件夹重命名为1.9.3并运行rbenvrehash。这解决了问题。看起来-p448部分(什么意思?补丁?)混淆了rbenv。如何在不手动重命名~/.rbenv中的文件夹的情况下使

ruby-on-rails - 如何使用符号来识别 ruby​​ 方法中的参数

我正在学习Rails并回到Ruby以了解Rails中的方法(以及Ruby的实际工作原理)。当我看到如下方法调用时:validates:first_name,:presence=>true我很困惑。您如何在ruby​​中编写接受符号或散列的方法。validates方法的源代码也很困惑。有人可以为我简化在ruby​​类和实例方法中使用符号作为参数的主题吗?更新:好一个@Dave!但我尝试的是这样的:deffull_name(:first_name,:last_name)@first_name=:first_name@last_name=:last_namep"#{@first_name}#

ruby-on-rails - ActionView::Template::Error:缺少要链接到的主机

正如标题所暗示的,当我尝试在我的邮件程序模板中使用link_to时出现此错误:ActionView::Template::Error:Missinghosttolinkto!Pleaseprovidethe:hostparameter,setdefault_url_options[:host],orset:only_pathtotrue我尝试按照它的说明进行操作,并且还找到了thispost,但我仍然收到错误。我尝试将config.action_mailer.default_url_options={host:'example.com'}添加到以下每个文件,但没有一个有效:/confi

ruby-on-rails - rspec 路由测试和主机

我看到我可以像这样用rspec测试路由:get("/").shouldroute_to("welcome#index")但我有基于主机名或部分主机名的约束,并在多个主机名之间重定向。测试时如何指定主机名?如何使用正确的配置运行测试?我尝试打印root_url并得到:Missinghosttolinkto!Pleaseprovidethe:hostparameter,setdefault_url_options[:host],orset:only_pathtotrue 最佳答案 同样的错误发生在我每次运行rspecspec/整个错误实

硒c#,xpath没有识别

我有元素,但是XPATH无法正常工作,无法找到XPATH的元素。varnewnumber=driver.findelement(by.xpath(“//div[@ID='149694333073-0-0-uigrid-0006-cell']/div”));请在这件事上给予我帮助?看答案要处理动态ID,他们最简单的事情就是将其删除。如何在Chrome中这样做:右键单击元素,然后选择“检查”双击元素的ID=“...”以编辑它删除属性并保存更改(通过单击另一个元素)右键单击元素,然后选择“复制”->“复制XPath”

ruby-on-rails - 在本地主机 :4567 but not on IP 上运行的 Ruby Sinatra Web 服务

我在Windows732位操作系统上有一个ruby​​(使用sinatra)网络服务。它在端口4567上运行。当我使用localhost:4567时它工作正常但是当我用我机器的本地ip替换localhost时说192.168.103.99:4567它不起作用,并且失败连接。我已经禁用了防火墙,绕过代理并将端口4567添加到异常(exception),仍然没有运气。可能是什么问题? 最佳答案 以下对我有用。rubyapp.rb-o0.0.0.0 关于ruby-on-rails-在本地主机:

从 URL 字符串中提取主机的 Ruby 代码

我正在寻找一种方法来可靠地从Ruby中的URL字符串中提取主机名。例如http://www.mglenn.com/directory=www.mglenn.com或者http://www.mglenn.com?param=x=www.mglenn.com 最佳答案 你可以尝试这样的事情:require'uri'myUri=URI.parse('http://www.mglenn.com/directory')printmyUri.host#=>www.mglenn.com 关于从URL字

ruby-on-rails - 无法连接本地主机 :3000 ruby on rails in vagrant

我尝试在windows中连接localhost:3000rails服务器在vagrant(ubuntu14.10)中运行端口转发完成什么时候,我试过lynx127.0.0.1:3000在ubunutu中,它可以工作但是,在Windows中,我也无法连接localhost:3000、127.0.0.1:3000刚刚显示ERR_CONNECTION_REFUSED在cmd中,我运行了netstat-t结果是:3000TIME_WAIT我该如何解决这个问题?这是我的'Vagrantfile'#-*-mode:ruby-*-#vi:setft=ruby:#AllVagrantconfigura

ruby - Vagrant - 如何拥有特定于主机平台的配置步骤

我们有一个多元化的开发团队,一个在Windows上,另一个在Ubuntu上,另一个在OSX上。作为windows男孩,我设置了vagrant安装脚本的第一个版本,它运行得非常好;)但是,当它在Ubuntu主机上运行时,第一次进入调用bash脚本的配置步骤时,由于权限问题而失败。在Windows上,这无关紧要,因为samba共享自动具有足够的权限来运行bash脚本(它位于项目层次结构中,因此存在于VM上的/vagrant共享中),但是对于ubuntu,我需要在我调用它之前在配置脚本中设置对此文件的权限。这不是问题,老实说,我怀疑即使有额外的“chmod”步骤,它在Windows下仍然可以