Tag: ruby on rails

SQLite3“LIKE”或PostgreSQL“ILIKE”的通用Ruby解决方案?

我使用SQLite3进行开发,使用PostgreSQL进行部署。 但是,我面临以下问题: 我使用SQLite3简单搜索: def self.search(search) if search find(:all, :conditions => [“style LIKE ? OR construction LIKE ?”, “%#{search}%”, “%#{search}%”]) else find(:all) end end 但是,它不适用于PostgreSQL ,我需要替换ILIKE的LIKE才能解决问题: def self.search(search) if search find(:all, :conditions => [“style ILIKE ? OR construction ILIKE ?”, “%#{search}%”, “%#{search}%”]) else find(:all) end end 是否有“Ruby方式”在任何数据库中进行这些搜索? 编辑 – 基于您的答案我不相信我会找到一个通用的Ruby解决方案。 我遵循了Ruby on Rails教程:通过示例学习Rails – 作者:Michael Hartl […]

Rails – 如何为存根/伪造的http或ajax响应存根特定的响应时间

我想测试一个function,当我的应用程序在Rails UJS / ajax超时时发送usera自定义消息。 超时Rails UJS请求的代码本身就在应用程序上: $.rails.ajax = function(options) { if (!options.timeout) { options.timeout = 10000; } return $.ajax(options); }; 当观察chrome dev工具在我的本地开发模式下超时时发生的事情时,我注意到代码状态奇怪地是200但是当它“超时”时,我的消息确实显示给用户。 on(‘ajax:error’,function(event,xhr, status, error){ // display message in modal for users if(status == “timeout”) { console.log( ‘ ajax request timed out’); var msg; msg = Messenger().post({ hideAfter: 8, message: “Too long, the app timed […]

将图像上传到资源文件夹

我正在按照本指南使用PaperClip通过ActiveAdmin上传图像: 使用回形针使用Activeadmin Rails上传文件 一切都运行正常,但我想知道,在我上传图片后,如何将其重定向到上传到/ assets / images /只在数据库中?

无法使用’helper_method’和渲染模板

我正在使用Ruby on Rails 3,我正在尝试设置一个helper_method ,它应该仅适用于控制器(例如:AccountsController)以及与之相关的所有视图,当它的视图在与该控制器无关的另一个视图中呈现时也是如此。 我从Railcast“限制访问”中获取灵感。 在我的accounts_controller.rb文件中,我有 # Just to know, I am using a User namespace… class Users::AccountsController < ApplicationController helper_method :show_authorization def show_authorization false # This returning value is just an example end end 在我的views / users / accounts / show.html.erb文件中 You are authorized! You are NOT authorized! 如果我浏览URL http:///users/accounts/1但是如果我以这种方式将show.html.erb文件作为模板呈现在另一个视图文件中,则上述代码有效: “/users/accounts/show”, :locals => […]

将子目录部署到Heroku

我在GitHub中有一个“超级”存储库,它将包含我想要部署到Heroku的几个应用程序。 这是我的存储库的一个例子。 /app /.git /website <– would like to deploy this to Heroku 当我尝试使用以下命令推送时: $ git push heroku master 我收到以下错误: Heroku push rejected, no Rails or Rack app detected. 如何将子目录部署到Heroku?

在Rails表单中访问项属性

如果我在Rails中的表单块中,例如 form_for @widget do |f| end 因此能够执行诸如f.text_field:attribute等的操作,我怎样才能找出不同属性的值,以便执行一些显示逻辑? 例如,像 form_for @widget do |f| f.text_field :some_property f.checkbox :active if ????.active end 我该如何访问这些属性?

使用Regex和Before_Save删除电子邮件地址

尝试在我的Post模型中使用before_save然后使用正则表达式替换任何看起来像电子邮件的单词’forbidden’。 这是为了减少用户在讨论区中创建的评论/post中的垃圾邮件。 它目前给我一个语法错误; 但我相信它不止于此? 我如何解决它? Post.rb before_save :remove_emails # Prevents and replaces any emails or URLs posted by user as def remove_emails self.post = post.gsub^(((ht|f)tp(s?))\://)?(www.|[a-zA-Z].)[a-zA-Z0-9\-\.]+\.(com|edu|gov|mil|net|org|biz|info|name|museum|us|ca|uk)(\:[0-9]+)*(/($|[a-zA-Z0-9\.\,\;\?\’\\\+&%\$#\=~_\-]+))*$, “forbidden”) end

为什么此代码在我的所有页面上呈现背景图像,而不仅仅是我的索引操作?

我试图只使我的索引操作呈现样式表/背景图像,但由于某种原因,背景图像也出现在所有其他页面上。 我的欢迎控制器正在处理所有这些。 布局文件名为background.css.scss。 这是我的欢迎控制器: class WelcomeController < ApplicationController layout :resolve_layout def index end def show end def about end def testimonials end private def resolve_layout case action_name when "index" "background.css.scss" else "application" end end end 这是background.css.scss样式表: body { width: 100%; background: { image: asset-url(“sampleimage.png”); repeat: no-repeat; size: 100% auto; } } 索引视图: background-image: url()

在Rails 5中共享域之间的登录cookie /会话

要完全清楚,我绝对是指域之间的共享会话,而不仅仅是子域。 无论如何,想象Tumblr您可以通过转到.tumblr.com访问博客,但您也可以将其设置为使用自定义域。 我们正在尝试做类似的事情。 您可以照常访问我们网站的一部分,也可以进行设置,以便您可以使用自定义域访问您的网站部分。 这里的重要部分是无论使用什么域,它都由同一个盒子处理。 这不是SSO本身,因为我们只是从不同的域访问相同的Rails应用程序。 无论如何,问题是:最好的方法是,如果用户登录到我们的主站点,他们不必在通过自定义域访问我们的站点时再次登录。 从本质上讲,我们希望这样做,以便用户登录一次,无论用户访问我们网站的域名是什么,他们都会保持登录状态。 任何建议表示赞赏!

Heroku的神秘短暂文件系统不让我从S3获取文件

所以,我几天来一直在努力解决这个问题… 我需要从S3获取一个文件并将其写入Heroku上我的Rails应用程序中的目录。 我必须对Heroku上的短暂文件系统有误解,因为我无法弄清楚它为什么不起作用。 我正在运行s3.bucket(‘bucket’).object(‘file.csv’).get(response_target: ‘file.csv’)从S3获取文件并将其写入我的应用程序。 最初我只是编写了一个.rb来执行此操作并使用Heroku Scheduler运行它,但无济于事。 然后我将脚本转换为rake任务并再次在scheduler上运行,但无济于事。 我可以在我的开发环境中完美地运行.rb脚本和rake任务。 在阅读了这篇以及关于短暂文件系统如何工作的内容之后, 我认为该任务实际上正在工作,但是当我在heroku run bash使用ls时,文件被破坏(或实际上是在那里但我看不到它?) 。 有人可以解释一下我的情况吗? 如果我在Heroku上从S3写入我的应用程序获取文件的努力是徒劳的? 如果还有其他选择吗? 如果我在此之后无法理解,那么我将在EC2中设置我自己的环境。