小编Con*_*ion的帖子

无法用font-awesome覆盖bootstrap-sass的字体

我正在使用bootstrap-sass和font-awesome(https://github.com/littlebtc/font-awesome-sass-rails)宝石.我想从font-awesome中覆盖bootstrap字体设置.

从font-awesome的站点我可以覆盖bootstrap默认值,如果我只是在bootstrap导入后导入.

@import 'bootstrap';
@import 'font-awesome';
Run Code Online (Sandbox Code Playgroud)

我已经完成了上述操作,但font-awesome的字体并没有覆盖.我已经把我的项目推到了github上 - https://github.com/murtaza52/rails-base.该URL可在localhost:3000/posts上访问

如果有人可以帮我翻译bootstraps的默认字体和font-awesome的字体,我将不胜感激

ruby-on-rails sass twitter-bootstrap font-awesome

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

如何(重新)加载Racket(X)REPL中的文件?

假设我有一个类似的文件

#lang racket/base
(define (hello) (print "Hello"))
... more definitions ...
Run Code Online (Sandbox Code Playgroud)

我想在文件中加载定义,以交互方式在(X)REPL中使用它们.我怎么做?

如果我启动(X)REPL (load "/tmp/hello.rkt"),那么该hello函数不可用于我:

-> (hello)
; hello: undefined;
Run Code Online (Sandbox Code Playgroud)

如果我(require (file "/tmp/hello.rkt")),结果是一样的.现在我可以 (enter! (file "/tmp/hello.rkt")),然后(hello)工作,但这似乎相当......不直观和初学者不友好.

这确实是应该这样做的方式吗?我应该简单地阅读模块和命名空间以轻松浏览和试验我的代码,还是有一种更简单的方法可以忽略?

注意我发现如何通过命令行将文件加载到球拍?,但这只解释了如何运行该文件.不是如何在REPL中加载它,因此您可以测试/调试某些特定的定义,然后编辑,重新加载等.

scheme load racket read-eval-print-loop

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

忽略Ruby ActiveRecord中的创建和更新中的"只读"列

我正在寻找以下问题的解决方案:我有一个ActiveRecord实体,由可更新的数据库视图支持(在DB2中通过activerecord-jdbc-adapter gem).此视图包含一个从其他列计算的列,并且是"只读":您无法以任何有效方式设置该列.当这个实体创建一个新的纪录,那场应该不会设置.但是,默认情况下,ActiveRecord会使用"default"(NULL)对其进行设置,该值将被数据库拒绝.

attr_readonly不是解决方案,因为它只从更新中排除列,而不是从创建中排除.

attr_ignore,例如由'lincoln'gem实现的,也不是解决方案,因为那时该字段被完全忽略.但是,该列仍需要读取并可访问.它实际上甚至被用作关系的一部分.

有一些方法可以阻止您设置ActiveRecord实体的某个属性,但这通常不会阻止该属性包含在create或update语句中

有没有人知道ActiveRecord中是否有办法将列指定为"从不设置此字段"?

更新,响应Arsen7:我试图使用after_initialize挂钩从新创建的实体中删除属性,因此它不包含在构建的SQL中.这样做的问题在于该属性被完全删除并且根本不再可用,与上面描述的'igonre_attr'情况几乎完全相同.由于缓存,这并非易事,并且需要额外的逻辑来强制重新加载这些特定表的实体.create除了使用after_initialize之外,可以通过覆盖添加'reload'来实现.

(正如Arsen7指出的那样,我忘了提到我在ActiveRecord 3.0.9)

我的解决方案

由于我的实体已经从子类继承ActiveRecord::Base,我选择添加before_createafter_create挂钩.在before_create钩子中,我从@attributes实例中删除了"计算"列.在after_create钩子中,我再次添加它们并从数据库中读取"计算"列的值,以将它们设置为它们收到的值.

添加这样的钩子几乎与覆盖创建相同,所以我认为Arsen7的答案是正确的.

ruby db2 activerecord view

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

为什么不仅仅是懒惰函数调用的Clojure函数也是懒惰的?

Clojure功能

(reductions + 0 (cycle [1 1 -1]))
Run Code Online (Sandbox Code Playgroud)

产生序列[0 1 2 1 2 3 2 3 4 3 4 5 ...].不幸的是,这个序列不是懒惰的.

由于cycle并且reductions都记录为返回延迟序列,我期望这些函数的组合也返回延迟序列.为什么不呢,我如何修复它以便懒惰地返回序列?

一个更复杂的例子,显示了同样的问题:

(reductions (fn [x f] (f x)) 0 (cycle [inc inc dec]))
Run Code Online (Sandbox Code Playgroud)

(我展示了这个,因为这是我想最终工作的那种版本,如果有任何区别的话)

functional-programming clojure lazy-evaluation

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

在一次操作中从Ruby Set中获取和删除元素

我有一组元素,我想从中删除前几个元素.是否有一个更短的方式(所以一个操作而不是两个)这样做:

require 'set'
s = Set[1, 2, 3, 4]       # => #<Set: {1, 2, 3, 4}> 

first_two = s.take(2)     # => [1, 2]
s.subtract(first_two)     # => #<Set: {3, 4}>
Run Code Online (Sandbox Code Playgroud)

(所以基本上我想知道我是否忽略了shift套装)

ruby set

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

在C#List中为每个项目存储多个变量

在ASP.net教程中,我找到了这个解释List<>,

List<string> users = new List<string>();
Run Code Online (Sandbox Code Playgroud)

我有一个聊天室,每个用户都有IP,connectionid和nick.所以我需要三个字符串变量.是否可以在列表中为每个项目存储三个变量,或者我应该使用其他东西?

c# asp.net

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