小编agr*_*eif的帖子

Rails事务:哪个ActiveRecord模型类重要?

当我有2个对象保存在事务中时

a = A.new(...)  
b = B.new(...)
Run Code Online (Sandbox Code Playgroud)

我调用事务方法的模型类是否重要?

A.transaction do
  a.save
  b.save
end
Run Code Online (Sandbox Code Playgroud)

要么

B.transaction do
  a.save
  b.save
end
Run Code Online (Sandbox Code Playgroud)

IMNO都使用相同的db事务,因为ActiveRecord只能处理一个连接,因此它无关紧要.那是对的吗?

谢谢,亚历克斯.

transactions ruby-on-rails

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

Bundler忽略rails应用程序中的组

这个问题在0.9.8中得到修复,但似乎在1.x分支中再次出现.

在我的Gemfile中,我有一组用于使用rspec gems的测试和开发环境.在我的生产服务器上没有安装rspec.我bundle install --without test development在rails应用程序中使用了该命令

在生产模式下启动我的rails应用程序会出现异常:

无法在Gemfile中列出的任何gem源中找到gem'rspec(> = 0)'.

如果我注释掉测试组,则开发组会发生同样的错误.

如果我在开发模式下启动,则会出现同样的问题,然后它会尝试在测试组中加载gem.

似乎bundler完全忽略了环境组并尝试在Gemfile中加载所有gem:

    group :test do
      gem "rspec"
    end

    group :development do
      gem "rspec-rails"
    end


  versions:
  bundle 1.0.15
  rails 3.0.7
  ruby 1.9.2-p180
Run Code Online (Sandbox Code Playgroud)

bundle ruby-on-rails-3

10
推荐指数
1
解决办法
929
查看次数

在 purescript 中加载外部 javascript 文件

如何在 Pure-Script 中加载外部 JavaScript 文件?

外部导入语句都内联 javascript 代码,但我想从外部文件加载它们。

purescript

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

haskell state monad的功能和论证

如果一个函数及其参数(也是一个函数)都改变了状态,我对状态monad的用法有疑问.

这里是简短信息:
函数foo更改状态
函数bar更改状态

我想打电话:

foo bar
Run Code Online (Sandbox Code Playgroud)

如果我bar单独打电话,状态设置为"bar"
如果我打电话foo bar然后状态只是"foo"而不是"foobar",所以似乎bar没有改变状态,我不明白为什么.

任何澄清表示赞赏.

这是完整的代码:

module Main where

import Control.Monad.State

main :: IO ()
main = do
  a <- execStateT test1 ""
  print a
  a <- execStateT test2 ""
  print a

type MyState = String
type MyStateMonadT = StateT MyState IO

test1 :: MyStateMonadT ()
test1 = do
  bar
  return ()

test2 :: MyStateMonadT ()
test2 = do
  foo bar
  return ()

data …
Run Code Online (Sandbox Code Playgroud)

haskell state-monad

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