小编Gle*_*sky的帖子

update_all失败后会发生什么?

RoR中有update_all方法

如果update_all失败,它会返回什么?它会引发异常吗?

例如:

ActiveRecord::Base.transaction do
  users = User.active
  users.update_all avatar: 'blablablb'
end
Run Code Online (Sandbox Code Playgroud)

activerecord ruby-on-rails

11
推荐指数
1
解决办法
3299
查看次数

渲染后如何调用方法?

渲染页面后,我需要在远程服务上做请求

我的控制器:

after_filter :remote_action, only: :update

def update
  @res = MyService.do_action foo, bar
  return render json: @res[:json], status: @res[:status] unless @res[:success]
end

def remote_action
  # There is remote http request
end
Run Code Online (Sandbox Code Playgroud)

我需要在渲染页面后调用remote_action方法

ruby ruby-on-rails ruby-on-rails-4

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

潜望镜消费者的关键和秘密

我正在通过封闭的潜望镜 api 登录.我正在https://api.periscope.tv/api/v2/loginTwitter发出POST请求

请求正文

{
    "bundle_id": "com.bountylabs.periscope",
    "phone_number": "",
    "session_key": "<twitter_user_oauth_key>",
    "session_secret": "<twitter_user_oauth_secret>",
    "user_id": "<twitter_user_id>",
    "user_name": "<twitter_user_name>",
    "vendor_id": "81EA8A9B-2950-40CD-9365-40535404DDE4"
}
Run Code Online (Sandbox Code Playgroud)

什么是twitter_user_oauth_key和twitter_user_oauth_secret?如何获得潜望镜消费者密钥和消费者秘密?

api twitter-oauth

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

Rails 嵌套事务

我正在尝试制作 rails 应用程序,但我遇到了这个问题。我有嵌套事务,虽然它们一直在工作。但是,我发现它们不能正常工作。

这是用户服务

    class UserService
    def self.reduce_balance!(user, delta, attachmentable)
      ActiveRecord::Base.transaction do
        user.balance.amount -= delta
        balance_decrease = BalanceDecrease.new(user: user, attachmentable: attachmentable, balance_before: user.balance.amount_was, amount: delta)
        user.balance.save!
        balance_decrease.save!
      end
      return true
    end
    end
Run Code Online (Sandbox Code Playgroud)

有游戏服务

    class GameService
      def self.take_spot(user, spot)
        if UserService.have_enough_money? user, game.spot_price
          begin
            ActiveRecord::Base.transaction do
              spot.free = false
              spot.user = user
              spot.save!
              UserService.reduce_balance!(user, game.spot_price, spot)
              return res = {success: true, json: spot, status: 200}
            end
          rescue => e
            return res = {json: {error: 1, error_message: "Something gone wrong"}, status: 500} …
Run Code Online (Sandbox Code Playgroud)

database postgresql transactions ruby-on-rails ruby-on-rails-4

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

Rails 5 Capistrano资产

我正在使用Rails 5 API Only应用程序。当我尝试部署此应用程序时出现错误

Tasks: TOP => deploy:assets:precompile
(See full trace by running task with --trace)
The deploy has failed with an error: Exception while executing as deploy@xxx.xxx.xxx: rake exit status: 1
rake stdout: Nothing written
rake stderr: rake aborted!
Don't know how to build task 'assets:precompile' (see --tasks)
/home/deploy/applications/myrento/shared/bundle/ruby/2.3.0/gems/rake-11.2.2/exe/rake:27:in `<top (required)>'
/home/deploy/.rbenv/versions/2.3.1/bin/bundle:23:in `load'
/home/deploy/.rbenv/versions/2.3.1/bin/bundle:23:in `<main>'
(See full trace by running task with --trace)
Run Code Online (Sandbox Code Playgroud)

如何关闭deploy:assets:precompile任务?

这是我的Capfile

require "capistrano/setup" 
require "capistrano/deploy" 
require "capistrano/rbenv" 
require "capistrano" 
require "capistrano/rails" 
require "capistrano/bundler" 
require …
Run Code Online (Sandbox Code Playgroud)

capistrano ruby-on-rails

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

如何只制作正整数字段?

我有 posqtresql 数据库。并且表中有一个整数字段。如何使它只具有积极意义?不在 Rails 验证中。我需要在迁移文件中进行

postgresql ruby-on-rails

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