小编jon*_*hue的帖子

合并代码感觉舒服吗?

今天早上,我读了两篇关于重构的意见.

  • 意见1(页面不存在)
  • 意见2(页面不存在)

他们建议将代码分支(并随后合并)到:

  1. 保持行李箱清洁.
  2. 允许开发人员摆脱风险的变化.

根据我的经验(特别是与Borland的StarTeam合作),合并是一种非繁琐的操作.出于这个原因,我只在我必须时(即当我想要冻结候选版本时)进行分支.

从理论上讲,分支是有道理的,但合并的机制使其成为一种非常危险的操作.

我的问题:

  • 合并代码感觉舒服吗?
  • 您是否因为冻结候选版本以外的原因而分支代码?

version-control merge branch

24
推荐指数
5
解决办法
5895
查看次数

如何在flex布局中使用固定位置?

我有一个带有两列的flexbox布局.

左列是固定的,而右边是可滚动的.

你怎么能这样做?

看看下面的代码:

#parent {
  display: flex;
}
#left {
  flex-grow: 1;
}
#left div {
  position: fixed;
  background: blue;
  top: 0;
  left: 0;
  height: 100vh;
}
#right {
  flex-grow: 5;
  background: red;
  height: 300vh;
}
Run Code Online (Sandbox Code Playgroud)
<div id="parent">
  <div class="child" id ="left">
    <div>
      ABC
    </div>
  </div>
  <div class="child" id ="right">
  DEF
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

小提琴

html css css3 flexbox

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

将GoDaddy裸域添加到Heroku应用程序

Heroku 自定义域名

我为我的Heroku应用设置了两个自定义域名.

example.com        example.com.herokudns.com
*.example.com      wildcard.example.com.herokudns.com
Run Code Online (Sandbox Code Playgroud)

域配置

我按如下方式配置了域名:

  1. 我添加了一个指向的CNAME记录.工作良好.*wildcard.example.com.herokudns.com

  2. URL使用GoDaddy的域转发工具转发,因为我只能将IP地址指定为A记录.


问题

域转发指向example.com.herokudns.com.不幸的是,GoDaddy会自动添加http://,因此它实际上无法打开我的应用程序,而是显示一条Heroku消息:

这里什么也没有.


目标

设置我的GoDaddy根域以指向我的Heroku应用程序.


注意: GoDaddy会自动添加指向的A记录@>>++FWD1++<<

ip dns url shared-hosting heroku

9
推荐指数
1
解决办法
4231
查看次数

Rails:预编译资产缺少节点模块

我正在使用我的rails 5.1 app纱线(不是webpacker,只是默认的资产管道).

在开发环境中运行本地服务器,我的资产没有遇到任何问题.

但是一旦我预编译我的资产(环境无关紧要)或让Heroku打包我的资产,我从我的application.sass文件中导入的所有样式表(节点模块)都不再起作用了.

这种行为的原因是sass将所有文件编译成一个输出文件,但由于某种原因似乎错过了@import包含节点模块的语句并分别加载这些文件.

所以这:

@import "components/index.sass"
@import "nodemodule/nodemodule.css"
Run Code Online (Sandbox Code Playgroud)

在开发中编译到这个:

// content of "components/index.sass"
// content of "nodemodule/nodemodule.css"
Run Code Online (Sandbox Code Playgroud)

在生产中:

// content of "components/index.sass"
@import "nodemodule/nodemodule.css"
Run Code Online (Sandbox Code Playgroud)

虽然node_module/nodemodule.css单独加载为资产,但浏览器无法解析它.Javascript工作正常.

css ruby-on-rails sass node-modules yarnpkg

8
推荐指数
3
解决办法
2833
查看次数

CarrierWave不存储上传文件的URL

我正在尝试在后台处理我上传的图像(使用CarrierWave)(通过Sidekiq).

这是我的配置(carrierwave_delay gem):

class IconUploader < CarrierWave::Uploader::Base

    def is_processing_delayed? img = nil
        !! @is_processing_delayed
    end

    def is_processing_immediate? img = nil
        ! is_processing_delayed?
    end

    def is_processing_delayed= value
        @is_processing_delayed = value
    end

    include CarrierWave::MiniMagick
    storage :fog

    def store_dir
        "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
    end

    process resize_to_fill: [500, 500]
    version :large, if: :is_processing_delayed? do
        process resize_to_fill: [192, 192]
    end
    version :medium, from: :large, if: :is_processing_delayed? do
        process resize_to_fill: [144, 144]
    end

    def extension_whitelist
        %w(png)
    end

end

class App < ApplicationRecord

    mount_uploader …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails background-process carrierwave sidekiq

6
推荐指数
0
解决办法
487
查看次数

Rails:用js响应Ajax请求

当使用 ajax 请求从 Rails 控制器操作获取响应时,我遇到了一些奇怪的行为。

$.ajax({
    type: 'GET',
    url: '/notifications',
    success: function(result) {
        eval(result);
    }
});
Run Code Online (Sandbox Code Playgroud)
$.ajax({
    type: 'GET',
    url: '/notifications',
    success: function(result) {
        eval(result);
    }
});
Run Code Online (Sandbox Code Playgroud)

因此,当使用带有railsremote: true选项的请求时,这个respond_to块工作得很好,但是使用ajax调用时,它只是将请求重定向到root_url.

当指定Ajax 请求时jsondataTypeso 很好地返回 JavaScript,但由于它无效json,因此eval()不会运行它。

有没有办法从 JavaScript 中启动 Rails 远程请求或指定返回的 JavaScript 可执行的数据类型?


即使在 ajax 调用中指定也dataType: 'text/javascript',无法解决问题。

javascript ajax ruby-on-rails respond-to ruby-on-rails-5

5
推荐指数
1
解决办法
3102
查看次数

TypeScript 声明特定的 SCSS 模块

我正在尝试声明要从 TypeScript 导入的特定 SCSS 模块。我有这个运行良好的声明文件:

declare module '*.scss' {
  const styles: {
    a: string
    b: string
    c: string
  }

  export default styles
}
Run Code Online (Sandbox Code Playgroud)

但我想以*.scss某种方式缩小范围,以便此声明文件仅适用于_variables.scss位于同一目录中的 SCSS 文件。

我试图*.scss_variables.scssor替换,./_variables.scss但是 TypeScript 根本无法找到模块声明。

这可以用 TypeScript 实现吗?

module sass typescript

5
推荐指数
1
解决办法
317
查看次数

Rails:link_to - 传递子域

我需要创建一个link_to到不同的子域.

这就是我想出的:

= link_to "Link to Subdomain", root_path(subdomain: "abc", param1: "value1", param2: "value2")
Run Code Online (Sandbox Code Playgroud)


虽然不行.我被重定向到:

http://lvh.me:3000/?param1=value1&param2=value2
Run Code Online (Sandbox Code Playgroud)

注意:传递的as param subdomain未显示在url中.既不是子域也不是参数.

相反,我想重定向到以下URL:

 http://abc.lvh.me:3000/?param1=value1&param2=value2
Run Code Online (Sandbox Code Playgroud)

ruby subdomain redirect ruby-on-rails ruby-on-rails-5

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

如何使用Webpacker将`includePaths`添加到Sass loader

我覆盖了sass-loader配置,以包括node_modules路径:

// config/webpack/environment.js

const { environment } = require('@rails/webpacker')

environment.loaders.prepend('sass', {
    test: /\.(css|scss|sass)$/,
    use: [{
        loader: 'style-loader'
    }, {
        loader: 'css-loader'
    }, {
        loader: 'sass-loader',
        options: {
            includePaths: ['node_modules'],
        }
    }]
})

module.exports = environment
Run Code Online (Sandbox Code Playgroud)

Webpack编译没有错误,但是不再输出application.css包。

我进行了更改,因为从我的Sass文件中导入的NPM插件(从其他插件中导入代码)在编译时会导致错误。

ruby-on-rails sass webpack sass-loader webpacker

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

模块构建失败:错误:生成 bin/rails ENOENT

添加 ERB 加载程序并将.erb文件扩展名添加到我的application包(使用webpacker)后,我收到以下错误:

ERROR in ./app/webpack/packs/application.js.erb
Module build failed: Error: spawn bin/rails ENOENT
    at _errnoException (util.js:1024:11)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:190:19)
    at onErrorNT (internal/child_process.js:372:16)
    at _combinedTickCallback (internal/process/next_tick.js:138:11)
    at process._tickCallback (internal/process/next_tick.js:180:9)
 @ multi (webpack)-dev-server/client?http://localhost:3035 ./app/webpack/packs/application.js.erb
Run Code Online (Sandbox Code Playgroud)

样品hello_erb.js.erb包也会发生这种情况。

这是一个重现问题的示例应用程序:https : //github.com/jonhue/test_app

ruby-on-rails erb webpack enoent webpacker

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