Tag: ruby on rails

rails carrierwave,一个用户有很多图像

我用了 rails: 4.2.9 ruby: 2.3.1p112 我创建了用途,景点和attraction_photos模型。 我希望每个用户都有很大的吸引力,每个景点都有很多景点照片。 吸引创建是有效的,但attraction_photos是空的,文件不会上传成功。 的Gemfile gem ‘carrierwave’ gem ‘mini_magick’ 吸引力照片迁移 class CreateAttractionPhotos < ActiveRecord::Migration def change create_table :attraction_photos do |t| t.integer :attraction_id t.string :photo t.timestamps null: false end end end 用户 class User < ActiveRecord::Base has_many :attractions … end 引力 class Attraction < ActiveRecord::Base belongs_to :user has_many :attraction_photos, dependent: :destroy accepts_nested_attributes_for […]

Ruby中的安全执行

我正在努力建立一个人们可以在那里上传代码的网站。 类似SPOJ / ACM的东西。 如何确保代码不会损坏我的系统(限制对套接字,系统调用的访问) 我在网上看了很多解决方案,一些建议chroot但我不明白。 这也需要配置,这可以通过配置等完成。 注意我不是要求使用可执行文件运行的任何特定语言。 我的开发设置是用于托管的MAC和Linux,如果解决方案可以同时运行,那就太好了。 不是要求。

当实例确实存在时,需要方法创建而不是更新

Ruby 2.0.0,Rails 4.0.3 我有一个_new部分。 但是,我用实际存在的实例渲染它。 这是必要的,这样我就可以在View和Controller之间通过JavaScript传递实例ID,因为我实际上无法传递实例本身。 我只是在新方法中调用Class.first,以便我有一个现有的实例可以在整个过程中使用。 我的问题是_new部分提交按钮识别该实例已存在。 这会导致它更新而不是创建。 该按钮字面上说更新。 按下时,它将路由到更新方法。 那不是我想要的。 我想要create方法,在那里我将创建一个填充了收集参数的新实例。 该怎么办? 我是否错误地携带一个虚拟实例来启动该过程? 如果是这样,什么是正确的解决方案? 如果这是可以接受的,我如何强制按钮创建而不是更新? 所有的帮助和评论表示赞赏 编辑:我已尝试按钮上的变化,试图强制它触发新方法。 它继续着火更新。 我最后一次失败的努力是: Create Car …结束编辑… 表格是: 部分: 控制器汽车方法新的地方清除所有领域: def new @car = Car.first @car.clear end 呈现forms: 表单的JavaScript是: // when the #year field changes $(“#car_ymm_year_id”).change(function () { // make a GET call and replace the content // […]

随机选择100列表中的选择

这是我提出的最后一个问题的后续问题: 按照关注者数排序用户 。 该代码是: @ordered_users = User.all.sort{|a,b| b.followers.count a.followers.count} 我希望完成的是获取有序用户并获得前100名, 然后随机选择其中的5个。有没有办法实现这一目标? 谢谢。

Ruby Watir Gem,定时输入表格

我正在使用Watir,Mechanize和Nokigirigem练习网页拼图。 我的Watir脚本遇到了问题。 我的计划是通过http://tripadvisor.com/获取航class价格清单。 当我运行脚本时,Chrome浏览器会按原样打开,脚本会继续填写表单的第一部分,原点和目标,然后停止。 这是我收到的错误消息: This code has slept for the duration of the default timeout waiting for an Element to be present. If the test is still passing, consider using Element#exists? instead of rescuing UnknownObjectException /home/jaffejoe/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/watir-6.2.0/lib/watir/elements/element.rb:515:in `rescue in wait_for_present’: element located, but timed out after 30 seconds, waiting for true condition on #”rt_leaveday”, :tag_name=>”input”}> […]

Ruby – 确保只有一个类对象

我有一个Model Bot ,我想确保我的数据库中只有一个Bot对象。 我还需要确保它是持久的而不是被篡改的。 我最初的想法是在迁移中执行此操作,该操作将遵循:bots表迁移。 它将包括一行如下: Bot.all.size == 0 ? Bot.create! : nil 也许这会阻止AR对象在将来的迁移中被搞乱? 奖励:能够对此类对象进行即时和全局访问真是太棒了。 我正在考虑在我的Bot类中使用singleton模块,这样我总是可以引用Bot.instance并且可以访问该特定对象。 使用案例: 我的数据库中有4种类型的用户,这个机器人将通过我们的应用内消息传递function为他们提供特定于角色的消息。 Class Bot将与BotMessage/bot_messages有一个has_many关联。 在bot_messages表上将是user_role的枚举字段。 消息将由公司管理员创建并存储在这些表中,因为我们希望通过查看用户和Bot之间的“对话”线程随时查看这些消息。 当谈到只有1个机器人时,就是这样。 我不需要额外的Bot对象。 此外,由于只有一个对象,因此能够有一种明确定位该对象的方法而不必运行查询来查找它。 例如,与可能有1000条记录的User不同,为了找到特定的记录,你会做类似@user = User.find_by_email(‘foo@bar.com’)事情,对机器人做类似的事情是没有必要的。因为只有一条记录可供查找。 这就是让我相信在这里有一个singleton对象可能是值得的,因此每当我需要为特定角色提取消息时,我可以运行Bot.instance.bot_messages.where(user_role: 1)或类似的东西

显示来自Ruby表的数据

我是Ruby的新手,我正在尝试从表中获取数据。 所以看完这个 I have this this result. [#] 所以当我调用Note.text(例如)时,我得到了nil结果。 那么我应该在这里写什么来从数组中获取数据? 谢谢

使用Engine Yard部署Gollum wiki

Gollum是“一个简单的,Git驱动的wiki,带有甜蜜的API和本地前端。” 它托管在GitHub上: http : //github.com/github/gollum 将我的站点部署到EngineYard会产生此错误。 从https://rubygems.org/获取gem元数据安装charlock_holmes(0.6.9.4)Gem :: Installer :: ExtensionBuildError:错误:无法构建gem原生扩展。 安装名为“ICU”的依赖项似乎是一个问题。 我已经使用EngineYard仪表板上的’install unix package’按钮安装了ICU,但似乎无法解决这个问题。

序列化哈希,日期为YAML rails

TL; DR :Rails 5.1,Ruby 2.4.0将包含时间对象的哈希序列化,并在时间的字符串表示周围加上引号。 这些引用不存在于Rails 2.3,Ruby 1.8.7中并且打破了我的应用程序; 我怎么摆脱他们? 背景和细节 我正在将应用程序从Rails 2.3,Ruby 1.8.7升级到Rails 5.1,Ruby 2.4.0。 我有一个ReportService类,它有一个report_params hash的report_params构造函数参数。 创建这些对象后,此哈希将以YAML格式序列化。 class ReportService < ApplicationRecord # irrelevant AR associations omitted serialize :report_params serialize :output_urls end 用户提交一个表单,其中包含他们想要运行的报表的详细信息,包括使用Time.parse()解析的字符串,该字符串将作为构造函数参数传递; 所以代码(以程序forms删除不相关的细节,省略了许多无关的东西)看起来像 offset = customer.timezone.nil? ? ‘+0000’ : customer.timezone.formatted_offset(:time => start_date) params[:date_from] = Time.parse(“#{start_date} #{params[:hour_from]}:{params[:min_from]} #{offset}”).utc.strftime(‘%Y-%m-%d %H:%M:%S’) report_args = {… report_params: { … […]

如何使用aws_account_utils创建AWS账户? 获取错误:无法加载此类文件 – aws_account_utils

我想在我的项目中使用AWSAccountUtils来创建AWS账户。 我也安装了gem aws_account_utils。 我还需要做什么或者我缺少什么? 在我的控制器中,我定义了以下function,代码是: def create_aws_account require ‘aws_account_utils’ @account_details = [] @account_values = {} aws_utils = AwsAccountUtils::AwsAccountUtils.new() details = { ‘fullName’ => ‘Devanshu Kumar’, ‘company’ => ‘ABC’, ‘addressLine1’ => ‘CP, Bund Garden Road’, ‘city’ => ‘Pune’, ‘state’ => ‘Maharastra’, ‘postalCode’ => ‘411007’, ‘phoneNumber’ => ‘1234567890’, ‘guess’ => ‘Test Account Dev’ } resp = aws_utils.create_account(account_name: […]