Tag: ruby

如何使用依赖::在rails中销毁?

我有2个型号,如下所述。 class EmpGroup < ActiveRecord::Base belongs_to :user has_many :emp_group_members, dependent: :destroy end 和 class EmpGroupMember < ActiveRecord::Base belongs_to :emp_group belongs_to :user end 现在问题是每当我试图销毁一个组然后我收到如下错误。 PG::ForeignKeyViolation: ERROR: update or delete on table “emp_groups” violates foreign key constraint “fk_rails_bd68440021” on table “emp_group_members” DETAIL: Key (id)=(1) is still referenced from table “emp_group_members”. 我错过了什么?

执行rake db时出错:在Heroku上进行迁移

什么时候做 heroku run rake db:migrate 执行所有迁移然后,最后我总是得到以下消息: /app/vendor/bundle/ruby/1.9.1/bin/rake: No such file or directory – pg_dump -i -s -x -O -f /app/db/structure.sql dan79p98fykovu 我无法在Heroku上将pg_dump添加到PATH。 怎么处理这个?

在Rails应用程序中的查询运行时更改表名

我在Apache + mod_passenger上有一个胖的多租户Rails应用程序,它从PostgreSQL表中输出产品价格,如下所示: Table “public.products” Column | Type id | bigint name | character varying(100) price | numeric(8,2) 然后在products.rb我有…… class Product < PostgresDatabase self.table_name = "products" # … yadda yadda end 我想要的是以非常具体的方式对“产品”表进行分区,以便最终为每个租户提供类似product_TENANT-ID的内容(基本上是主要产品表的视图,但这是另一个故事),并且能够像这样查询: Products.for_tenant(TENANT-ID).where(:name => “My product”)…… 我想我可以创建一个方法: class Product < PostgresDatabase self.table_name = "products" # … yadda yadda def for_tenant(tid) self.table_name = "products_" + tid.to_s […]

控制器的所有操作的相同实例变量

我有一个rails控制器,定义了两个动作: index和show 。 我有一个在index action中定义的实例变量。 代码如下所示: def index @some_instance_variable = foo end def show # some code end 如何访问show.html.erb模板中的show.html.erb ?

纯Ruby项目的目录布局

我开始学习ruby了。 我也是一个日常的C ++开发者。 对于C ++项目,我通常使用以下dir结构 / -/bin <- built binaries -/build <- build time temporary object (eg. .obj, cmake intermediates) -/doc <- manuals and/or Doxygen docs -/src –/module-1 –/module-2 — non module specific sources, like main.cpp – IDE project files (.sln), etc. Ruby(非Rails,非Merb)的dir布局会建议保持干净,简单和可维护吗?

如何在Capybara和RSpec中测试CSV文件下载?

以下是在控制器中: respond_to do |format| format.csv { send_data as_csv, type:’text/csv’ } end 在规格: click_link ‘Download CSV’ page.driver.browser.switch_to.alert.accept expect( page ).to have_content csv_data 但这不起作用: Failure/Error: page.driver.browser.switch_to.alert.accept Selenium::WebDriver::Error::NoAlertPresentError: No alert is present 我看到“保存文件”对话框显示,但显然它不是“警告”对话框。 如何单击确定并让Capybara查看数据?

在Ruby中测试STDIN

我目前正在尝试测试一个基本方法,它接收来自用户的一些输入(获取)并输出它(puts)。 经过一番研究后,我找到了测试标准输出流的好方法,如下所示: def capture_standard_output(&block) original_stream = $stdout $stdout = mock = StringIO.new yield mock.string.chomp ensure $stdout = original_stream end 我正在测试的方法是下面的一个,输出和输入是指我在开头初始化并指向等效的$ stdout&$ stdin的ivars: def ask_for_mark ouput.puts ‘What shall I call you today?’ answer = input.gets.chomp.capitalize answer end 现在我已经看到了STDIN的一些解决方案,但还没有真正了解它们中的任何一个,我绝对不想复制和粘贴。 我唯一能够“工作”的是下面的那个,但它并没有真正起作用,因为当我运行rspec它暂停并等待输入时,只需按Enter键,它就会通过: it “takes user’s name and returns it” do output = capture_standard_output { game.ask_for_name } expect(output).to eq “What […]

来自地理位置的时区

我有一个地理位置对纬度/经度,是否有任何方式/工具来获得相应的时区?

我可以在Ruby on Rails上编写PostgreSQL函数吗?

我们正在开始一个基于Ruby on Rails的项目。 我们曾经使用Perl和PostgreSQL函数,并且使用Rails和Active Record我没有看到我们应该如何在PostgreSQL中创建函数并保留Active Record和模型的记录。 我知道我们可以在PostgreSQL中手动创建它,但Active Record的“魔力”在于可以使用所有模型重新创建数据库。 有没有办法使用Rails创建PostgreSQL函数并将其保存在模型中?

预计定义。 在模块内部调用类时

我是铁杆新手。 我在lib目录中有一个设置,如下所示: lib/ blog/ core/ search/ base.rb base.rb也定义了Base类: module Blog module Core module Search class Base attr_accessor :properties def initialize(params) @properties = {} end end end end end 我的application.rb中有以下代码 config.autoload_paths += Dir[“#{config.root}/lib/**/”] 当我将它包含在posts控制器中时,我会收到以下错误: LoadError in PostsController#index Expected /home/usr/code/blog/lib/blog/core/search/base.rb to define Base 任何的想法? 我正在使用rails 3.2.5和RVM。 谢谢你的建议。 更新:添加了我的完整堆栈: Started GET “/admin/posts” for 127.0.0.1 at 2012-06-08 21:06:18 +0800 […]