Questions tagged «ruby-on-rails»

Ruby on Rails是一个用Ruby编写的开源全栈Web应用程序框架。它遵循流行的MVC框架模型,并以其“配置之上的约定”方法进行应用程序开发而闻名。

5
Mongodb:使用前要知道什么?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 6年前关闭。 改善这个问题 我正在使用Ruby on Rails开始一个业余(非收入)项目。我已经使用Postgresql在Rails中进行了大量开发,并且可以很好地模仿标准化模式。但是,Mongrodb看起来很新。有什么比业余项目更能尝试新事物的呢? 回想一下您何时开始使用Mongodb。后来您学习了什么技术,使您说:“如果我刚开始就知道这一点!” 您发现从一开始就使用了哪些插件(如果仅知道的话)?您想为哪些参考添加书签?

11
如何在模型而不是视图中使用“ number_to_currency”帮助方法?
我想to_dollar在模型中使用如下方法: module JobsHelper def to_dollar(amount) if amount < 0 number_to_currency(amount.abs, :precision => 0, :format => "-%u%n") else number_to_currency(amount, :precision => 0) end end end class Job < ActiveRecord::Base include JobsHelper def details return "Only " + to_dollar(part_amount_received) + " out of " + to_dollar(price) + " received." end end 不幸的是,该number_to_currency方法在这里无法识别: …

7
Rails是创建还是更新魔术?
我有一个名为的类CachedObject,用于存储按键索引的通用序列化对象。我希望此类实现一个create_or_update方法。如果找到一个对象,它将对其进行更新,否则它将创建一个新对象。 在Rails中有没有办法做到这一点,还是我必须编写自己的方法?

6
Rails如何运行Rake任务
如何在终端/控制台中运行此rake文件? 我在lib / tasks中的statistik.rake desc "Importer statistikker" namespace :reklamer do task :iqmedier => :environment do ... end task :euroads => :environment do ... end task :mikkelsen => :environment do ... end task :orville => :environment do ... end end


6
在Rails的一次调用中保存多个对象
我在Rails中有一种方法正在执行以下操作: a = Foo.new("bar") a.save b = Foo.new("baz") b.save ... x = Foo.new("123", :parent_id => a.id) x.save ... z = Foo.new("zxy", :parent_id => b.id) z.save 问题在于,我添加的实体越多,所需的时间就越长。我怀疑这是因为它必须为每个记录命中数据库。由于它们是嵌套的,所以我知道在保存父母之前我无法保存孩子,但是我想一次保存所有父母,然后保存所有孩子。做这样的事情会很好: a = Foo.new("bar") b = Foo.new("baz") ... saveall(a,b,...) x = Foo.new("123", :parent_id => a.id) ... z = Foo.new("zxy", :parent_id => b.id) saveall(x,...,z) 只需两个数据库命中就可以完成所有操作。有没有一种简便的方法可以在Rails中执行此操作,或者我一次只能执行一次?

4
清除sidekiq队列
我有一个永远运转的工人。 class Worker include Sidekiq::Worker sidekiq_options queue: "infinity", retry: true def perform(params) # ... self.class.perform_in(30.seconds, params) end end 问题是我像这样在启动时加载工作人员。 config/initializers/load_workers.rb Rails.application.config.after_initialize do if ENV["SIDEKIQ"] == "1" Worker.perform_async({}) end end 使用它来启动sidekiq SIDEKIQ=1 sidekiq --verbose --environment production -C config/sidekiq.yml。 这意味着老工人要停止工作,包括正在运行的工人和正在重新安排工时的工人。 我尝试在启动时运行它(就在加载新作品之前),但这没有用。 q = [] q += Sidekiq::RetrySet.new.select { |job| job.klass.match(/Worker/) } q …

5
已存在的Rails自动分配ID
我像这样创建新记录: truck = Truck.create(:name=>name, :user_id=>2) 我的数据库目前有数千个用于卡车的实体,但是我以一些可用的方式将ID分配给了其中的几个。因此,发生的事情是rails创建id = 150的项目,并且工作正常。但是随后它尝试创建一个项目并将其分配为id = 151,但是该id可能已经存在,因此我看到此错误: ActiveRecord::RecordNotUnique (PG::Error: ERROR: duplicate key value violates unique constraint "companies_pkey" DETAIL: Key (id)=(151) already exists. 下次我执行该操作时,它将仅分配ID 152,如果尚未使用该值,它将正常工作。如何在分配ID之前让Rails检查ID是否已经存在? 谢谢! 编辑 卡车ID是要复制的内容。用户已经存在,并且在这种情况下为常数。实际上,这是我必须处理的遗留问题。一种选择是在此时让轨道自动分配每个id的位置重新创建表。我开始认为这可能是最好的选择,因为我还有其他一些问题,但是这样做的迁移将非常复杂,因为Truck是许多其他表中的外键。有没有一种简单的方法可以让Rails使用已经在Truck下存储的相同数据,使用自动分配的ID并维护所有现有关系来创建新表?

9
如何验证Rails中的日期?
我想在Ruby on Rails中验证模型中的日期,但是,到达它们的模型时,天,月和年的值已经转换为错误的日期。 例如,如果在我的视图中输入2009年2月31日Model.new(params[:model]),则在控制器中使用它时,它将转换为“ 2009年3月3日”,然后我的模型将其视为一个有效日期,但它是不正确的。 我希望能够在我的模型中进行此验证。有什么办法可以解决,还是我要彻底解决这个问题? 我找到了讨论问题的“ 日期验证 ”,但从未解决。


22
PG无法定义的错误关系用户不存在
我之前看到过这个问题,但仅适用于rspec。我还没有创建测试,因为它对我来说太先进了,但是很快我就会!:P 当我尝试注册/登录我的应用程序时出现此错误。我使用devise创建用户,还使用omn​​iauth2使用google登录。 这是错误 ActiveRecord::StatementInvalid at /users/auth/google_oauth2/callback PG::UndefinedTable: ERROR: relation "users" does not exist LINE 5: WHERE a.attrelid = '"users"'::regclass ^ : SELECT a.attname, format_type(a.atttypid, a.atttypmod), pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod FROM pg_attribute a LEFT JOIN pg_attrdef d ON a.attrelid = d.adrelid AND a.attnum = d.adnum WHERE a.attrelid = '"users"'::regclass AND …

9
在Rails的子域之间共享会话(cookie)?
我有一个应用程序设置,其中每个用户都属于一家公司,并且该公司有一个子域(我正在使用basecamp样式的子域)。我面临的问题是,rails正在创建多个cookie(一个用于lvh.me,另一个用于subdomain.lvh.me),这导致我的应用程序中出现了很多中断(例如,虽然所有请求都一次通过,但Flash消息仍然存在)登录)。 我在/cofig/initilizers/session_store.rb文件中有此文件: AppName::Application.config.session_store :cookie_store, key: '_application_devise_session', domain: :all 域::all似乎是我在Google上找到的标准答案,但这似乎对我不起作用。任何帮助表示赞赏!


7
当引荐来源不可用时,在Ruby on Rails中正确执行redirect_to:back
我有一个问题redirect_to :back。是的,它是引荐来源。 我经常得到例外 (ActionController :: RedirectBackError)“在此操作的请求中未设置HTTP_REFERER,因此无法成功调用redirect_to:back。如果是测试,请确保指定request.env [\“ HTTP_REFERER \”]。” 我意识到这是引荐来源不可用的结果。例如,是否有一种方法可以在每次访问时访问的上一个访问页面上设置一个会话变量,并且在HTTP_REFERER不可用时,利用此会话变量重定向到?

10
将SOAP与Ruby一起使用的最佳方法是什么?
我的一个客户要求我将第三方API集成到他们的Rails应用中。唯一的问题是API使用SOAP。Ruby基本上放弃了SOAP,而选择了REST。他们提供了一个显然可以与Java-Ruby桥接器一起使用的Java适配器,但如果可能的话,我们希望将其全部保留在Ruby中。我调查过soap4r,但声誉似乎有些差。 那么将SOAP调用集成到Rails应用程序中的最佳方法是什么?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.