小编Nic*_*ilt的帖子

如何将只读git克隆从github转换为分叉

我不时会遇到这个问题.

假设我已经按照以下方式阅读了rails的源代码,因为我遇到了一些问题.

git clone git://github.com/rails/rails.git
Run Code Online (Sandbox Code Playgroud)

在研究期间,我测试了一些东西,现在我有一个修复,我希望rails核心团队来看看.如何将我的更改推送到分叉版本的rails.

记得当我克隆时,我没有克隆分叉版本而是只读版本.

并不是说我反对分叉.只是有时我认为我只是要浏览然后我想添加一些东西.

git github git-push git-remote

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

如何在rails 3功能测试中断言响应体的内容

我有一个Rails 3.0.7应用程序.在功能测试中,我有以下代码.我没有使用rspec或任何东西.这是带有导轨的普通香草功能测试.

assert_response :success
Run Code Online (Sandbox Code Playgroud)

以上断言正在过去.但是,我需要断言作为响应正文返回的完整内容.我如何访问响应正文?

ruby-on-rails

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

如何获得JavaScript样式的哈希访问?

我知道ActiveSupport提供的这个功能.

h = ActiveSupport::OrderedOptions.new
h.boy = 'John'
h.girl = 'Mary'
h.boy  # => 'John'
h.girl # => 'Mary'
Run Code Online (Sandbox Code Playgroud)

但是我已经有一个大哈希,我想使用点表示法访问该哈希.这是我试过的:

large_hash = {boy: 'John', girl: 'Mary'}
h = ActiveSupport::OrderedOptions.new(large_hash)
h.boy # => nil
Run Code Online (Sandbox Code Playgroud)

那没用.我怎样才能做到这一点.

我正在使用ruby 1.9.2

更新:

对不起我应该提到我不能使用openstruct,因为它没有Struct所具有的each_pair方法.我事先不知道密钥所以我不能使用openstruct.

ruby hash object

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

如何在PostgreSQL上添加条件唯一索引

我有一个line_items包含以下列的表:

product_id
variant_id
Run Code Online (Sandbox Code Playgroud)

variant_id 是可以为空的.

这是条件:

  • 如果variant_id为NULL则product_id应该是唯一的.
  • 如果variant_id有一个值,则组合product_idvariant_id应该是唯一的.

这可能在PostgreSQL中吗?

postgresql indexing null

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

子目录清单文件的资产预编译

我正在使用Rails 3.1,在资产下我有这样的文件:

assets
  javascripts
    admin
        admin.js
        a1.js
    client
       client.js
        c1.js
Run Code Online (Sandbox Code Playgroud)

admin.js看起来像这样

//
//= require jquery
//= require jquery_ujs
//= require a1
Run Code Online (Sandbox Code Playgroud)

client.js看起来像这样

//
//= require jquery
//= require c1
Run Code Online (Sandbox Code Playgroud)

在开发模式下一切正常.当我做rake资产:预编译然后我没有在公共/资产中看到任何javascript文件.我确实看到了公共/资产中的所有样式表.

我认为这与在这种情况下清单文件(admin.js和client.js)在子目录中的事实有关.

那么rake资产是这样的:预编译不会查看子目录吗?

对于如何解决这个问题,有任何的建议吗.我更喜欢按照我的方式设置文件,因为我有一堆javascript文件.

ruby-on-rails asset-pipeline

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

为什么instance_eval使用Proc而不是Lambda成功?

我有以下课程:

class User
  code1 = Proc.new { }
  code2 = lambda { }

  define_method :test do
    self.class.instance_eval &code1
    self.class.instance_eval &code2
  end
end

User.new.test
Run Code Online (Sandbox Code Playgroud)

为什么第二个instance_eval失败并出现wrong number of arguments (1 for 0)错误?

ruby

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

如何显示信用卡的月份和年份选择

我正在使用Rails 3.1.这是我的代码,要求用户输入信用卡到期月份和年份.

  <div class="field">
    <%= f.label :expires_on, 'Expiration date' %>
    <br />
    <%= select_month nil, {add_month_numbers: true}, {name: 'creditcard[month]', id: "card_month"} %>
    <%= select_year nil, {start_year: Date.today.year, end_year: Date.today.year+15}, {name: 'creditcard[year]', id: "card_year"} %>
  </div>
Run Code Online (Sandbox Code Playgroud)

以上代码有效.但问题是,如果存在验证错误,则重置所选的到期日和月份.

我试过f.select_month但不支持.

ruby ruby-on-rails

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

如何将gemspec依赖声明为> = 3.1但小于<4.0

我正在更改我的ruby gem以使其与资产管道兼容.在我的gemspec中,我想说它需要rails版本> 3.1< 4.我怎么做.

目前这就是我所拥有的.

s.add_dependency("rails", ">= 3.1")

但这并不理想.这说明它也rails 4.0可能不适用.

rubygems ruby-on-rails

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

在ruby中反击vs系统

根据我在网上的所有读数,backtick和之间的区别system是返回的内容.backtick返回STDOUT而system收益truefalse.

我被告知他们都使用subshel​​l来执行操作.

但是我注意到另一个区别.

output = system('aaa')
puts "output is: #{output}"

output = `aaa`
puts "output is: #{output}"
Run Code Online (Sandbox Code Playgroud)

上面代码的结果是

$ ruby test.rb
output is: 
lab.rb:4:in ``': No such file or directory - aaa (Errno::ENOENT) from test.rb:4:in `<main>'
Run Code Online (Sandbox Code Playgroud)

因此,似乎在backtick例外情况下提升到主程序.操作system吞下异常,主程序永远不会看到异常.

我正在使用ruby 1.9.3.

我的分析是对的吗?

更新:得到了答案.它在这里https://gist.github.com/3730986.

ruby

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

如何配置vim将.es6文件视为javascript文件

我正在使用https://github.com/carlhuda/janus.

我正在进行Rails开发,我有一些JavaScript文件,我们正在使用es6功能.这些文件有扩展名.es6.所以文件命名为users.es6.

我如何告诉vim处理.es6以JavaScript文件结尾的文件,以便我可以获得语法高亮.

我正在使用macvim,但我认为这不重要.

vim macvim

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