小编Bee*_*tty的帖子

如何在模型中调用ApplicationController中定义的方法

我在ApplicationController中定义了方法

class ApplicationController < ActionController::Base
   helper_method :get_active_gateway
   def get_active_gateway(cart)
     cart.account.gateways
   end
end
Run Code Online (Sandbox Code Playgroud)

当我在模型中调用此方法时

class Order < ActiveRecord::Base
   def transfer
     active= get_active_gateway(self.cart)
   end
end
Run Code Online (Sandbox Code Playgroud)

它抛出错误undefined local variable get_active_gateway.

所以我写了

class Order < ActiveRecord::Base
   def transfer
    active= ApplicationContoller.helpers.get_active_gateway(self.cart)
   end
end
Run Code Online (Sandbox Code Playgroud)

然后就是扔了error undefined method nil for Nilclass.

我在Rails 3.2.0中工作.

ruby ruby-on-rails ruby-on-rails-3.2

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

Redis - 无法打开.rdb进行保存:权限被拒绝

我使用的是redis 3.0.6版.redis用户正在运行redis-server进程.

突然从24小时后的5天开始,redis开始无法"打开.rdb进行保存".在此之前它正常工作.

正如您在下面的日志片段中看到的那样,Redis表现正常,然后开始失败.重新启动服务器以后解决了这个问题.

1427:M 24 May 01:09:05.102 * Background saving started by pid 2493    
2493:C 24 May 01:09:34.916 * DB saved on disk
2493:C 24 May 01:09:34.917 * RDB: 310 MB of memory used by copy-on-write
1427:M 24 May 01:09:34.950 * Background saving terminated with success
1427:M 24 May 01:14:35.026 * 10 changes in 300 seconds. Saving...
1427:M 24 May 01:14:35.036 * Background saving started by pid 2494
2494:C 24 May 01:15:04.329 * DB saved on disk
2494:C 24 …
Run Code Online (Sandbox Code Playgroud)

redis

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

基于视图/喜欢/不喜欢的趋势产品

我有一个产品列表,用户可以在其中喜欢和不喜欢该产品。喜欢,不喜欢和查看次数计数存储在 redis 中。

现在,我想根据视图/喜欢和不喜欢获取趋势产品。是否有任何 gem 或 algorthim 。

编辑

存储为product: product_id: followers = [user.id] ie的数据product:4:followers = ["1", "3"]

ruby ruby-on-rails redis

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

标签 统计

redis ×2

ruby ×2

ruby-on-rails ×2

ruby-on-rails-3.2 ×1