Tag: ruby on rails 4

Rails 4.0.3使用asset_sync生成不正确的资产路径

我之前已多次使用asset_sync gem取得了巨大成功,但在Rails 4.0.3项目中使用它似乎导致了问题。 资产被上传,散列和gzip到目标目录(我只是使用默认的’assets’),但是当在临时/生产环境中运行应用程序时,路径是不正确的。 他们采取以下forms: S3_DOMAIN.com/stylesheets/application.css 代替: S3_DOMAIN.com/assets/application-HASH.css 还有其他人遇到过这个问题吗? 我发现反转此行为的唯一方法是将config.assets.compile设置为true,但这在生产环境中不起作用。 以下是相关的配置文件: ## environments/staging.rb config.serve_static_assets = false config.assets.compress = true config.assets.js_compressor = :uglifier config.assets.css_compressor = :sass # Have to set this to true to make asset_sync generate the correct links config.assets.compile = false config.assets.digest = true config.assets.enabled = true config.assets.initialize_on_precompile = true config.action_controller.asset_host = “//#{Figaro.env.fog_directory}.s3.amazonaws.com” config.action_mailer.asset_host […]

在Rails 4.1中,validates_inclusion_of不再一样吗?

以下代码确保time_zone选择在ActiveSupport::TimeZone.us_zones的时区内: validates_inclusion_of :time_zone, in: ActiveSupport::TimeZone.zones_map(&:name) 在Rails 4.0中工作得很好。 刚升级到Rails 4.1,我在索引页面上收到此错误(所以只需查看模型): #include方法的对象? 或者需要proc,lambda或symbol,并且必须作为配置哈希的in(或:within)选项提供 我猜测, ActiveSupport::TimeZone.zones_map(&:name)不再是in属性的有效值?

NameError:未初始化的常量Faker

我试图在Rails 4中为我的数据库运行一个简单的bundle exec rake db:seed。但是,在运行它时,我得到以下输出: ********-C02MGBVJFD57:myapp ***********$ bundle exec rake db:seed Your Gemfile lists the gem factory_girl_rails (>= 0) more than once. You should probably keep only one of them. While it’s not a problem now, it could cause errors if you change the version of just one of them later. rake aborted! NameError: uninitialized […]

在Ruby / Rails中合并数组

如何合并两个数组? 像这样的东西: @movie = Movie.first() @options = Movie.order(“RANDOM()”).first(3).merge(@movie) 但它不起作用。 在@options我需要一个包含四个元素的数组,包括@movie 。

使用strong_parameters序列化数组

我正在尝试使用strong_parameters gem保存数组。 但我遇到表单如何发送我的数组的问题。 参数看起来像这样: > params[:circuit] => {“title”=>”Some title”, …, “viewable_tasks”=>{“0″=>”woop”, “1”=>”dee”, …}} 而且我的circuit_paramsfunction看起来像: def circuit_params params.require(:circuit).permit(:title, :id, viewable_tasks: { }, … ) end 我似乎无法获得允许我的参数工作的语法。 我在我的控制台中获得的是: > circuit_params => {“title”=>”implement plug-and-play mindshare”, “viewable_tasks”=>{“0″=>nil, “1”=>nil, “2”=>nil}, … 在我的模型中,我有: class Circuit < ActiveRecord::Base serialize :viewable_tasks, Array … end 我注意到我可以使用我称之为accepts_nested_attributes_for属性来使其正常工作,因此这可能与它有关。 谢谢你的帮助

Ruby on Rails – “向你的Gemfile添加’gem sqlite3””

我是Rails的完整n00b,只有Ruby的初学者知识。 在我真正学习Rails之前,我计划更多地研究Ruby,但我对自己的好处太过好奇。 无论如何,我正在按照教程,但当它说在博客目录中键入“rails server”时我卡住了。 它声明,“为数据库适配器指定了’sqlite3’,但没有加载gem ‘sqlite3′ 。将gem’sqlite3 gem ‘sqlite3’添加到你的Gemfile中。” 所以我退出了服务器,安装了sqlite3,恢复了服务器…只是为了再次收到此消息。 当我执行“gem list”时sqlite3没有显示,但我确实在我的Root Ruby目录中看到了该文件夹。 如果它有帮助,我得到Ruby 2.0,Rails 4.0,sqlite3 1.3.7 我很抱歉,如果已经在其他地方回答了这个问题,但是我无法在庞大的数据库中找到任何有关stackoverflow的内容。 如果您愿意提供任何耐心,我将不胜感激。 非常感谢你! hewhocomes

Rails 4客户端validation

自从我的网站升级到Rails 4后,客户端validationgem已停止为我工作。 我已经看过各种替代方案,例如jquery-validation-rails和judge,它们涉及编写相当多的javascript,特别是对于一个如此大的网站。 在jquery-validation-rails的情况下,重新执行客户端的所有validation规则。 考虑到Rails是如此受欢迎的框架,令我惊讶的是没有“简单”选项。 有没有其他人知道的gem,它做validation以及客户端validationgem? 或者是使用与某些ajax混合的ModelName.validators方法的最佳替代方法,并通过jquery-validation-rails gem进行validation?

Rails生成错误:没有这样的文件或目录 – getcwd

在新的Rails 4.2项目上运行rails generate时,我不断收到错误: ~/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/spring-1.3.0/lib/spring/configuration.rb:37:in `pwd’: No such file or directory – getcwd (Errno::ENOENT) 我怎样才能解决这个问题?

SemiFixed:缺少’secret_key_base`用于’生产’环境

我从头开始创建了一个rails应用程序(Rails 4.1.0),我遇到了一个我无法解决的问题。 我已经安装并配置了Apache Passenger Module,它运行正常。 每当我尝试访问虚拟主机时,都会收到错误500: Missing secret_key_base for ‘production’ environment, set this value in config/secrets.yml secret.yml文件包含以下配置: secret_key_base: 即使我不建议我这样做: production: secret_key_base: XXXXXXXXXXXXXXXXXXXXXXXXXXXX (random key) 但Apache日志显示: # tailf /etc/httpd/logs/error_log [Tue May 06 12:56:18 2014] [error] [client 192.168.3.1] Premature end of script headers: App 4405 stderr: [ 2014-05-06 12:56:18.5763 4421/0x9d48bdc(Worker 1) utils.rb:68 ]: *** Exception RuntimeError in […]

PG错误无法连接到服务器:连接被拒绝服务器是否在端口5432上运行?

我最近更新了我的机器(运行Mountain Lion的MacBook Pro),从那时起,每当我设置一个rails项目时,我的机器就会崩溃,无法连接到PG。 目前,这是我尝试去localhost时遇到的错误; PG :: ERROR无法连接到服务器:连接被拒绝服务器是否在主机“localhost”上运行 (:1)并接受端口5432上的TCP / IP连接? 无法连接到服务器:连接 拒绝服务器是否在主机“localhost”(127.0.0.1)上运行并接受端口5432上的TCP / IP连接? 无法连接到服务器:连接被拒绝服务器是否在主机“localhost”(fe80 :: 1)上运行并接受端口5432上的TCP / IP连接? 这是一份清单,以及我尝试的事项清单; PostgreSQL版本是9.3.4 我通过HomeBrew安装它 我在我的database.yml文件中有host: localhost Rails版本4.1.1,ruby 2.0.0p247(2013-06-27修订版41674)[x86_64-darwin12.5.0] 然后brew install postgresql brew uninstall postgresql然后brew install postgresql 试图访问我的postgres.conf文件,但不允许通过PGAdmin和命令行 然后locate pg_hba.conf并终端出来了; WARNING: The locate database (/var/db/locate.database) does not exist. 我也试过使用rails 4.0,但我仍然遇到了问题 在我更新计算机之前,我仍然可以在我的机器上处理启动/完成的其他项目。 当我从终端运行psql ,我得到psql: could not connect to server: […]