小编Ada*_*NYC的帖子

Rails中带有动态内容的侧栏设计模式

我想有一个右侧栏,每页都有内容更改.例如,当我在"朋友"页面中时,侧栏应显示"新朋友".当我在"帐户"页面时,侧栏应显示"近期活动".

我该怎么做才能尊重Rails设计模式?我听说过Cells gem,但我不确定我是否使用它.

design-patterns ruby-on-rails sidebar

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

为什么Neo4j比SQL快

我是Neo4j的新手,并不能完全理解为什么Neo4j必须比高效的SQL查询更快.是因为数据结构还是底层查询实现?我真的很感激,如果有人可以帮我解决这个问题.

sql neo4j nosql

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

什么是Mocha同等测试?

我正在使用Mocha测试Express Node应用程序.我想进行以下测试(比较两个空数组):

assert.equal [], []
Run Code Online (Sandbox Code Playgroud)

通过.但是,Mocha给了我以下错误: AssertionError: [] == []

我应该使用哪种方法来比较两个空数组来传递?

testing equality mocha.js node.js

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

Ruby中的默认值的可选参数

我想创建一个具有默认值的可选参数的函数

def my_function(a = nil, b=nil, c=500)

end
Run Code Online (Sandbox Code Playgroud)

并使用我想要指定的参数调用该函数

my_function(b=100)
Run Code Online (Sandbox Code Playgroud)

我如何在Ruby 1.9.2中实现这一目标?

ruby named-parameters optional-arguments

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

将字符串化数组转换回数组

我使用hstore与Postgres 9.2和Rails 3.2来存储我的对象,如下所示:

class User
  user_hstore = {:user_id =>"123", :user_courses => [1,2,3]}
end
Run Code Online (Sandbox Code Playgroud)

现在,当我检索user_courses时,我得到一个这样的字符串: '[1, 2, 3]'

如何将此字符串转换为Rails数组?更好的是,有没有办法在hstore对象中存储数组,以便Rails自动将其作为数组类型检索?

postgresql ruby-on-rails hstore

4
推荐指数
3
解决办法
3195
查看次数

Rails异常声明:where().first_or_create()

我正在跟随Ryan的Omniauth与Devise railscast.代码的一部分是:

class User < ActiveRecord::Base   
  def self.from_omniauth(auth)
    where(auth.slice(:provider, :uid)).first_or_create do |user|
      user.provider = auth.provider
      user.uid = auth.uid
      user.username = auth.info.nickname
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

我在哪里().first_or_create做我的头.这段代码究竟做了什么?

我的猜测是where()语句应用于类User.但Rails如何知道它等同于User.where(:provider => "provider_id passed by auth", :uid => "uid passed by auth")

我的猜测是它产生一个集合,然后如果集合为空,则创建一个新实例user并分配新属性.否则选择第一个实例并重新分配属性.

我的猜测是否正确?

ruby-on-rails

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

在has_many关系中提取子对象的id

我有User模特,哪个has_many帖子.我想查询用户的帖子列表.但是,以下返回post对象数组而不是justid

@user.posts
Run Code Online (Sandbox Code Playgroud)

什么是ActiveRecord获取id的方法?我知道我可以使用

@user.posts.map{|u| u.id}
Run Code Online (Sandbox Code Playgroud)

但我认为这是低效的(返回post对象数组,然后提取ID)和冗长.

activerecord ruby-on-rails

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

Rails应用程序的性能细分

我有一个Rails模型,有几十种方法互相调用如下:

class MyModel
 def function1
 end
 ...
 def functionN
 end

 def summary
   function1
   ...
   functionN
 end

end
Run Code Online (Sandbox Code Playgroud)

我想检查它调用的每种方法的摘要和细分运行时间的性能.我应该怎么做呢?

performance ruby-on-rails

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

在两个应用之间共享Sidekiq

我正在寻找用于两个Rails应用程序之间通信的解决方案。我有两台服务器,一台用于网络,一台用于分析。当用户通过Web服务器注册时,该服务器需要通知分析服务器创建一些结果(可能需要几分钟),然后从中获取结果。

是否可以有一个可以同时访问两个服务器的Sidekiq服务器(无需设置API)?我应该怎么做?

ruby-on-rails sidekiq

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

为Rails对象创建临时属性并传递给View

我有一个考试模型,它有一个数据库属性score.现在,我想要另一个名为的属性rating,它将此分数转换为等级(A,B,C,D,F).我不想为其创建另一列rating,所以我使用虚拟属性如下:

  class Exam < ActiveRecord::Base
     attr_accessor :rating
     after_initialize :set_rating
     after_find :set_rating

     private
     def set_rating
        self.rating = case score
          when 0..49 then "F"
          when 50..79 then "B"
          else "A" 
     end
 end
Run Code Online (Sandbox Code Playgroud)

从我可以打电话的意义上说,这是有效的

e = Exam.find_by_student("John")
e.rating 
Run Code Online (Sandbox Code Playgroud)

但是,该对象e没有附加属性评级.因此,如果我将对象传递e给Rails视图,我无法获得e.rating评级属性的位置.

我怎样才能实现我想要的,即after_find可用的无数据库属性?

谢谢.

activerecord ruby-on-rails

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