小编ami*_*hle的帖子

禁用远程Git LFS

我正在尝试推送不支持Git LFS的第二个遥控器.有没有办法禁用特定远程使用的Git LFS git config

git git-lfs

33
推荐指数
1
解决办法
4118
查看次数

在rails 3.1+中提供未编译的资产版本

我目前正致力于将Dart集成到Rails Asset Pipeline中.

编译工作已经开始; .dart文件.js由Asset Pipeline 编译.但是,还应该有一个.dart可以由Dartium解释的未编译版本.

通常的方式是.dart文件包含在html源代码中,其类型为"application/dart".然后是dart.js,如果浏览器不理解Dart,则用.dart相应的.js版本替换这些文件.foo.dartfoo.dart.js

我的问题是,资产管道服务于已编译的JavaScript版本,即使客户端请求也是如此foo.dart.foo.dart应该服务于原始的,未编译的版本,只foo.dart.js应编译.

来源红宝石镖镖形轨道

编辑:我想过只是将原始.dart文件复制到公共文件夹,但这不是一个选项,因为Asset Pipeline看到的源文件可能包含其他.dart文件,然后将这些文件编译成一个.js文件.因此,并非所有.dart文件都会被复制.

ruby-on-rails asset-pipeline dart

8
推荐指数
1
解决办法
552
查看次数

Ruby on Rails:在开发中的初始化程序中配置API

我有一个带有API的Ruby on Rails应用程序lib.文件lib自动加载,API在初始化程序中配置.

# lib/my_api.rb
module MyApi
  extend Configuration
end

# lib/my_api/configuration.rb
module MyApi
  module Configuration
    attr_accessor :my_setting
    def configure
      yield self
    end
  end
end

# config/initializers/my_api.rb
MyApi.configure do |config|
  config.my_setting = 'foo'
end
Run Code Online (Sandbox Code Playgroud)

这适用于生产,但在开发中,API在服务器启动时进行配置.更改一些代码后,配置丢失,并且有错误,因为设置是nil:

irb(main):001:0> MyApi.my_setting
=> "foo"
irb(main):002:0> reload!
Reloading...
=> true
irb(main):003:0> MyApi.my_setting
=> nil
Run Code Online (Sandbox Code Playgroud)

我的猜测是,在开发中,类被重新加载,但初始化程序不是,这意味着它只在启动服务器后才配置一次.

现在我正在复制我的配置lib/my_api.rb,但这非常hacky.

什么是这个问题的干净解决方案?

ruby-on-rails

7
推荐指数
1
解决办法
236
查看次数

在rescue_from块中请求.format

我有一个带有rescue_from块的轨道控制器,我可以在其中调用render.

class SomeController < ApplicationController
  rescue_from Some::Error, :some_error

  private

  def some_error error
    @error = error
    render 'error'
  end
end
Run Code Online (Sandbox Code Playgroud)

奇怪的是,即使我有一个error.js.erb视图,rails也会一直使用error.html.erb,即使请求是JS:

Started GET /some/1
Processing by SomeController#show as JS
...
Rendered some/error.html.erb
Run Code Online (Sandbox Code Playgroud)

不是如何在它上面的缩短日志中表示它呈现为JS,但它仍然使用HTML文件.该.js.erb是在正确的位置,并呈现JS的看法时,有没有rescue_from涉及的作品就好了.

这里发生了什么?

更新1:我已经创建了一个测试存储库来演示该问题

更新2 我找到了解决方案(见下文).任何人都可以提出一个更通用的解决方案,如下面的那些,或者你能告诉我为什么这将是不可能的或一个非常糟糕的主意?赏金仍然开放.

  • 难道是有意义的创建一个拉请求设置self.formatsActionController::Rescue.process_action
  • 变得非常疯狂并尝试将错误的堆栈恢复到比错误引发的位置更深的位置

ruby-on-rails

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

应用使用 --all 创建的 git stash

我不小心创建了一个带有--all选项的 git stash ,根据文档,

如果--all改为使用该选项,则除了未跟踪的文件之外,还会隐藏和清理被忽略的文件。

所以现在恢复我的更改git stash pop失败:

some/ignored/file already exists, no checkout
Could not restore untracked files from stash
Run Code Online (Sandbox Code Playgroud)

(我实际上应该做的是使用--include-untracked

git stash show -p仍然列出我的更改,没有任何忽略的文件。如何在apply没有 git 尝试恢复被忽略文件的情况下存储我的文件?

编辑:我刚刚创建了一个测试存储库并做了一个git stash --all. 被忽略的文件被隐藏并从文件系统中删除。我的问题是,在我上面的例子中,它们被藏起来了,但没有从文件系统中删除,所以这似乎是问题的原因。

git git-stash

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

标签 统计

ruby-on-rails ×3

git ×2

asset-pipeline ×1

dart ×1

git-lfs ×1

git-stash ×1