0

データベースを使用せずに、一度に 1 人のユーザーのみにアクションを制限したいという奇妙な状況がありますか?

助けてくれてありがとう。

4

2 に答える 2

1
require FileUtils
def lockable_action
  if File.exists? "/tmp/lock"
     # sorry, I'm locked
  else
     File.open("/tmp/lock","w") {|f| f.write("1")
     # do your thing
     FileUtils.rm "/tmp/lock"
  end
endk
于 2012-04-24T14:00:44.090 に答える
1

おそらく、クラス変数を使用できます。クラス変数は、1 つのインスタンスだけでなく、クラスのすべてのインスタンスで同じです。

def do_something
  if @@locked
    render text: "Sorry, somebody else working here."
  else
    @@locked = true

    # do the stuff you need to do here

    @@locked = false
  end
end
于 2012-04-24T13:55:14.460 に答える