小编pap*_*del的帖子

Rails迁移更改列

我们有script/generate migration add_fieldname_to_tablename fieldname:datatype将新列添加到模型的语法.

在同一行,我们是否有用于更改列的数据类型的脚本/生成?或者我应该直接在我的vanilla迁移中编写SQL吗?

我想将列更改datetimedate.

migration ruby-on-rails

319
推荐指数
8
解决办法
24万
查看次数

将参数传递到骨干视图的Backbone事件对象

我有一个Backbone View的以下事件.它是一个产品视图 - 有三个标签("All","Top 3","Top 5")

我可以以某种方式将参数传递给方法声明,以便它等效于以下(这不起作用)?

events : {
    "click #top-all":          "topProducts(1)"
    "click #top-three":      "topProducts(2)"
    "click #top-ten":         "topProducts(3)"
},
topProducts(obj){
    // Do stuff based on obj value
}
Run Code Online (Sandbox Code Playgroud)

javascript backbone.js

52
推荐指数
3
解决办法
3万
查看次数

使用Underscore.js模板的Rails

我试图使用underscore.js模板在rails 2.3应用程序中进行模板化,该应用程序没有 jammit作为资产包装器.

这是简单的模板:

<script type="text/template" id="q-template">
    <div class="current-body">
        <span class="q-index"><%= title %></span>
        <span class-"q-text"><%= body %></span>
    </div>
</script>
Run Code Online (Sandbox Code Playgroud)

Rails尝试将这些解析为erb变量并抛出ArgumentError.在这种情况下,如何让下划线模板与rails很好地配合?我哪里错了?

backbone.js underscore.js

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

编码"UTF8"的Postgres问题在编码"LATIN1"时没有等价物

我们的postgres生产数据库服务器有一个名为crd_production的数据库,它出自template1模板数据库.顺便提一下,在Ubuntu 12.04框中,初始创建pgcluster时template1和template0数据库的默认编码的默认编码为LATIN1.我删除了template1数据库并使用utf-8编码重新创建它,如下所示.

      Name      |  Owner   | Encoding |  Collate   |   Ctype    |   Access privileges   
----------------+----------+----------+------------+------------+-----------------------
 crd_production | deployer | UTF8     | en_US.utf8 | en_US.utf8 | 
 postgres       | postgres | UTF8     | en_US.utf8 | en_US.utf8 | 
 template0      | postgres | LATIN1   | en_US      | en_US      | =c/postgres          +
                |          |          |            |            | postgres=CTc/postgres
 template1      | postgres | UTF8     | en_US.utf8 | en_US.utf8 | 
(4 rows)
Run Code Online (Sandbox Code Playgroud)

我们最终部署了rails(3.2.11)app并开始使用crd_productiondb作为主数据库.ActiveRecord写入/读取数据时没有问题,但是当我尝试从此psql数据库上的命令行触发任何sql查询时,会发生以下错误 -

crd_production=# select * from users; …
Run Code Online (Sandbox Code Playgroud)

postgresql encoding latin1

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

如何将ruby整数转换为符号

我有一个像这样的Ruby数组

q_id = [1,2,3,4,5,...,100]
Run Code Online (Sandbox Code Playgroud)

我想遍历数组并转换成这样的哈希

{
  :1 => { #some hash} ,  
  :2 => { #another hash},
  ...
  :100 => {#yet another hash}
}
Run Code Online (Sandbox Code Playgroud)

实现这一目标的最短和最优雅的方法是什么?

[编辑:to_s.to_sym虽然方便不是我想要它.抱歉不提及它.]

ruby

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

在postgresql中将列从字符串更改为字符串数组

以下是名为"containers"的表格的片段.

       Column       |            Type             |            Modifiers            
--------------------+-----------------------------+---------------------------------
 id                 | uuid                        | not null
 name               | character varying(255)      | 
 products           | character varying           | default '{}'::character varying
Run Code Online (Sandbox Code Playgroud)

如何将products列更改"character varying[]"为相应的修饰符default '{}'::character varying[]?基本上,我想将字符串转换为字符串数组.请注意,products列对字符数没有限制.

alter table "containers" alter "products" type character varying[];
Run Code Online (Sandbox Code Playgroud)

抛出以下错误

错误:列"产品"无法转换为类型字符变化[]

database arrays postgresql postgresql-9.2

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

为什么Ruby on Rails称为特定于域的语言?

最近,当我试图解释为什么Ruby on Rails是我所在组织的实习生的特定领域语言(DSL)时,我无法清楚地表达我想要的效果.也许我不太了解这个空间来教导细微差别.将他重定向到马丁福勒的文章或谷歌排名的一个InfoQ或其他材料也没有多大帮助.

有人可以解释为什么Rails是一个具有示例/并行情况的DSL,对于那些对代码世界来说相当新的人来说,这不是巫毒的东西吗?理解意识形态也可能有助于详细阐述铁路生态系统的复杂性?

dsl ruby-on-rails

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

如果我有一个没有模型的Backbone View,我会偏离MVC吗?

我有一些看似没有逻辑连贯模型的观点.我仍然可以尝试为这些创建虚拟模型(并且也适当地使用路由器),但对我来说似乎不自然.

那么拥有一个Backbone View而没有相应的Model反模式?

专家对此有何评论?

javascript model-view-controller backbone.js

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

选择*sql query vs选择特定列sql查询

可能重复:
为什么SELECT*被认为有害?

可能是一个数据库nOOb问题.

我们的应用程序有如下表格

表WF

Field              | Type        | Null | Key | Default | Extra          |
+--------------------+-------------+------+-----+---------+----------------+
| id                 | int(11)     | NO   | PRI | NULL    | auto_increment | 
| children           | text        | YES  |     | NULL    |                | 
| w_id               | int(11)     | YES  |     | NULL    |                | 
| f_id               | int(11)     | YES  |     | NULL    |                | 
| filterable         | tinyint(1)  | YES  |     | 1       |                | 
| created_at         | datetime    | …
Run Code Online (Sandbox Code Playgroud)

mysql sql activerecord database-design ruby-on-rails

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

eval()的用法在这里是否合理?

JavaScript对象data有一个属性'amplitudeitude',它是来自服务器的字符串串联的位掩码数组.

var data = {
  "amplitudes":           
  "[1,1,1,4,1,1],[1,1,1,1,1,1],[1,1,4,1,9,1],[1,1,9,1,16,1],[1,32,1,1,1,9],[4,4,4,1,1,1]"
}
Run Code Online (Sandbox Code Playgroud)

.

这需要分解为六个独立的数组.我正在使用以下方式组合split()eval()完成它:

var amplitudes = [];
amplitudes = data.amplitudes.split("],[");
for(var i=0;i<amplitudes.length;i+=1){
    (i+1)%2>0 ? amplitudes[i] = amplitudes[i] + "]" : amplitudes[i] = "[" + amplitudes[i];
    amplitudes[i] = eval(amplitudes[i]);
}
Run Code Online (Sandbox Code Playgroud)

问题


1)有更优雅有效的方法吗?我对eval()的使用不太满意,但感觉分裂比正则表达更有效吗?我还没有运行基准测试.

2)我也愿意操纵字段"幅度"存储在数据库中的格式,以便我的整体设计变得更简单.

建议欢迎

javascript eval

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

在mysql中表示n位无符号整数

我如何在 mysql 中表示这些数据?

16 bit unsigned integer -----Range: 0x0000 - 0xFFF7
64 bit unsigned int.  Depicted as xx:xx:xx:xx:xx:xx:xx:xx -----Range: 0x0000 - 0xFFFFFFFFFFFFFFFF
2 bits ----- 00 - None,  01 - Residential  Security,  10 - High Security
32 bit unsigned int
Run Code Online (Sandbox Code Playgroud)

我应该将所有内容转换为字符串并在应用程序层转换吗?

mysql database-schema unsigned-integer

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

Uuids和Redis

Antirez在本文中详细讨论了Hashes的内存优化问题 - http://redis.io/topics/memory-optimization

我有一个生产的应用程序,有大约50个实体(表)和几百万uuids,结合各种实体.我希望大量利用Redis的排序集,列表和哈希.

从记忆和性能的角度来看,将uuids/guids作为redis键(以及集合和列表的成员)(如果有的话)的含义是什么?

我使用postgre作为另一个数据存储区和rails 3.2.9和ruby 1.9.3.

performance uuid ruby-on-rails redis

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

Rails字符串数组和PostgreSQL

我有一个名为Container列的Rails模型products.它是Postgres和'postgres_ext'gem支持的字符串数组.

GEMFILE的相关部分是:

gem 'rails', '3.2.9'
gem 'pg'
gem 'postgres_ext'
gem 'activerecord-postgres-hstore', git: 'git://github.com/engageis/activerecord-postgres-hstore.git'
Run Code Online (Sandbox Code Playgroud)

迁移的相关部分是:

 t.string :products, array: true
Run Code Online (Sandbox Code Playgroud)

我正在我的Container模型中编写一个公共方法,它将产品添加到此数组中.该方法如下所示:

 attr_accessible :products

 def add_to_products(product)

  if products.blank? || products.size == 0 ## product array is either uninstantiated or blank
    products = [product.id]
  else  

    unless products.include? product.id
      products << product.id
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

这些是irb/console中的结果:

pry(main)> c = Container.first
=> #<Container id: "2765cc19-98f8-4e42-a1be-538788424ec7", name:....
pry(main)> p = Product.first
=> #<Product id: "319a25ae-87fe-4769-a9de-1a8e0db9e84f", name: ....
pry(main)> c.add_to_products(product)
pry(main)> c.products …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails rails-postgresql postgres-ext

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