Tag: ruby on rails 3.1

如何在Rails 3.1中复制class_inheritable_accessor的行为?

从Rails 3.1开始, class_inheritable_accessor产生弃用警告,告诉我改为使用class_attribute 。 但是class_attribute在一个重要的方面表现不同,我将演示。 class_inheritable_attribute的典型用法是presenter类,如下所示: module Presenter class Base class_inheritable_accessor :presented self.presented = {} def self.presents(*types) types_and_classes = types.extract_options! types.each {|t| types_and_classes[t] = t.to_s.tableize.classify.constantize } attr_accessor *types_and_classes.keys types_and_classes.keys.each do |t| presented[t] = types_and_classes[t] end end end end class PresenterTest {} PresenterTest.presented => {:user => User, :person => Person} 但是使用class_attribute ,子类会污染他们的父母: Presenter::Base => {:user => […]

Rails – 使用function测试测试JSON API

我只有一个简单的问题,但我找不到任何答案。 我的ruby on rails 3.2.2 appilcation有一个带有设计会话认证的JSON API。 我的问题是: 我如何通过function测试或集成测试来测试这个API – 有没有办法处理会话? 我没有前端,只有我可以做的API GET。 POST。 放。 并使用JSON Body进行删除。 哪种测试方法是自动化的最佳方法? 示例创建新用户 发布www.exmaple.com/users { “user”:{ “email” : “test@example.com”, “password ” : “mypass” } }

如何在没有RVM的情况下在Ubuntu上安装Ruby 1.9.3?

我想在没有rvm的情况下在Ubuntu上安装ruby 1.9.3 我跑 sudo apt-get install ruby 它采用ruby1.8和ruby1.9.1。 如果我这样做 sudo apt-get install ruby 1.9.3 -p XXXX 我仍然无法安装ruby。 如何在Ubuntu上安装ruby?

rails 3.2.2(或3.2.1)+ Postgresql 9.1.3 + Ubuntu 11.10连接错误

我正在使用PostgreSQL 9.1.3(在x86_64-pc-linux-gnu上的PostgreSQL 9.1.3,由gcc-4.6.real(Ubuntu / Linaro 4.6.1-9ubuntu3)4.6.1,64位编译)和rails 3.2 ubuntu 11.10上的.2或3.2.1。 现在,我可以使用PostgreSQL连接下面的命令 su postgres 输入密码,我可以看到postgres =# 我在config / database.yml中放置了以下细节并执行“ rails db ”它工作正常。 development: adapter: postgresql encoding: utf8 reconnect: false database: sample_app_db pool: 5 username: postgres password: passwordhere host: localhost 我正在使用rvm来访问我的rails环境。 但是当我使用“rails s”命令启动服务器并使用“http:// localhost:3000”命中url时,请说 – connection not established。

如何在rails 3.2.1中使用link_to和ajax

我正在使用Rails 3.2.1 。 如何使用link_to与remote => true 我在控制器中的方法 def clickme @clk = “you click me” respond_to do |format| format.js { render :layout=>false } end end 我的看法 在我的new.html.erb文件中 “clickme”}, {:remote => true, :id=>”clk”} %> ‘goclick’ %> _goclick.html.erb clickme.js.erb $(“allclick”).update(” “goclick”)) %>”); 在我的网页上,一切都很好,当我点击这里链接没有任何变化。 但是,当我检查Firebug控制台时,它向我显示: $(“allclick”).update(“you click me”); 在我的application.js中 //= require jquery //= require jquery_ujs 帮我 :(

新手:在我的情况下替换文本

在我的Ruby on Rails应用程序中,我的帮助程序中有一个方法,它通过以下方式打开文件: content = File.open(myfile.txt) 该文件的内容如下: my.car , my.seat, my.age; my.son , my.dog, my.chair; … 所以,我将内容拆分为“ ; ”,如下所示: content.split(‘;’).each do |line| #Here, I want to replace the text from “my” to “her” on each line end 如何在内容中将每行“my”替换为“她”? 这是将内容更新为: her.car , her.seat, her.age; her.son , her.dog, her.chair; … ————————–更新———————– ———- 我想更新打开文件的内容 ,不仅在读取ruby代码中的内容时替换字符串。

由于模块名称空间中的下划线,从rails 3.1升级到rails 3.2时出现路由错误

我们有一个rails应用程序,我们有一个API命名空间,定义为Api :: V1,Api :: V1_2,Api :: V1_3等。 在routes.rb中,我们设置了以下内容 namespace :api do [“v1”, “v1.2”, “v1.3”, “latest”].each do |name| namespace name, {:module => name.gsub(“.”,”__”), :as => name.gsub(“.”,”_”) } do constraints :format => /json/ do # user scoped views resources :some_endpoint, :only => [:create, :index, :show, :update, :delete], :path => “scheduler” do member do put ‘edit’ post ‘duplicate’ […]

在rails 3.1中存储模型特定常量的最佳位置?

我在名为user的模型中有一个字段类型 ,它是db中的int。 int的值指定它的存储类型。 例: 0 =妈妈 1 =爸爸 2 =祖母 等等 我有其他几个这样的领域,所以创建关联表是有点过分的。 不是在模型和控制器逻辑中的条件语句中检查那些int值,而是在rails中存在这些常量来存储这些常量。 所以我可以从我的模型和控制器中做到这一点? if myuser.type == MOM elsif myuser.type == GRAND_MOTHER 编辑:解决方案我最后一起去了: 在模型中: # constants TYPES = { :mom => 0, :dad => 1, :grandmother => 2, :grandfather => 3 } 在逻辑上: if u.type == User::TYPES[:mom] 即使它更长,我觉得当他们阅读我的代码时,对其他开发人员来说更直观。 感谢下面的Taro这个解决方案。

rails 3关联错误

我有一个表页面和一个表格作者。 每个页面属于一个作者。 还为表和模型创建了迁移。 但在表单中使用它时出现此错误: NoMethodError in Pages#new Showing C:/rorapp/app/views/pages/_form.html.erb where line #1 raised: undefined method `build’ for nil:NilClass Extracted source (around line #1): 1: 2: 3: 4: prohibited this post from being saved: Trace of template inclusion: app/views/pages/new.html.erb Rails.root: C:/rorapp Application Trace | Framework Trace | Full Trace app/views/pages/_form.html.erb:1:in `_app_views_pages__form_html_erb___998576952_54480300′ app/views/pages/new.html.erb:2:in `_app_views_pages_new_html_erb__638997451_40207104′ Request Parameters: None […]

哈希中的ActiveRecord对象不是垃圾收集 – 一个错误或一种缓存function?

我有一个名为Student的简单ActiveRecord模型,表中包含100条记录。 我在rails控制台会话中执行以下操作: ObjectSpace.each_object(ActiveRecord::Base).count # => 0 x = Student.all ObjectSpace.each_object(ActiveRecord::Base).count # => 100 x = nil GC.start ObjectSpace.each_object(ActiveRecord::Base).count # => 0 # Good! 现在我做以下事情: ObjectSpace.each_object(ActiveRecord::Base).count # => 0 x = Student.all.group_by(&:last_name) ObjectSpace.each_object(ActiveRecord::Base).count # => 100 x = nil GC.start ObjectSpace.each_object(ActiveRecord::Base).count # => 100 # Bad! 任何人都可以解释为什么会发生这种情况,是否有一种聪明的方法来解决这个问题而不知道底层哈希结构 我知道我可以这样做: x.keys.each{|k| x[k]=nil} x = nil GC.start 它会正确地从内存中删除所有的Student对象,但我想知道是否有一个通用的解决方案(我的现实问题是广泛传播,并且具有比上面显示的散列更复杂的数据结构)。 我正在使用Ruby […]