草庐IT

SOME_NAME

全部标签

ruby - gem 安装错误 : 'Please specify at least one gem name'

例如,当我运行“geminstallbundler”时,如果我运行的是ruby​​1.9.3版本,它工作正常,但是当运行ruby​​2.1.2时,它似乎没有看到“bundler”arg并给我ERROR:Whileexecutinggem...(Gem::CommandLineError)Pleasespecifyatleastonegemname(e.g.gembuildGEMNAME)我在两个运行rbenv的不同系统上看到了这一点。这是RBENV_DEBUG=1运行时输出的最后一部分:+[rbenv-exec:45]exportPATH=/home/ded/.rbenv/versio

ruby - Shopify Liquid 语法 - {%- assign [some_var] = [some_val] -%} 和 {% assign [some_var] = [some_val] %} 有什么区别

在使用Shopify的Liquid语言编码时,我注意到使用以下语法分配了一些变量:{%-assignvariable=value-%}和使用以下语法分配的其他变量:{%assignvariable=value%}有人能解释一下区别吗? 最佳答案 当您使用{%assignvariable=value%}时,如果有任何空格,您将保留所有空格。但是,如果您使用{%-assignvariable=value-%},空白将被去除。这是主要区别。PS:对于任何流动操作都是如此{%-if-%}、{%-capture-%}等。即使您喜欢输出这样的内

Java + rails : Invoking some Java code from within a rails app

我有一个Rails应用程序。我还用Java编写了一个构造4维树结构的方法。它用于查询我的数据库。代码相对复杂,我不想再用Ruby重写它。有什么办法可以使用我在Rails应用程序中编写的这个Java方法。这适用于Heroku托管应用。如果是这样,我应该如何着手了解如何实现这一目标?我应该谷歌什么关键字?谁能指出我已知的好资源...欣赏它。 最佳答案 您可以通过网络向Ruby客户端公开Java方法。有许多很棒的抽象层可用于通过服务器公开Java代码。一个这样的抽象层是Thrift.您可以使用Thrift的代码生成引擎为Ruby端创建一个

ruby-on-rails - rails : Opening a file using an incomplete file name

我正在使用ruby​​onrails,我想知道是否有一种方法可以打开我缺少文件名最后几个字符的文件。例如:我的文件名为“/folder/files/A2222_revA.pdf”。但是,随着时间的推移,这些文件名会从A2222_revA更改为A2222_revB再到A2222_revC。我将路径和不变的名称(A2222)保存为变量,我的目标是只打开名称为A2222的任何文件...因为永远不会有超过一个具有该特定前缀的文件。有没有办法在指定文件夹中按字母数字顺序打开下一个文件名?我有一个Controller来查看这些文件,如下所示:defview@drawing=Drawing.find

ruby-on-rails - rails - activerecord SELECT TOP 1 field_name * FROM table_name

我有这样一个sql:SELECTTOP1field_name*FROMtable_name我想把它转换成rails中的activerecord。 最佳答案 该代码无法完成工作?YourModel.select(:field_name).first或YourModel.select(:field_name).order('iddesc').first 关于ruby-on-rails-rails-activerecordSELECTTOP1field_name*FROMtable_name,

ruby-on-rails - NilClass :Class (Using formtastic in Rails 3. 0.3,Ruby 1.9.2 的未定义方法 `model_name')

对于为什么这不起作用有点困惑。我在Windows7上使用Ruby1.9.2和Rails3.0.3。尝试使用formtastic为后期模型制作表单,但是,当我尝试呈现View时,我不断收到undefinedmethod`model_name'forNilClass:Class。相关代码:Demonly_controller.rbclassDemonlyControllerPosts_controller.rbclassPostsControllerPost.rbclassPostIndex.html.erbDemonly很可能我正在做一些非常愚蠢的事情,因为我生病了并且精神不振。提取的源

ruby - send( :method_name) and method(:method_name). 调用之间有区别吗?

ruby中send和method().call有区别吗?1.send(:to_f)=>1.01.method(:to_f).call=>1.0虽然对我来说两者似乎都一样。 最佳答案 从您的角度来看,他们做同样的事情。但是带有method的版本要慢得多(因为它在“幕后”做了更多的事情,比如创建一个方法对象)require'benchmark/ips'Benchmark.ipsdo|x|x.report('plainsend')do|times|1.send(:to_f)endx.report('methodwithcall')do|t

ruby - Tiny_tds : Connect: Server name not found in the configuration files

require"rubygems"require"tiny_tds"client=TinyTds::Client.new(:username=>'sa',:password=>'',:host=>'RICHARD_PC\SQLEXPRESS')result=client.execute("SELECT*FROM[Contacts]")result.eachdo|row|//Dosomethingend我一直收到同样的错误:“连接:在配置文件中找不到服务器名称”。我需要做的就是至少能够连接到SqlServer。那么如果主机不是我机器上安装的sqlexpress实例,那它是什么呢?在Git

ruby - 无方法错误 : undefined method `+@' for "some sting":String

我的Rails应用程序今天才开始收到此错误。这是代码上下文。它在以new_host_id开头的行上抛出错误while@host_ids.include?(new_host_id)i++new_host_id=duplicate_host_id+i.to_send 最佳答案 Ruby没有有++操作符。Ruby中的成语是i+=1,是i=i+1的缩写形式。最初我认为发布的代码不正确,必须是++i才能生成该错误。然而,正如JörgWMittag在评论中解释的那样,情况并非如此:[..]Rubyallowswhitespace(includi

ruby-on-rails - 另一种写法 : if some_variable && some_valiable. size == 2

在Ruby和RoR中,我经常发现自己测试对象是否存在,然后对象的属性是否符合某些条件。像这样:ifparams[:id]&¶ms[:id].size==40...dostuffend有没有更有效的方法来做到这一点?像这样的东西:ifparams[:id].size==40rescuefalse但没有使用救援? 最佳答案 在Rails2.3中,您可以使用Object#try方法:ifparams[:id].try(:size)==40#dostuffendtry在nil上调用(带任何参数)时将返回nil。希望这是有道理的。