小编And*_*rew的帖子

COLLATE = utf8_unicode_ci在迁移后从schema.rb中删除

运行导轨5.0.2

源代码管理中schema.rb中的表似乎主要具有以下格式:create_table "app_files", force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci" do |t| .注意COLLATE=utf8_unicode_ci"最后.

当我运行迁移时,生成schemaa.rb的大部分都是相同的,但是COLLATE=utf8_unicode_ci"从这些行中删除,所以它现在看起来像create_table "app_files", force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8" do |t|

基于其他SO帖子,我尝试了两件事来解决这个问题

1)在我的/etc/mysql/my.cnf中我添加了

[mysqld]
character-set-server  = utf8
collation-server = utf8_unicode_ci
Run Code Online (Sandbox Code Playgroud)

2)在我的database.ymlive中添加collation: utf8_general_ci到所有相关环境中

然后我重新启动了mysql,删除,创建并迁移了我的数据库,但整理线仍然消失了.

有关我需要更改哪些配置以使该位自动生成的任何想法?

mysql ruby-on-rails rails-migrations

10
推荐指数
1
解决办法
393
查看次数

Rails Active Storage 本地附件因神秘错误而失败:未初始化常量可分析

红宝石'2.7.1'/rails 6.0.3.2

我无法让本地活动存储附件工作。这是我的设置:

我跑了:

$ rails active_storage:install
$ rake db:migrate
Run Code Online (Sandbox Code Playgroud)

模型架构

  create_table "amazon_uploads" do |t|
    t.string "status"
    t.string "order_csv"
    t.datetime "created_at", precision: 6, null: false
    t.datetime "updated_at", precision: 6, null: false
  end

Run Code Online (Sandbox Code Playgroud)

模型:

class AmazonUpload < ApplicationRecord
  has_many :amazon_upload_recipients

  has_one_attached :order_csv
end

Run Code Online (Sandbox Code Playgroud)

我的存储.yml

test:
  service: Disk
  root: <%= Rails.root.join("tmp/storage") %>

local:
  service: Disk
  root: <%= Rails.root.join("storage") %>
Run Code Online (Sandbox Code Playgroud)

我的development.rb包含:

  config.active_storage.service = :local
Run Code Online (Sandbox Code Playgroud)

然后在我的代码中我这样做:

$ rails active_storage:install
$ rake db:migrate
Run Code Online (Sandbox Code Playgroud)

最后一行失败

NameError: uninitialized constant #<Class:0x0000564c2f7e8638>::Analyzable
Run Code Online (Sandbox Code Playgroud)

我能看到的唯一其他参考这个错误的人声称他们有一个类型,但我不认为这是这里的问题

ruby-on-rails rails-activestorage ruby-on-rails-6

6
推荐指数
1
解决办法
2052
查看次数

chart.js 线图:填充线上方的区域,而不是下方和右侧

我有一个chart.js,它显示两条不同的线,一条线总是正的,一条线总是负的。

我想可视化两条线之间的区域和 y 轴上的 0 值,因此想要填充正线下方和负线上方,两者都以 0 结尾。然而,Chart.js 总是将线填充到据我所知,给定行的右下角。

正确行为:(来自chartist.js)

具有正确行为的图表

不正确的行为(来自 chart.js)

行为不正确的图表

有谁知道是否可以使用chart.js 实现类似于第一个图形的外观?

编辑:

我通过它的 ember 插件使用 chart.js

{{ember-chart type='Line' data=dataPanelService.chartData width=500 height=600}}

所以我只传入chartData。它应该使用默认选项。

dataPanelService 中的图表数据:

chartData: {
  labels: ["9 /15 /15", "9 /28 /15", "10 /5 /15", "10 /13 /15", "10 /19       /15", "10 /30 /15", "11 /15 /15"],
  datasets: {
     {
        fillColor: "#FF1717", 
        pointColor: "#da3e2f", 
        data: [200000, 180000, 150000, 110000, 60000, 0, 0]
     },
     {
        fillColor: "#4575b5", 
        pointColor: "#1C57A8", 
        data: [-300000, -300000, -300000, -150000, -150000, -20000, 0] …
Run Code Online (Sandbox Code Playgroud)

javascript charts chart.js

4
推荐指数
1
解决办法
8244
查看次数

ActiveAdmin Rails 从索引页特定资源的标题中删除“新建对象”按钮

默认情况下,ActiveAdmin 资源的索引页包含一个按钮,用于转到表单以创建该对象的新实例

带有“新建”按钮的活动管理标题

我的视图是多次项目的复合列表,其中新按钮没有意义。有没有办法仅删除该资源上的该按钮?

ruby-on-rails activeadmin

3
推荐指数
1
解决办法
1221
查看次数

Ember:对模型数组进行排序的非控制器方式是什么

我希望按日期对Ember模型数组进行排序,但似乎所有旧文档都与控制器内的排序有关.在这种情况下,我需要在路由中获取模型时对此数组进行排序,以便将其发送到服务以对其执行操作.

我有两个模型,站点和飞行.

所以我有一个构造函数是的对象站点 myApp@model:site

我希望得到一个与该站点相关的飞行对象数组,其中有许多按日期排序的配置.

我的尝试是:

var flights = site.get('flights').sortBy('executeAt:desc');

我注意到的一个奇怪的事情是没有":desc"它默认为提升

var flights = site.get('flights').sortBy('executeAt'); - >上升

但结肠后面的值不会影响任何东西

var flights = site.get('flights').sortBy('executeAt:'); - >降序或``var flights = site.get('flights').sortBy('executeAt:asc');` - >降序

在某些情况下,它完全混淆了这种类型并给了我未分类的数据.

供参考,日期格式为: 2015-09-03T13:34:33.000Z

那么获得这些数据的排序列表的最佳方法是什么?

ember.js

2
推荐指数
1
解决办法
1841
查看次数

Rspec:如何在不删减任何内容或在幕后更改任何内容的情况下期待收到的消息

我有一个 Rails 应用程序的 Rspec 测试

  describe '.move_probes_to_master_list' do
    let(:as) { create_list :a, 3, }
    let(:bs) { create_list :b, 3 }

    it 'sums the volumes' do

      active_as= [as[1], as[2]]
      b_ids = [2, 3]
      expect_any_instance_of(A)
        .to receive(:required_volume).twice.with(b_ids)
      expect_any_instance_of(A)
        .to receive(:update_move_to_master_list).twice

      expect(A.calculate_volume(active_as)).to eq(true)
    end
  end
Run Code Online (Sandbox Code Playgroud)

基本上我调用A.calculate_volume并在这个类方法中,我想确保A该类的某个成员也收到一些其他消息。我不想删除这些方法,我希望它们正常运行,但我只想验证是否正在调用这些方法。

这是在循环中运行,所以我不确切知道我将处理哪些实例,但我想确保在某些成员(但不一定两次都必须是同一成员)上调用这两条消息A一共上课两次。

如果我删除expect_any_instance_of(A).to receive期望,一切运行正常并且测试通过。

如果我保留它们,方法调用将失败并且测试中断。

我尝试添加,and_call_original但我觉得我是在黑暗中拍摄,因为文档不清楚这些方法的实际操作方式。

那么如何验证某个类的实例是否在n不更改有关方法调用的其他任何内容的情况下收到消息时间?

我是否错过了在这里收到的期望?我不清楚为什么它首先会存根任何东西。

rspec ruby-on-rails rspec-rails

2
推荐指数
2
解决办法
1626
查看次数

我可以在循环中将对象添加到数组中,然后在同一行中返回该数组吗?

我有一些简单的ruby代码,我创建一个Array,创建一堆对象并将它们推入数组,然后返回数组

def create_barcodes(count)
  barcodes = Array.new
  count.times { barcodes.push(Barcode.create) }
  barcodes
end
Run Code Online (Sandbox Code Playgroud)

感觉应该有一种方法可以将其减少到一行或两行,并且至少避免必须barcodes在末尾引用数组,以便返回它.是否有一些聪明的方法让计数循环返回数组?

ruby arrays

1
推荐指数
2
解决办法
71
查看次数

带Sass的嵌套伪选择器

我的HTML看起来像

  <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
    <div class="modal-dialog">
      <div class="modal-content">
        <div class="header"></div>
        <div class="feature-bullet">
          <div class="feature-icon"></div>
        </div>

        <div class="feature-bullet">
          <div class="feature-icon"></div>
        </div>

        <div class="feature-bullet">
          <div class="feature-icon"></div>
        </div>

        <div class="feature-bullet">
          <div class="feature-icon"></div>
        </div>

      </div>
    </div>
  </div>
Run Code Online (Sandbox Code Playgroud)

这是一个圆形项目符号列表,里面有象形图标.虽然你不能从我发布它的方式告诉你:

<div class="feature-bullet">
   <div class="feature-icon"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

是由单个轨道部分渲染所有四次因此我不能在某些子弹上抛出额外的类来改变它们的属性.

无论出于何种原因,feature-icon顶部两个子弹点内的偏离中心,我想用CSS伪选择器选择它们并给它们一些额外的余量.所以我需要做的是拿第二个和第三个孩子modal-content并选择他们div.feature-icon的每一个并在他们身上抛出一个边缘属性.

我的初始非工作.scss是:

.modal-content {
  &:nth-child(2), &:nth-child(3) {
    .feature-icon {
      margin-left: 10px;
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

但我很快意识到

  1. 我并不真正理解nth-child首先使用这些伪选择器的规则
  2. 我特别不知道在Sass选择器中嵌套它们时会有什么其他因素发挥作用.

这可能吗?如果是这样,我有什么选择.如果有关于这类问题的任何好的文档,我会有兴趣看到它,但我找不到它.

css sass

0
推荐指数
1
解决办法
4274
查看次数