ruby-on-rails - 在自身内部散列的事件记录

标签 ruby-on-rails ruby http activerecord hash

所以这有点愚蠢,更多的是缺乏编程知识,而不是特定于 ruby​​ 或 rails 的东西。

如果我想把一个普通的类变成散列,那还不错。我已经有一个了:

class CustomRequest
  require 'json'
  require 'net/http'
  attr_accessor :url, :depth, :status

  def initialize(url,depth)
    @url = url
    @depth = depth
  end

  def make_me_hash_and_send

    @myReq = {:url => @url, :depth =>@depth}
    myJsonReq = @myReq
    puts myJsonReq

    res = Net::HTTP.post_form(URI.parse('http://127.0.0.1:3008/user_requests/add.json'),
    myJsonReq)

  end
end

简单地从构造函数中传递的内部变量生成散列。我想对事件记录做同样的事情,但它的抽象性并不容易。

假设我有这门课

def  turn_my_insides_to_hash
#How do I take the actual record variables 
# nd generate a hash from them.
#Is it something like

@myHash = {:myString = self.myString
  :myInt => self.myInt }

end

我可能看错了。我知道在课外我可以简单地说

@x = Result.find(passed_id).to_hash

然后做我想做的吧。但我宁愿称之为喜欢

@x = Result.send

(将结果的变量转换为散列并发送) 我已经有了发送部分,只需要知道如何从类内部将变量转换为散列。

最佳答案

您可以尝试使用 JSON 而不是 YAML:

Result.find(passed_id).to_json

Result.find(passed_id).attributes.to_json

您还可以对 to_json 方法使用 :except 和 :only 等选项。

Result.find(passed_id).attributes.to_json(:only => ['status', 'message'])

关于ruby-on-rails - 在自身内部散列的事件记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6706164/

相关文章:

ruby-on-rails - 有没有人能够让 attachment_fu 与 rails 3 一起工作?

ruby - ABC 大小太高,即使没有分支、赋值或条件

php - 如何使用 PHP 脚本记录原始 HTTP header ?

javascript - 使用 AngularJS 和 Spring Boot 发布基本身份验证语义?

php - AngularJs http 获取到 PHP 脚本返回 php 代码

ruby-on-rails - Node.js 中是否有类似 Rails 中的脚手架的东西?

ruby-on-rails - 有没有办法在循环内部知道您是否处于最终迭代?

ruby-on-rails - 将 to_param 用于包含分隔符的字段的 Rails RESTful 资源

ruby-on-rails - rails : How to test delegated methods?

ruby - 将 God 与多个应用程序一起使用,并在重新启动后自动启动它们