Questions tagged «ruby-on-rails-3»

Ruby on Rails是一个用Ruby编写的开源Web开发框架。Ruby on Rails遵循约定胜于配置的原则,使您不必重新进行发明以保持生产力。仅将此标记用于Rails 3特定问题,并标记这些问题[ruby-on-rails]。

4
渴望负载多态
使用Rails 3.2,这段代码有什么问题? @reviews = @user.reviews.includes(:user, :reviewable) .where('reviewable_type = ? AND reviewable.shop_type = ?', 'Shop', 'cafe') 它引发此错误: 无法急切加载多态关联:可审查 如果我删除该reviewable.shop_type = ?条件,它将起作用。 如何根据reviewable_type和过滤reviewable.shop_type(实际上是shop.shop_type)?

7
从rails3项目中卸载gem的最佳方法是什么?
我通过Gemfile使用捆绑程序安装了所有宝石。我以为(错误地)认为,如果我从Gemfile中删除了一个gem并运行了“ bundle install”,则将删除已删除的gem。我查看了捆绑程序帮助文件,据我所知,它没有卸载gems的方法。 我是否只对所有应用都使用gem uninstall x?这会混淆捆绑器吗?

5
如何修复Heroku上未初始化的常量Rake :: DSL问题?
我越来越类似于那些错误的 这些 问题,除了我的是上发生的Heroku: 2011-05-30T09:03:29+00:00 heroku[worker.1]: Starting process with command: `rake jobs:work` 2011-05-30T09:03:30+00:00 app[worker.1]: (in /app) 2011-05-30T09:03:30+00:00 heroku[worker.1]: State changed from starting to up 2011-05-30T09:03:33+00:00 app[worker.1]: rake aborted! 2011-05-30T09:03:33+00:00 app[worker.1]: uninitialized constant Rake::DSL 2011-05-30T09:03:33+00:00 app[worker.1]: /app/.bundle/gems/ruby/1.9.1/gems/rake-0.9.0/lib/rake/tasklib.rb:8:in `<class:TaskLib>' 这些问题的答案似乎是要指定的,gem 'rake', '0.8.7'因为0.9版本会引起问题。 当我尝试添加gem 'rake', '0.8.7'到我的gemfile并推送到Heroku时,出现此错误: Unresolved dependencies detected; Installing... You have modified your …

7
在Rails 3中删除ActiveRecord
现在,Rails 3 beta已经发布了,我想我应该看看重写一下我刚刚开始在Rails 3 beta中工作的应用程序,既可以体会到它,又可以有所作为。该应用程序将MongoDB和MongoMapper用于其所有模型,因此不需要ActiveRecord。在以前的版本中,我通过以下方式卸载activerecord: config.frameworks -= [ :active_record ] # inside environment.rb 在最新版本中,此方法无效-只会引发错误: /Library/Ruby/Gems/1.8/gems/railties-3.0.0.beta/lib/rails/configuration.rb:126:in `frameworks': config.frameworks in no longer supported. See the generated config/boot.rb for steps on how to limit the frameworks that will be loaded (RuntimeError) from *snip* 当然,我已经按照建议的方式查看了boot.rb,但是据我所知,这里没有任何关于如何卸载AR的线索。我需要执行此操作的原因是,不仅加载不需要的内容很愚蠢,而且即使我尝试为控制器运行生成器,也抱怨无法建立数据库连接。这是因为我已经擦除database.yml了MongoDB的连接详细信息并将其替换为连接详细信息,以便将此要点用于将database.yml用于MongoDB的连接详细信息。不知道为什么它只需要能够启动数据库连接就可以生成一个控制器...。 有谁知道正确的Rails 3方法吗?



10
查找关联计数大于零的所有记录
我正在尝试做一些我认为很简单但似乎并非如此的事情。 我的项目模型有很多职位空缺。 class Project < ActiveRecord::Base has_many :vacancies, :dependent => :destroy end 我要获得所有至少有1个空缺的项目。我尝试过这样的事情: Project.joins(:vacancies).where('count(vacancies) > 0') 但它说 SQLite3::SQLException: no such column: vacancies: SELECT "projects".* FROM "projects" INNER JOIN "vacancies" ON "vacancies"."project_id" = "projects"."id" WHERE ("projects"."deleted_at" IS NULL) AND (count(vacancies) > 0)。

9
水豚歧义解决
如何解决水豚的歧义?由于某些原因,我需要页面中具有相同值的链接,但由于收到错误,因此无法创建测试 Failure/Error: click_link("#tag1") Capybara::Ambiguous: Ambiguous match, found 2 elements matching link "#tag1" 我之所以无法避免,是因为设计。我正在尝试使用页面右侧的tweets / tags和页面左侧的tags重新创建Twitter页面。因此,不可避免的是,相同的链接页面会显示在同一页面上。

2
Ruby on Rails中的多列索引
我正在实现跟踪用户阅读过哪些文章的功能。 create_table "article", :force => true do |t| t.string "title" t.text "content" end 到目前为止,这是我的迁移: create_table :user_views do |t| t.integer :user_id t.integer :article_id end 总是会查询user_views表来查找两列,而不会只查找其中一列。我的问题是索引应如何显示。这些表的顺序是否有所不同,是否应该有更多选择或其他选择。我的目标数据库是Postgres。 add_index(:user_views, [:article_id, :user_id]) 谢谢。 更新: 因为在两列中只能存在包含相同值的一行(因为要知道user_id是否已读取article_id),我应该考虑:unique选项吗?如果我没有记错的话,那意味着我不必自己进行任何检查,只需在用户每次访问文章时插入一下即可。

6
如何获得rspec-2给出与测试失败相关的完整跟踪?
现在,如果我使用我的测试套件运行,rake spec则会出现错误: 1)SegmentsController GET'索引'应该工作 失败/错误:获取“索引” #的未定义方法`locale' #./spec/controllers/segments_controller_spec.rb:14: 在'的块(3个级别)中 这是正常现象,因为我确实有错误:) 问题在于该跟踪不是很有帮助。我知道它闯入了segments_controller_spec.rb第14行,但这就是我称之为测试的地方: ### segments_controller_spec.rb:14 get 'index' 我希望有实际的换行和完整的跟踪,而不是spec文件夹中的部分。 运行--trace无济于事。

8
没有记录时使用nil的find()
在我当前的Rails程序中,当我使用类似 user = User.find(10) 当没有ID = 10的用户时,我将遇到类似以下的异常: ActiveRecord::RecordNotFound: Couldn't find User with ID=10 我可以得到nil而不是引发异常,所以当我做类似的事情时: unless user = Challenge.find(10) puts "some error msg" end 我只想在没有记录且不想使用开始/救援时得到nil 谢谢

12
从Rails应用发送电子邮件时,Net :: SMTPAuthenticationError(在暂存环境中)
我正在从Rails应用程序发送电子邮件。它在开发环境上运行良好,但在暂存上失败。我收到以下错误: Net::SMTPAuthenticationError (534-5.7.14 <https://accounts.google.com/ContinueSignIn?plt=AKgnsbtdF0yjrQccTO2D_6) 请注意,我没有暂存域名。 这是我在staging.rb中的设置 config.action_mailer.delivery_method = :smtp config.action_mailer.default_url_options = { :host => "my.ip.addr.here:80" } config.action_mailer.smtp_settings = { :address => "smtp.gmail.com", :port => 587, :domain => 'my.ip.addr.here:80' :user_name => "my_email_name@gmail.com", :password => "my_email_password", :authentication => 'login' } 请帮忙。 编辑。 添加:tls => true选项后,我得到 OpenSSL::SSL::SSLError (Unrecognized SSL message, plaintext connection?) 然后我将端口更改为25,现在我得到了(延迟30秒): …

6
在Rails 3中将UTC转换为当地时间
我在Rails 3 中无法转换UTC Time或TimeWithZone本地时间。 说的moment是TimeUTC中的一些变量(例如moment = Time.now.utc)。如何moment在照顾DST的情况下(即使用EST / EDT)转换为我的时区? 更准确地说,如果时间与美国东部时间今天上午9点相对应,我想打印“ 3月14日星期一,上午9点”,如果时间与上周一美国东部时间上午9点相对应,请打印“ 3月7日,星期一上午9点​​”。 希望有另一种方式? 编辑:我首先认为 “ EDT”应该是公认的时区,但“ EDT”不是实际的时区,更像是时区的状态。例如,要求没有任何意义Time.utc(2011,1,1).in_time_zone("EDT")。这有点令人困惑,因为“ EST” 是实际的时区,在一些不使用夏令时且使用(UTC-5)的地方使用了一年。

14
如何使用Twitter引导响应式更改导航栏折叠阈值?
我在用bootstrap-sass实现的Rails 3.1.2项目中使用Twitter Bootstrap 2.0.1。我正在加载bootstrap.css和和bootstrap-responsive.css文件,以及bootstrap-collapse.jsJavascript。 我有一个与示例类似的导航栏,布局流畅。在此之前,导航栏“响应变化”说明这里。效果很好:如果页面的宽度小于940px,导航栏将折叠并显示一个“按钮”,我可以单击该按钮来展开。 但是,我的导航栏看起来不错,可宽至550像素左右,也就是说,除非屏幕非常狭窄,否则不需要折叠它。 如果屏幕宽度小于550像素,如何告诉Bootstrap仅折叠导航栏? 请注意,在这一点上我不希望修改其它响应行为,如堆叠的元素,而不是并排显示他们一边。


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.