Tag: ruby

(JSON :: ParserError)“{N}:在'alihack <%eval请求(\”alihack.com \“)%>

我有关于Ruby on Rails 3.2.11和Ruby 1.9.3的网站。 什么可能导致以下错误: (JSON::ParserError) "{N}: unexpected token at 'alihack<%eval request(\"alihack.com\")%> 我在日志中有这样的几个错误。 他们都试图评估请求(\“alihack.com \”)。 日志文件的一部分: "REMOTE_ADDR" => "10.123.66.198", "REQUEST_METHOD" => "PUT", "REQUEST_PATH" => "/ali.txt", "PATH_INFO" => "/ali.txt", "REQUEST_URI" => "/ali.txt", "SERVER_PROTOCOL" => "HTTP/1.1", "HTTP_VERSION" => "HTTP/1.1", "HTTP_X_REQUEST_START" => "1407690958116", "HTTP_X_REQUEST_ID" => "47392d63-f113-48ba-bdd4-74492ebe64f6", "HTTP_X_FORWARDED_PROTO" => "https", "HTTP_X_FORWARDED_PORT" => "443", "HTTP_X_FORWARDED_FOR" => "23.27.103.106, 199.27.133.183". 199.27.133.183 […]

传递一个哈希函数(*参数)及其含义

当使用一个成语如: def func(*args) … end * args的含义是什么? 谷歌search这个具体的问题是非常困难的,我什么都找不到。 看来所有的参数实际上都出现在args [0]中,所以我发现自己写了一些防御性的代码,例如: my_var = args[0].delete(:var_name) if args[0] 但是我确定有一个更好的办法,我错过了。

Ruby中的string和符号有什么区别?

Ruby中的string和符号有什么区别,什么时候应该使用另一个?

Ruby on Rails – 为多个模型渲染JSON

我正尝试从JSON中的多个模型渲染结果。 我的控制器中的以下代码只呈现第一个结果集: def calculate_quote @moulding = Moulding.find(params[:id]) @material_costs = MaterialCost.all respond_to do |format| format.json { render :json => @moulding } format.json { render :json => @material_costs } end end 任何帮助将不胜感激,谢谢。

为什么这个Ruby对象同时拥有to_s和检查似乎做同样事情的方法?

为什么这个Ruby对象都是to_s方法和inspect方法似乎是做同样的事情呢? p方法调用inspect并放置/打印调用to_s来表示对象。 如果我跑 class Graph def initialize @nodeArray = Array.new @wireArray = Array.new end def to_s # called with print / puts "Graph : #{@nodeArray.size}" end def inspect # called with p "G" end end if __FILE__ == $0 gr = Graph.new p gr print gr puts gr end 我明白了 G Graph : 0 Graph […]

Bundler在升级到Rubygems 1.5.0后抛出未初始化的常量Gem :: SilentUI(NameError)错误

我运行gem update –system更新到Rubygems 1.5.0,每次运行任何bundle命令后,我都会得到: rvm/gems/ruby-1.8.7-p249/gems/bundler-1.0.9/lib/bundler/ui.rb:56: uninitialized constant Gem::SilentUI (NameError) 其他人遇到过这个问题吗?

我怎么知道什么时候在Rails中“刷新”我的模型对象?

以下是我正在进行的集成testing的一部分: user = User.first assert !user.is_active? get confirm_email_user_url(user),:confirmId => user.mail_confirmation_hash assert_equal response.status,200 # because confirm_email_user_url modifies the activation state of the object user = User.first assert_equal user.state,"activated" 我花了最后一个小时debugging这:)。 在我的初始版本中,我没有在confirm_email_user_url被访问后重新初始化user ,并且即使用户被激活,状态仍然是inactive 。 我怎么知道我是否应该“重新加载”(没有更好的名字)我的模型对象? 我应该怎样打电话才能这样做呢?

Shoulda / RSpec匹配器 – 条件validation

在我的代码中,我有以下validation与Shoulda matchers,它工作正常: it { should validate_presence_of(:name) } 在我的模型中,我已经添加了条件来validation: validates_presence_of :name, :if => eligible? 有没有可能在validation中反映出来? 我已经尝试查看应用程序匹配器的文档 ,但一直无法find解决scheme。 非常感谢!

查找具有特定属性的最大值的Ruby数组元素

这个问题可能有一个非常简单的答案,但是现在我不能为了我的生活而弄清楚。 如果我有一个特定types的对象的ruby数组,他们都有一个特定的领域,我如何find该数组的元素具有该领域的最大值?

在使用哈希函数时获取vs. ?

从Ruby Koans about_hashes.rb : 为什么要在访问哈希键时使用#fetch而不是#[] ?