在Rails中实现查找表

我目前正在使用(或尝试使用)查找表来表示包含枚举字符串的列。 我与我的团队进行了广泛的讨论,以确保这是我们想要的方向,并决定继续进行,但不幸的是,我们都不知道如何使用迁移将查找表与列绑定,如果有更改,在模型/控制器/视图中进行以支持这种新行为。 我已经广泛搜索了这个并没有找到这样做的好例子,所以我希望有人可以告诉我一个与我在搜索中错过的教程的精彩链接,或者描述如何做到这一点。 我也很想知道是否有非官方(或官方)Railsy模式。 提前致谢。

base64编码长度参数

我正在解码base64字符串,修改它,并用Ruby重新编码它。 重新编码时的问题是ruby编码库在60个左右的字符后添加了一个换行符。 如何告诉它每行限制没有最大字符数? val = “QmFzZTY==” decoded_val = Base64.decode64(val) encoded_val = Base64.encode64(val) #=> QmFzZTY0IGlzIGEgZ2VuZXJpYyB0ZXJtIGZvciBhIG51bWJlciBvZiBzaW1p # bGFyIGVuY29kaW5nIHNjaGVtZXMgdGhhdCBlbmNvZGUgYmluYXJ5IGRhdGEg # YnkgdHJlYXRpbmcgaXQgbnVtZXJpY2FsbHkgYW5kIHRyYW5zbGF0aW5nIGl0 # IGludG8gYSBiYXNlIDY0IHJlcHJlc2VudGF0aW9uLiBUaGUgQmFzZTY0IHRl # cm0gb3JpZ2luYXRlcyBmcm9tIGEgc3BlY2lmaWMgTUlNRSBjb250ZW50IHRy # YW5zZmVyIGVuY29kaW5nLg0KDQpCYXNlNjQgZW5jb2Rpbmcgc2NoZW1lcyBh # cmUgY29tbW9ubHkgdXNlZCB3aGVuIHRoZXJlIGlzIGEgbmVlZCB0byBlbmNv # ZGUgYmluYXJ5IGRhdGEgdGhhdCBuZWVkcyBiZSBzdG9yZWQgYW5kIHRyYW5z # ZmVycmVkIG92ZXIgbWVkaWEgdGhhdCBhcmUgZGVzaWduZWQgdG8gZGVhbCB3 # aXRoIHRleHR1YWwgZGF0YS4gVGhpcyBpcyB0byBlbnN1cmUgdGhhdCB0aGUg # ZGF0YSByZW1haW5zIGludGFjdCB3aXRob3V0IG1vZGlmaWNhdGlvbiBkdXJp # bmcgdHJhbnNwb3J0LiBCYXNlNjQgaXMgdXNlZCBjb21tb25seSBpbiBhIG51 # bWJlciBvZiBhcHBsaWNhdGlvbnMgaW5jbHVkaW5nIGVtYWlsIHZpYSBNSU1F # LCBhbmQgc3RvcmluZyBjb21wbGV4IGRhdGEgaW4gWE1MLg==

如何等待系统命令结束

我正在使用Ruby中的系统命令转换XLS 2 CSV文件。 在转换之后,我正在处理CSV文件,但是当程序想要处理文件时转换仍在运行,所以那时它们不存在。 有人能告诉我是否可以让Ruby等待系统命令完成所需的时间? 现在我正在使用: sleep 20 但如果它需要更长的时间,那当然是不对的。 我具体做的是: #Call on the program to convert xls command = “C:/Development/Tools/xls2csv/xls2csv.exe C:/TDLINK/file1.xls” system(command) do_stuff def do_stuff #This is where i use file1.csv, however, it isn’t here yet end

处理API费率限制?

我有一个应用程序设置为每天一次调度多个API。 这非常好用,但我知道我正在调用的一些API(例如Twitter)有一个速率限制。 随着我正在进行的通话次数设置不断增长,有人可以推荐一种方法来限制我的通话,这样我就可以每小时/每分钟发送x的爆发等吗? 我找到了Glutton Ratelimitgem,是否有人使用它并且它有什么用? 还有其他我应该看的吗?

使用Nokogiri将div嵌套在div元素中

对于以下HTML,我想解析它并使用Nokogiri得到以下结果。 event_name = “folk concert 2” event_link = “http://www.douban.com/event/12761580/” event_date = “20th,11,2010″ 我知道doc.xpath(‘//div[@class=”nof clearfix”]’)可以获取每个div元素,但是我应该如何继续获取每个属性,例如event_name ,尤其是date ? HTML folk concert 2 Date:25th,11,2010 folk concert Date:10th,11,2010

NameError:未初始化的常量Mail :: Parsers :: ContentTransferEncodingParser

有时当我在heroku上发送大量电子邮件时,其中一些失败并出现以下错误: NameError: uninitialized constant Mail::Parsers::ContentTransferEncodingParser 我不知道为什么会这样,但我想也许这可能是因为attachments.inline in mailer使用了attachments.inline in mailer 。 什么想法可能导致这个问题?

设计路由错误

在设置设计时我似乎无法克服此错误。 Routing Error wrong constant name Devise/registrationsController 要么 Routing Error wrong constant name Devise/sessionsController 我正在使用Ruby 1.8.7,Rails 3.0和Devise 1.1.3 我的应用程序上的其他所有工作,我最近从2.3.8升级我的应用程序,以前使用authlogic但没有我自己以外的任何用户所以我只是放弃了我的用户,会话模型和用户,UserSession控制器…所以我因为我制作了一个新的Rails 3应用程序来测试我的配置设置和路由工作完美,所以我觉得它有用处。 有任何想法吗? 此外: devise_for :users 我也尝试过: devise_scope :user do get “register” => “devise/registrations#new” get “login” => “devise/sessions#new” get “logout” => “devise/sessions#destroy” end 这是我的完整痕迹 Started GET “/users/sign_in” for 127.0.0.1 at Fri Oct 01 12:11:59 +0200 2010 ActionController::RoutingError […]

正则表达式:如果字符串包含空格,则不匹配

我似乎无法找出匹配字符串的正则表达式模式,只要它不包含空格。 例如 “this has whitespace”.match(/some_pattern/) 应该返回nil但是 “nowhitespace”.match(/some_pattern/) 应该使用整个字符串返回MatchData。 有谁能建议上面的解决方案?

Chef – 用动态变量创建模板?

我对厨师食谱有点挑战。 我是厨师的新手,所以请耐心等待。 第1步:我的厨师食谱安装Ruby Passenger,然后编译Passenger nginx模块和Nginx。 # Install passenger and nginx module bash “Install Passenger” do code < 0 } end # Install passenger # Note that we have to explicitly include the RVM script otherwise it won’t setup the environment correctly bash “Install passenger nginx module and nginx from source” do code <<-EOF source /usr/local/rvm/scripts/rvm […]

从Rake文件中的任务调用方法

可以调用与任务相同的rake文件中的方法吗? 在下面的代码中,您可以看到我有方法调用get_search_url,它将被分配给url。 namespace :populate do desc “ETC” task :db => :environment do Report.where(link: “”).each do |word| url = get_search_url(word.name) doc = Nokogiri::HTML(open(url)) word.update_columns(link: link) end end def get_search_url(keyword) return “URL/keyword” end end