Questions tagged «ruby-on-rails-4»

对于特定于Rails版本4的问题。如果您的问题通常适用于Ruby on Rails,请使用[ruby-on-rails]标签。

5
Rails 4 has_many的不建议使用命令
class RelatedList < ActiveRecord::Base extend Enumerize enumerize :list_type, in: %w(groups projects) belongs_to :content has_many :contents, :order => :position end 我的Rails应用程序中有此模型,当我尝试在控制台中创建记录时会引发警告。 弃用警告:不推荐使用RelatedList.has_many:contents声明中的以下选项::order。请改用作用域块。例如,以下内容:has_many:spam_comments,条件:{spam:true},class_name:'Comment'应该重写为以下内容:has_many:spam_comments,-> {where spam:true},class_name:'Comment'。(从/Users/shivam/Code/auroville/avorg/app/models/related_list.rb:7调用) 看起来Rails 4具有新的:order语法供模型使用,但我似乎找不到Rails指南中的文档。

6
Rails 4的图像路径,图像URL和资产URL在SCSS文件中不再起作用
我们是否应该image-url在Rails 4中使用其他东西?它们返回似乎没有意义的不同值。如果我logo.png进入/app/assets/images/logo.png并执行以下操作,这就是我得到的: image-url("logo.png") -> url("/images/logo.png") #obviously doesn't work image-path("logo.png") -> "/images/logo.png" asset-url("logo.png") -> url("/logo.png") 当然,这些都不起作用,因为它们至少需要/assets在前面。 更新:实际上,我刚刚注意到,如何在Rails 4中访问图像?我有一张图片/app/assets/images/logo.png。但是,如果我访问以下任何URL,仍然看不到我的图像: http://localhost:3000/assets/logo.png http://localhost:3000/assets/images/logo.png http://localhost:3000/logo.png http://localhost:3000/images/logo.png 更新2:我可以启动我的唯一方法logo.png是将其移动到/app/assets/stylesheets目录,然后拉起: http://localhost:3000/assets/logo.png

3
为什么Rails4放弃对Gemfile中“资产”组的支持
在Rails 3中,将专门用于在资产管道中生成资产的gem正确放置在assetsGemfile组中: ... # Gems used only for assets and not required # in production environments by default. group :assets do gem 'sass-rails' gem 'coffee-rails' gem 'uglifier' # See https://github.com/sstephenson/execjs#readme for more supported runtimes # gem 'therubyracer', :platforms => :ruby end 现在,根据(仍在进行中的)升级文档: Rails 4.0从Gemfile中删除了资产组。升级时,您需要从Gemfile中删除该行。 当然,使用RC1进行新项目会产生一个Gemfile,其中默认包含任何组以外的资产相关的gem: source 'https://rubygems.org' # Bundle edge …

2
在Rails 4中使用has_many:through:uniq时弃用警告
在has_many:through中使用:uniq => true时,Rails 4引入了弃用警告。例如: has_many :donors, :through => :donations, :uniq => true 产生以下警告: DEPRECATION WARNING: The following options in your Goal.has_many :donors declaration are deprecated: :uniq. Please use a scope block instead. For example, the following: has_many :spam_comments, conditions: { spam: true }, class_name: 'Comment' should be rewritten as the …

3
如何知道红宝石不是线程安全的?
从Rails 4开始,默认情况下所有内容都必须在线程环境中运行。这意味着所有我们写的代码和 所有我们使用需要是宝石threadsafe 因此,我对此没有几个问题: 在ruby / rails中,什么不是线程安全的?VS什么是Ruby / Rails中的线程安全? 是否有宝石的列表被称为是线程安全的,反之亦然? 是否有不是线程安全示例的常见代码模式列表@result ||= some_method? ruby lang核心中的数据结构(例如Hashetc线程)是否安全? 在MRI上,一个GVL/GIL表示一次只能运行1条红宝石线程,除了IO,线程安全更改对我们有影响吗?

3
如何在Rails 4中为控制器或操作覆盖X-Frame-Options
Rails 4似乎SAMEORIGIN为X-Frame-OptionsHTTP响应标头设置了默认值。这对于提高安全性非常有用,但是不允许您的应用程序的某些部分iframe在其他域中可用。 您可以X-Frame-Options使用以下config.action_dispatch.default_headers设置覆盖全局值: config.action_dispatch.default_headers['X-Frame-Options'] = "ALLOW-FROM https://apps.facebook.com" 但是,如何仅针对单个控制器或操作覆盖它呢?

16
安装pg(0.17.1)时发生错误,并且Bundler无法继续
我刚安装Rails 4.0.2,在创建新应用时,在捆绑阶段,我得到: Installing pg (0.17.1) Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. /Users/Dee/.rvm/rubies/ruby-2.0.0-p247/bin/ruby extconf.rb checking for pg_config... no No pg_config... trying anyway. If building fails, please try again with --with-pg-config=/path/to/pg_config checking for libpq-fe.h... no Can't find the 'libpq-fe.h header *** extconf.rb failed *** Could not create Makefile due to …



11
尝试使用mysql2 gem安装应用程序时出错
我正在尝试安装使用mysql2gem的开源Rails 3.2.21应用程序,但是当我尝试运行bundle命令时,出现以下错误: Fetching: mysql2-0.3.18.gem (100%) Building native extensions. This could take a while... p ERROR: Error installing mysql2: ERROR: Failed to build gem native extension. /Users/my_username/.rvm/rubies/ruby-2.1.2/bin/ruby -r ./siteconf20150614-72129-orqsb7.rb extconf.rb checking for ruby/thread.h... yes checking for rb_thread_call_without_gvl() in ruby/thread.h... yes checking for rb_thread_blocking_region()... yes checking for rb_wait_for_single_fd()... yes checking for rb_hash_dup()... …

6
Rails与多个外键的关联
我希望能够在一个表上使用两列来定义一种关系。因此,以任务应用为例。 尝试1: class User < ActiveRecord::Base has_many :tasks end class Task < ActiveRecord::Base belongs_to :owner, class_name: "User", foreign_key: "owner_id" belongs_to :assignee, class_name: "User", foreign_key: "assignee_id" end 所以呢 Task.create(owner_id:1, assignee_id: 2) 这使我可以执行Task.first.owner返回用户1和Task.first.assignee返回用户2但User.first.task什么也不返回的操作。这是因为任务不属于用户,它们属于所有者和受让人。所以, 尝试2: class User < ActiveRecord::Base has_many :tasks, foreign_key: [:owner_id, :assignee_id] end class Task < ActiveRecord::Base belongs_to :user end 这完全失败了,因为似乎不支持两个外键。 …


5
使用Rails 4进行主动管理员安装
在Rails 4上安装活动管理员时出现此错误 Bundler could not find compatible versions for gem "actionpack": In Gemfile: meta_search (>= 1.1.0.pre) ruby depends on actionpack (~> 3.1.0.alpha) ruby rails (= 4.0.0.rc1) ruby depends on actionpack (4.0.0.rc1) 我遵循以下指示:http : //www.activeadmin.info/docs/documentation.html 有人帮忙。

12
在Rails 4中向左外联接
我有3种型号: class Student < ActiveRecord::Base has_many :student_enrollments, dependent: :destroy has_many :courses, through: :student_enrollments end class Course < ActiveRecord::Base has_many :student_enrollments, dependent: :destroy has_many :students, through: :student_enrollments end class StudentEnrollment < ActiveRecord::Base belongs_to :student belongs_to :course end 我希望在“课程”表中查询课程列表,该列表在与某个学生相关联的“学生录取”表中不存在。 我发现也许使用Left Join是可行的方法,但似乎rails中的joins()仅接受一个表作为参数。我认为可以执行的SQL查询是: SELECT * FROM Courses c LEFT JOIN StudentEnrollment se ON c.id …

17
服务器是否在主机“ localhost”(:: 1)上运行并在端口5432上接受TCP / IP连接?
在开始之前,请注意,我在网上的Stack Overflow和文章中发现了几个类似的问题,但是没有一个问题能帮助我解决问题: PG错误无法连接到服务器:连接被拒绝服务器是否在端口5432上运行? PG :: ConnectionBad-无法连接到服务器:连接被拒绝 psql:无法连接到服务器:连接被拒绝 现在,这里是问题: 我有一个像魅力一样的Rails应用程序。 与我的合作伙伴一起,我们使用GitHub进行协作。 我们有master和mvp分支机构。 我最近git使用Homebrew(Mac)更新了我的版本。 我们使用Foreman在本地启动我们的应用程序。 现在,当我尝试在本地启动该应用程序时,出现以下错误: PG::ConnectionBad at / could not connect to server: Connection refused Is the server running on host "localhost" (::1) and accepting TCP/IP connections on port 5432? could not connect to server: Connection refused Is the server running …

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.