带有时间戳字段的ActiveResource MassAssignmentSecurity错误

我试图在rails模型上使用ActiveResource实现基本的CRUD操作。 文档说要创建一个ActiveResource::Base的子类,然后设置self.site 。 这很好用直到我尝试更新已经获取的现有记录。 我看到的错误是’ MassAssignmentSecurity::Error ‘,当我在ActiveResource对象上调用’save()’方法时,由于created_at和updated_at字段无法访问,它出现。 我发现如果在我的模型类上使用attr_accessible标记这些字段它可以正常工作,但这似乎是一个非常不安全且非常糟糕的解决方案。 下面显示了一个问题的示例: rails new TestApp cd TestApp rails generate scaffold User first:string last:string rake db:create rake db:migrate rails server 在不同的终端选项卡上,我使用: irb require ‘active_resource’ class User < ActiveResource::Base self.site = 'http://localhost:3000' end u = User.new() u.first = 'John' u.last = 'Shine' u.save() #This saves ok nu = User.find(1) nu.first […]

Ruby Object中是否有一个方法将自身传递给块或proc?

我认为在Ruby中使用类似的东西是很自然的: class Object def yield_self yield(self) end end 这样的方法有没有机会? (我还没有找到。)有没有人认为拥有它会很好?

使用Ruby的Net / HTTP模块,我可以发送原始JSON数据吗?

与通过Fiddler发送数据和请求相比,我一直在研究通过Ruby HTTP请求发送JSON数据的主题。 我的主要目标是找到一种方法,使用Ruby在HTTP请求中发送嵌套的数据哈希。 在Fiddler中,您可以在请求正文中指定JSON并添加标题“Content-Type:application / json”。 在Ruby中,使用Net / HTTP,如果可能,我想做同样的事情。 我有一种预感,这是不可能的,因为在Ruby中将JSON数据添加到http请求的唯一方法是使用set_form_data ,它需要哈希中的数据。 在大多数情况下这很好,但是这个函数没有正确处理嵌套的哈希值(参见本文中的注释 )。 有什么建议?

Nokogiri使用格式和链接标签抓取文本,

如何使用Nokogiri以格式标签递归捕获所有文本? This is text in the TD with strong tags This is a child node. with bold tags “another line of text to a link ” This is text inside a div inside another div inside a paragraph tag 例如,我想捕获: “This is text in the TD with strong tags” “This is a child node. with […]

通过COM从Ruby调用C#.dll

我试图在我的Ruby代码中调用C#中的一些方法。 首先,我在Visual Studio 2008中创建一个.dll。我在构建时注册了COM interop。 为了测试这个新进程,我在C#中创建了一个简单的小DivideTwo方法 – public double DivideTwo(double a, double b) { return a / b; } 在Ruby中,我执行以下操作: require ‘win32ole’ test=WIN32OLE.new(‘DllAttempt.CsharpDll’) x=test.DivideTwo(5,5) puts x #x=1 我很兴奋,因为我觉得我已经开始工作了! 我决定通过以下方法从C#返回一个哈希: public Hashtable Hashtbl(string a,int b) { Hashtable bbDataHash = new Hashtable(); bbDataHash.Add(a, b); return (Hashtable)bbDataHash; } 在Ruby中,我执行以下操作: require ‘win32ole’ test=WIN32OLE.new(‘DllAttempt.CsharpDll’) x=test.Hashtbl(“key”,1) puts x #x=# 如您所见,我找回了一个COM对象。 我无法从对象中得到任何东西。 […]

在to_json方法中使用Rails“错误的参数数量(1为0)”

可能重复: 在Rails 2.3.5中覆盖to_json LIB / responses.rb module Responses class Response def to_json JSON.pretty_generate(self) end end class ErrorResponse < Response def initialize(cause) self[:type]="Error" self[:casue]=cause end end class DataResponse < Response attr_accessor :data end end 这由控制器使用: response=Responses::DataResponse.new response.data=someData render :json => response 现在我在lib/responses.rb:3:in to_json得到错误wrong number of arguments (1 for 0) 。 为什么? 传递给to_json参数没有被render :json隐式调用。 那我的错误在哪里?

PDFTK替代方案

我们一直在使用名为PDFTK的免费命令行实用程序,我们从Ruby on Rails应用程序进行系统调用,将PDF分成单独的页面。 但是,它仅支持PDF版本1.4并返回。 任何人都可以推荐另一个实用程序或gem / Rails插件来类似地操作更高版本的PDF吗? 谢谢

如何将HTTParty与UTF-8编码一起使用?

我有一个像http://example.com/tag/София/new.json这样的url,我想用HTTParty发出GET请求。 当我做: HTTPArty.get“ http://example.com/tag/София/new.json 我明白了: URI::InvalidURIError at / bad URI(is not URI?): link here 任何想法如何处理这个?

为什么我的代码在使用哈希符号而不是哈希字符串时会中断?

我有一个场景,当我尝试使用符号访问哈希键时,它不起作用,但当我用字符串访问它时它工作正常。 我的理解是建议使用符号而不是字符串,所以我试图清理我的脚本。 我在我的脚本中的其他地方使用哈希符号,只是这个特定的场景不起作用。 这是片段: account_params ={} File.open(‘file’, ‘r’) do |f| f.each_line do |line| hkey, hvalue = line.chomp.split(“=”) account_params[hkey] = hvalue end end account_scope = account_params[“scope”] 这是有效的,但如果我使用它不符号,如下所示: account_scope = account_params[:scope] 当我使用符号时,我得到: can’t convert nil into String (TypeError) 我不确定它是否重要,但这个特定哈希值的内容看起来像这样: 12345/ABCD123/12345

如何将数组分解为字符串MVC?

如果current_user提交了一个习惯,那么他:committed这样做的日子就是这样: db t.text “committed”, default: [“sun”, “mon”, “tue”, “wed”, “thu”, “fri”, “sat”], array: true 习惯/ _form (用户选择天数) habit_controller habit_params :committed => [] 习惯/指数 如果一个nil用户提交了一个习惯(鼓励他在注册前创建一个习惯),那么他:committed这样做的日子是这样的: db t.text “committed”, default: [“sun”, “mon”, “tue”, “wed”, “thu”, “fri”, “sat”], array: true 习惯/ _form (用户选择天数) * habit_controller session[:habit_committed] = [params[“habit”][“committed”]] * users_controller committed = session.delete(:habit_committed) @user.habits.create(committed: committed) 习惯/指数 当两个习惯首次提交时,终端看起来像这样: Started […]