Tag: ruby on rails

如何在rails 4中管理多个css文件?

我有app/views/layouts/mycontroller.html.erb包含的控制器下的所有内容的css文件: 但我已经将我的css分解为一些特定视图,例如home.css.scss(可能不是解决它的最好方法吗?)。 之前,我还包括额外的CSS。 例如在app/views/mycontroller/home.html.erb ,我将使用另一个styleshet_link_tag : 我在我的Gemfile中包含了gem’sass gem ‘sass-rails’, ‘4.0.1’ ,并且预编译发生在heroku上。 没有CSS似乎是加载或只加载其中的一部分而不是两组CSS规则的总和。

如何查看请求对象的外观?

每当我尝试 logger.info (“REQUEST: \n ” + request.to_yaml) 我收到此错误: can’t dump anonymous class Class 查看请求对象中的内容(以可读方式)的最佳方法是什么?

错误310.使用nginx + rails 3重定向太多

您好,请查看下面我的nginx配置。 当我尝试访问我的主页http://mydomain.com时出现以下错误。 当我使用Chrome开发者工具查看重定向时,我发现http://mydomain.com正在重定向到https://mydomain.com并来回。 我查看了我的源代码,但我找不到任何重定向。 我正在使用ssl_requirement插件。 任何帮助是极大的赞赏。 Error 310 (net::ERR_TOO_MANY_REDIRECTS): There were too many redirects. 下面是我的nginx配置文件 server { listen 80; server_name www.mydomain.com; rewrite ^/(.*) http://mydomain.com/$1 permanent; } server { listen 80; server_name mydomain.com; access_log /var/www/mydomain/current/log/access.log; root /var/www/mydomain/current/public; passenger_enabled on; passenger_use_global_queue on; location ~ /\.ht { deny all; } } server { listen 443; ssl on; ssl_certificate […]

如何从rails表单中的对象关联提供数据?

我有一个对象,我正在开发一个具有许多属性的控制器。 但是,由于我创建的数据模型,我必须编辑的大多数属性都是通过其他表中的关联保存的。 EG:我的文章通过标签表有标签(其他表中保存了大约20个其他属性)。 该文章通过多态关联等具有许多其他属性。 关联工作得很好,并且可以保存每个属性的多个条目。 但是,有一件事很难将编辑操作简化为控制器。 通常你可以保存@article = Article.find(params [:id])并显示所有属性。 这意味着表单具有服务的当前属性,并且该人员可以进行更改。 但是,对于通过关联保存的内容,这些字段为空。 我有一个shiv解决方案,例如,@ article.tag_list = @ article.tags.map(&:name)。 这使字段现在显示标签。 但是,对每个属性执行此操作会为控制器中的编辑操作添加许多行。 有没有更好的办法? 如果有一些代码我应该发布,我可以 – 只是没有,因为它现在很乱,所以我想我会解释。

Ruby on Rails:控制台/ .rb文件中的行为之间的差异

我想使用存储在credentials.yml.enc文件中的信息来获取Rails 5.2应用程序。 但是,我正在努力获得一个在控制台中完美运行的命令,以便在插入.rb文件时以相同的方式运行。 在Rails控制台(在我的本地开发计算机上) Rails.application.credentials.username返回”my_username” 如果我在一个非常简单的db_backup.rb文件中插入此行,如下所示,我收到错误: NameError: uninitialized constant #<Class:#>::Rails db_backup.rb : Model.new(:db_backup, ‘Description for db_backup’) do ## # PostgreSQL [Database] # database PostgreSQL do |db| db.username = Rails.application.credentials.username end end 请问你能解释为什么我在Rails控制台/ .rb文件中使用完全相同的代码行时会得到不同的行为吗?

Express Hello World – Heroku Foreman返回Code 5,’npm start’工作得很好

我正在按照一个教程,我在Express中创建了一个简单的“Hello World”。 本教程通过’npm start’将所有内容完成并在本地运行。 然后,本教程继续准备通过Toolbelt将代码上传到Heroku。 遵循指示(据我所知),我执行’foreman start’。 当我点击localhost URI时,我得到了我期望的基本HTML,但没有CSS(毫无疑问与我在控制台窗口中看到的ERR_CONNECTION_REFUSED输出相关,这可能与整个服务器关闭有关)。 查看命令行的输出,有文本: exited with code 5 sending SIGKILL to all processes 我在谷歌搜索了Foreman的代码5是什么,但没有看到任何讨论代码的地方5.我在https://github.com/ddollar/foreman上下载了Foreman的源代码,但仍然无法弄清楚代码5是什么(!?!?)。 如果我知道代码5意味着什么,我怀疑我可以解决这个问题。 那里的任何人都知道它是什么?

如何使用Rails提供静态html页面?

我有Rails应用程序,文档是/ public文件夹中的静态html页面。 我公共文件夹的树: -public -docs -intro introduction.html -css some.css index.html Index.html文件是: Some of the text href=”intro/introduction.html”>Introduction 当我打开索引页面css没有加载,当我尝试点击链接时它说路由错误。 据我所知,静态页面不知道在哪里查找css和其他html页面。 我只想要没有任何路由和控制器的静态页面,nginx。 有任何想法吗?

在rails_admin paper_trail历史记录中显示User的自定义标签

当我转到paper_trail历史记录页面时,我在User列中看到User对象( #<User:0x007f59a9… )。 有没有办法配置它使用其中一个用户属性? 我以为我可以使用object_label_method但我似乎没有运气。 更新: 我认为这纯粹是一个显示问题但是paper_trail实际上是在版本表的#<User:0x007f59a9…列而不是ID中存储像#<User:0x007f59a9…这样的字符串。 我在ApplicationController覆盖了user_for_paper_trail ,虽然这在我的前端应用程序中成功记录了带有用户ID的版本,但它不在rails_admin中。 根据这个线程 ,rails_admin应该看到我的自定义方法,因为“RailsAdmin :: ApplicationControllerinheritance自你的:: ApplicationController”。 有关为什么会发生这种情况以及如何让paper_trail存储用户ID的任何想法?

Rails 4 Racing / Concurrency。 避免死锁

我目前在Sidekiq-Unique-Jobs和Sidekiq-Status的帮助下使用Sidekiq在我的应用程序上执行任务。 工人执行的工作很小,几乎总是立即执行。 (很少或根本没有队列) 我正在“黑客攻击”sidekiq同步执行任务(检查Controller无法找到工作人员创建的对象 ),这些作业很小且执行速度快(通常不到1秒)。 我的应用程序需要同步运行作业并获取其详细信息(记录创建/更新) 随着我使用的“跛脚”解决方案: 20.times do status = Sidekiq::Status::get balance, :exp_status if [“done”].include?(status) break end sleep(0.2) end 创建一个队列并确保通过params(sidekiq-unique-jobs)同一个用户同时执行不超过1个作业我可以避免所有死锁,但是我觉得它应该是一个更好的方法来执行此操作,而不是黑客sidekiq因为它意味着异步执行作业。 问题是 :对于sidekiq是否有任何替代或类似的gem可以限制输入但是默认情况下是同步运行的? 我不能只问控制器Balance.find_or_create_by(user: user, market: market)因为它迟早会给我死锁(记录被同时编辑/操纵/创建)但我觉得这个sidekiq解决方案我从长远来看,使用也不行。 我错过了一些基本的东西吗? 如何确保通过中间件或类似的东西不会同时执行重复的参数/动作以避免死锁?

params.require()。permit不能按预期工作

我有这个控制器 class PeopleController < ApplicationController def new @person = Person.new @person.phones.new end # this is the action that gets called by the form def create render text: person_params.inspect # @person = Person.new(person_params) # @person.save # redirect_to people_path end def index @person = Person.all end private def person_params params.require(:person).permit(:name, phones_attributes: [ :id, :phone_number ]) end end […]