Tag: ruby on rails 4

为动态密钥配置强参数

我正在尝试提供一个表单,允许管理员编辑特定模型Submission所有值,几乎就像电子表格一样。 Submission由一个字符串字段组成:domain 。 问题是我无法弄清楚如何在这种背景下处理强大的障碍。 我已经找到了类似处理动态键的类似示例,但我无法弄清楚如何将它们应用到我的参数结构中。 我想我对tap工作方式还不够清楚。 这是我的参数示例: {“3″=>{“domain”=>”domain3”}, “2”=>{“domain”=>”domain2”}, “1”=>{“domain”=>”domain1”} 如果它有帮助,这是我正在使用的forms: Domain 如果你很好奇,这是我的控制器的update_multiple方法。 如果这看起来很熟悉,我从一个railscast得到了轮廓,这在rails3中非常有效,之后强大的params(无论如何?)无处不在。 def update_multiple logger.debug “update_multiple #{submission_params}” @submissions = Submission.update(submission_params[:submissions].keys, params[:submissions].values) flash[:notice] = “Updated Submissions” redirect_to review_submissions_path end 如果我使用params.permit!完全绕过强大的婴儿车,这非常有效params.permit! 但是,当然,这是一个不可接受的解决方案。 谢谢你的帮助!

ActiveRecord where.not不工作/奇怪的行为

用户has_many计划。 我正在尝试查找没有状态为“已取消”的所有用户的ID。 很想知道下面的行为是什么。 对于上下文,应该返回的是: User.select { |u| u.plans.select { |p| p.status != “canceled” }.count > 0 }.map(&:id) # => [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 60, 61, 62, 63] 这是我得到的: # statement 1 […]

如何隐藏Formtastic条件的输入?

我inheritance了一个在Rails中使用ActiveAdmin和Formtastic的项目。 我对这两种方法的经验都很少,但看起来很简单,只做简单的任务。 因此,我的任务是添加无线电输入,但如果无线电与某个值不匹配,则隐藏另一个输入。 我到处搜索,似乎找不到任何东西。 这是我的表格: form do |f| f.inputs ‘Book Details’ do f.input :name, required: true f.input :has_subtitle, as: radio, required: true f.input :subtitle end end 在这种forms中,我只需要显示:subtitle,if:has_subtitle设置为true / yes,否则他们不应该看到输入(如果它是可见的,它也应该是必需的)。 这可能在Formtastic中实现吗? 谢谢!

Rails 4设计 – 如果未经过身份validation,则重定向用户

有authenticate_user! 在comments_controller中。 before_action :authenticate_user! 当用户点击创建评论时,他们现在会重定向到users / sign_in页面。 但是,我想将它们重定向到root_url并发出通知登录。主页上有登录按钮(FB和G +)。 我看过这个 ,但是当我实现它时,我只得到一个具有相同URL的黑色页面和已完成401未授权 。

Rails将rgb颜色字符串显示为颜色样本

我使用RMagick来获取用户上传的图像的平均颜色。 我已经把它作为RGB格式显示了。 现在我想把这个RGB字符串显示为页面上的颜色样本…有关如何实现这一点的任何想法? {:r=>155, :g=>132, :b=>118}

git commit由于某种原因创建资产和临时文件

每当我运行git commit -m “blah” ,由于某种原因,我的应用程序正在创建一堆随机文件。 这导致了一个问题,因为它占用了我服务器上的大量空间,而我的git push heroku master命令将会超时。 怎么了? 下面是我上次提交的几乎空白的应用程序的输出。 我在应用程序上唯一的东西是这些gem: source ‘https://rubygems.org’ # Bundle edge Rails instead: gem ‘rails’, github: ‘rails/rails’ gem ‘rails’, ‘4.1.1’ gem ‘bootstrap-sass’, ‘~> 3.1.1’ group :development do gem ‘sqlite3’ end group :production do gem ‘pg’ gem ‘rails_12factor’ end # Use sqlite3 as the database for Active Record gem ‘sqlite3’ […]

如何在rails 4上的ruby中从父对象创建嵌套子节点

我尝试在Rails 4中重现一个在Rails 3中工作正常的function:使用new_parent_child_path(@parent)从其父级的Show视图创建子记录。 不幸的是,当我validation子项创建时,我收到一条消息,指出child.parent_id field cannot be null 。 阅读时,看起来这个new_parent_child_path(@parent)function确实很难使用。 以下是我的代码的一部分…… 楷模: class BusinessArea “User”, :foreign_key => “owner_id” # helps retrieving the owner name belongs_to :status, :class_name => “Parameter”, :foreign_key => “status_id” # helps retrieving the status name has_many :business_flows end class BusinessFlow “User”, :foreign_key => “owner_id” # helps retrieving the owner name belongs_to :status, […]

没有设置Rails 4会话cookie

我正在构建Rails 4应用程序。 它主要是json api所以我也在我的应用程序中使用rails-api gem。 我有一个扩展ActionController :: API的 ApiControllers。 现在我需要添加一些经典的服务器渲染HTML模板。 这些渲染的控制器扩展了ActionController :: Base 。 我有问题,rails没有在浏览器中设置cookie,所以我的会话根本不起作用。 我尝试在其中启动新的Rails 4应用程序和会话,一切正常。 我不知道为什么它在我的应用程序中不起作用。 缺少set-cookie标头 。 有任何想法吗?

assets:initialcompile在initialize_on_precompile为false时连接到DB

我的config/application.rb有config.assets.initialize_on_precompile = false并且bundle exec rake assets:precompile仍尝试连接到我的数据库。 我将database.yml中的database.yml名称更改为不存在的数据库,以便我可以判断它何时尝试连接。 $ be rake assets:precompile rake aborted! FATAL: database “aaa” does not exist

尝试使用Rails 4设置Susy网格

我想在Rails 4中使用susy 。 我在我的gemfile中添加了gem’susy gem ‘susy’ 。 然后我运行bundle install 。 一切都很好,并表示已安装gem。 现在我重新启动我的Rails服务器,并添加@import “susy”; 到application.css.scss(我正在使用sprockets)。 我收到错误File to import not found or unreadable: susy. 有任何想法吗?