Ruby
- Railsで作ったWebアプリに頻繁に繋がらない
RailsでWebアプリを作ったのですが、さくらVPSにて本番環境で公開後、 ブラウザからURLを入力しても繋がらない状態が頻発しています。 しばらくすると繋がるようになるのですが、また時間を置くと繋がらなくなり、 お名前.comの404 Page Not Foundのページが表示されてしまいます。 環境は以下のとおりです。 Rails3、MySQL、Apache、CentOS(さくらVPS)、DNS: お名前.com Apacheのエラーログ(/var/log/httpd/error_log-20120930)を見たところ、 以下のnoticeが繰り返し記録されており、これが怪しいと思うのですが、 ググってもピンと来る解決策が見つからず、詰んでいます。。 [Sun Sep 30 01:48:47 2012] [notice] caught SIGTERM, shutting down (中略) [Sun Sep 30 03:39:02 2012] [notice] SIGHUP received. Attempting to restart シャットダウン --> 再起動を繰り返しているように見えるのですが、 どうすれば良いのでしょうか?? また、他に何か思い当たる原因等ありましたら教えてください。 ちなみに、Railsのlog/production.rbにはGET,POST等の記録が残っているだけで 特に怪しい所は見つかりませんでした。 また、MySQLのログにも特に怪しいところは見つかりませんでした。 以下、Apacheのエラーログの詳細を貼ります。 /var/log/httpd/error_log-20120930: [Sun Sep 30 01:48:47 2012] [notice] caught SIGTERM, shutting down [Sun Sep 30 02:30:01 2012] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec) [Sun Sep 30 02:30:01 2012] [notice] Digest: generating secret for digest authentication ... [Sun Sep 30 02:30:01 2012] [notice] Digest: done [Sun Sep 30 02:30:01 2012] [notice] Apache/2.2.15 (Unix) DAV/2 Phusion_Passenger/3.0.17 configured -- resuming normal operations [Sun Sep 30 02:41:44 2012] [notice] caught SIGTERM, shutting down [Sun Sep 30 02:41:48 2012] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec) [Sun Sep 30 02:41:48 2012] [notice] Digest: generating secret for digest authentication ... [Sun Sep 30 02:41:48 2012] [notice] Digest: done [Sun Sep 30 02:41:48 2012] [notice] Apache/2.2.15 (Unix) DAV/2 Phusion_Passenger/3.0.17 configured -- resuming normal operations [Sun Sep 30 02:48:42 2012] [notice] caught SIGTERM, shutting down [Sun Sep 30 02:48:49 2012] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec) [Sun Sep 30 02:48:49 2012] [notice] Digest: generating secret for digest authentication ... [Sun Sep 30 02:48:49 2012] [notice] Digest: done [Sun Sep 30 02:48:49 2012] [notice] Apache/2.2.15 (Unix) DAV/2 Phusion_Passenger/3.0.17 configured -- resuming normal operations [Sun Sep 30 03:11:45 2012] [notice] caught SIGTERM, shutting down [Sun Sep 30 03:11:49 2012] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec) [Sun Sep 30 03:11:49 2012] [notice] Digest: generating secret for digest authentication ... [Sun Sep 30 03:11:49 2012] [notice] Digest: done [Sun Sep 30 03:11:49 2012] [notice] Apache/2.2.15 (Unix) DAV/2 Phusion_Passenger/3.0.17 configured -- resuming normal operations [Sun Sep 30 03:39:02 2012] [notice] SIGHUP received. Attempting to restart
- 正規表現で英(大小)と数字を必ず1文字ずつ含むこと
ログイン時のパスワードのバリデーションに使う正規表現を模索しています。 言語はrubyです。 環境:ruby1.9、rails3.2、OSはWindows。 チェック内容は以下となります。 ・英字の大文字を必ず1文字は含むこと ・英字の小文字を必ず1文字は含むこと ・数字を必ず1文字は含むこと ・英数文字以外は使えない(記号はすべて不可) ・パスワードの長さは10文字以上20文字以下 自分で考えたコードは以下のようにしています(modelに記述) validates :password, :presence => true, :confirmation => true, :length => { :within => 10..20 }, :format => { :with => /(?=.*\d)(?=.*[a-z])(?=.*[A-Z])/} 英数の大小を考慮しなくてよいのであればできそうなのですが そこが一番のネックとなりうまくいきません。 知恵をお貸し願えたらと思い質問させていただきました。 質問も初めてなので、足りない情報があれば追記いたします。 よろしくお願いいたします。
- 締切済み
- Ruby
- monokuroami
- 回答数1
- facebookのフィードを取得
rubyでfacebookのとあるユーザのフィードを取得したいのですが、titleの文字コードがおかしくなってしまいます。 例えば無印のフィードは以下のURLで取得できますが https://www.facebook.com/feeds/page.php?format=rss20&id=106191702776460 実際にruby(railsのコンソール)で取得するとtitleだけ以下のようになってしまいます。 日本語に直すにはどうしたらいいのでしょうか? url = "https://www.facebook.com/feeds/page.php?format=rss20&id=106191702776460" rss = open(url){ |file| RSS::Parser.parse(file.read) } rss.items.first.title => " 都会のど真ん中にある鎮守の森、明治神宮。\nこの豊かな森が、実は天然林ではないと言うと、驚かれるでしょうか。\n今から90年ちょっと前に人の手で植えた木々が育ってで..."
- 締切済み
- Ruby
- yotsuba222
- 回答数1
- RubyのHTMLパーサーで複数のタグを抽出したい
現在、Rubyを用いて あるWebページから特定のタグの要素を抽出して テキストデータに出力したいと思い、プログラムを書いているのですが、 途中で行き詰ってしまいました。 ちなみにHpricotやNokogiriといったHTMLパーサーを試してみました。 パーサーを使うのは初めてです。 例えば以下のようにHTML文書に抽出したい部分がDIVタグとPタグに囲まれていた場合、 ===================================== ・・・ <div class="content"> <div class="header">不要部分</div> <div class="title">抽出したい文字列1</div> <div class="subtitle">抽出したい文字列2</div> <div class="subtitle">抽出したい文字列3</div> <p class="paragraph">抽出したい文字列4</p> <p class="paragraph">抽出したい文字列5</p> <div class="comment">抽出したい文字列6</div> <div class="footer">不要部分</div> </div> ・・・ ===================================== このHTMLからまずは 抽出したい文字列1 抽出したい文字列2 抽出したい文字列3 抽出したい文字列4 抽出したい文字列5 抽出したい文字列6 といった出力が得たいのです。 プログラムも書いてみました。 ===================================== #ドキュメント全体を取得(dataにはHTMLの文字列が入っている) html = Hpricot(data) #内容部分(contentクラスのdiv)を取得(CSSセレクタで記述) content = html/"div.content" ===================================== ここまでは良いのですが、 そのあと、div要素を取り出すだけであれば headerクラスと、footerクラスを抽出しないように ===================================== (content/"div:not(.header):not(.footer)").each{ |line| puts line.inner_html } ===================================== とすることで、 抽出したい文字列1 抽出したい文字列2 抽出したい文字列3 抽出したい文字列6 が得られますが、pタグをカンマでdivの前に追加して ===================================== (content/"p,div:not(.header):not(.footer)").each{ |line| puts line.inner_html } ===================================== のようにすると、 抽出したい文字列4 抽出したい文字列5 抽出したい文字列1 抽出したい文字列2 抽出したい文字列3 抽出したい文字列6 のように出力されます。 同様にdivの後にpを追加し ===================================== (content/"div:not(.header):not(.footer),p").each{ |line| puts line.inner_text } ===================================== のようにすると 抽出したい文字列1 抽出したい文字列2 抽出したい文字列3 抽出したい文字列6 抽出したい文字列4 抽出したい文字列5 のようになってしまいます。 つまり、複数のタグを指定すると、指定した順序で抽出されるようです。 代わりに子供すべてを列挙するchildのようなものがあるかと、調べてみたのですが、 どうやらそのような書き方はないようです。 複数のタグを含む場合にはHTMLパーサーでは解析できないのでしょうか。 パーサーは抽出時に順番を保証はしてくれないのでしょうか。 あきらめて、正規表現で抽出しようと思いましたが、 ===================================== <div class="comment"> <div class="comment_header">ごちゃごちゃ</div> <div class="comment_body">抽出したい要素6</div> </div> ===================================== などDIVが入れ子となっている場合に、 非常にややこしく感じたので お手上げ状態です。 どのように、解決できるでしょうか。 よろしくお願いします。
- MacRubyでのファイル読み書きができません。
MacRubyを利用してアプリを作っているのですが、ファイルの読み書きができず困っています。 DeployせずにXcode上で実行した時は全く問題なく読み書きできるのですが、Deployするとファイルへのアクセスができませんでした。 io = File.open("akarin.txt") akarin = io.read io.close akarin = NSString.stringWithContentsOfFile("akarin.txt", encoding:NSUTF8StringEncoding, error:error) akarin = `cat akarin.txt` AppDelegateクラスのinitializeで行なっています。 上記の3つの方法で試しましたがすべて無理でした。 上から2つはそもそも起動せず、一番下のは起動しても戻り値は akarin.to_s => "" でした。 書き込みもio.write、system("echo 'akarin' > akarin.txt")で試しましたが無理でした。 ファイルのアクセスにはどこかの設定でなにかの許可がいるのですか? どのように変更すればよいのか教えてください。
- ベストアンサー
- Ruby
- pnly_bubbles
- 回答数1
- インスタンスとオブジェクト
こんばんは。 変数について教えて下さい。 プログラム自体が初めてなので 「たのしい Ruby 第3版」を読んでいます。 ずっとインスタンスとオブジェクトの違いが曖昧なままです。 その本の「クラスとモジュール」という章にて クラスを定義する構文。 インスタンス変数とローカル変数の違いですが、 以下の説明で一部理解できずにつまずいています。 ―――――――――――― @ で始まる変数は インスタンス変数 といいます。 ローカル変数はメソッドごとに異なる変数として扱われますが、 インスタンス変数は同じインスタンス内であれば、 メソッド定義を超えてその値を参照したり、変更したりできます。 なお、初期化されていないインスタンス変数を参照すると nil が得られます。 インスタンス変数は、インスタンスごとに違う値を持つことができます。 またインスタンス変数は、 インスタンスがある間は値を保持しておいて 何度でも利用することができます。 一方、ローカル変数はメソッド呼び出しごとに新しく割り当てられるため、 メソッドから抜けると値を忘れてしまいます。 ―――――――――――― ここで分からないのは、 ・ローカル変数が "メソッドごと" に異なる変数として扱われる ・インスタンス変数は同じ "インスタンス内" であれば、 メソッド定義を超えてその値を参照したり、変更したりできます の部分です。 Webで検索してますが、 プログラミング経験ありを前提で書かれているような。 他の言語も知らないので分からない、そんなページが多いです。 人に聞くからには 自分でも頑張って理解できるように考えますので、 どうか回答よろしくお願いします。
- ベストアンサー
- Ruby
- noname#197548
- 回答数5
- プログラミング ruby について
悩んだ挙句、尋ねる相手もいないため、質問させてください。 テキストエディタに "puts 1+2" として、「calc.rb」と名前をつけて保存。その後コマンド プロンプトで"ruby calc.rb"で実行とすると、"3"と出力するはずのところ、"ruby: No such file or directory -- calc.rb (LoadEroor)"とでます。 何が原因でしょうか? ちなみに、テキストエディタとして、メモ帳 or SciTEを使用。 また、"ruby -v"の実行は、うまく表示されました
- ruby バイナリ入出力について
ruby初心者です。 バイナリファイルを読み込んで、その値を2倍して再びバイナリファイルに書き込む ソースを作りたいのですが、どなたかご教示願えますでしょうか。 以下試行錯誤して作ってみたのですが、このソースだと 例えば31というバイナリデータが62で書かれず、 36、32のasciiコードで保存されてしまいます。。 ----------------------------- BinData = open("in.data") BinData.binmode File.open("out.data", "wb"){|f| while (b = BinData.read(1)) m = b.unpack('C')[0]*2 #取り込んだバイナリデータを整数化して2倍 p sprintf("%x", m) k = format("%x", m) #16進数に変換 f.write(k) end } すみませんが宜しくお願い致します。
- rails gで生成ファイルをgit reset
rails gで生成したファイルがgit resetしても消えません。。 > git commit -a -m "first commit" > rails g controller top index > git reset --hard HEAD resetしたのにindex.html.erbが消えてくれません。。 rails gしたファイルも消して元の状態に戻すには、どうしたらいいのでしょう? railsコマンドを打つ時に(git rmのように)何かしなくてはいけないのでしょうか?
- ruby on rails layout を使用
layoutを使用して、共通のヘッダーフッターを定義しています。 そのファイル内で、javascript_include_tag や、stylesheet_link_tag を行うようですが、 共通のlayoutでそれを行ってしまうと、 ページによって別のjsファイルを追加で読み込むことが出来ないのでは? と思っています。 これは通常どのように解決するのでしょうか? それともページごとにlayoutファイルを用意するような感じに作るのが普通ですか?
- 締切済み
- Ruby
- onakaga-goo
- 回答数1
- エラーが起こる理由を教えていただきたいです
課題で出されたツールを自分で書いてみたんですが、エラーが起こる理由が分からないので教えて頂きたいです。 ↓リンク先に書いてみたスクリプトとエラー内容が書いてあります。 http://ideone.com/pjxA5 課題の内容は、コマンドプロンプトの引数でディレクトリ名を与えて、そのディレクトリにあるファイルやサブディレクトリにあるファイルから拡張子が「.c」「.cpp」のものを再帰的に全て探します。 探した拡張子のファイルの中身に「//」で始まる行(コメント行)があればすべて置換して消すようにする、といった感じの内容になっています。 rubyを始めてそんなに経っておらず分からない事だらけなので、構文が間違ってるなど、エラーが出る理由を教えて頂ければと思います。
- ベストアンサー
- Ruby
- momoiropuccho
- 回答数4
- rubyでコマンドプロンプトを使うとき
rubyのスクリプトをコマンドプロンプトで実行する際に、ディレクトリ名を引数に指定したいと思っています。 その場合記述的には「ruby スクリプト名.rb ディレクトリ名」と書けばよろしいのでしょうか? 例えば「temp」というディレクトリがあり、それを指定したい場合は「ruby スクリプト名.rb temp」と書けば指定できてることになるのでしょうか。 低レベルな質問かもしれませんが、ruby超初心者なので教えて頂ければと思います。
- ベストアンサー
- Ruby
- momoiropuccho
- 回答数1
- CSVに外部テキストファイルを列として追加する方法
こんにちは。 CSVファイル(base.csv)の先頭列に、別のテキストファイル(add.txt)の中身を新規の列として挿入したいと考えているのですが、よい方法がわかりません。。。 どうのような方法を使えば対応することができるでしょうか? どうぞよろしくお願いいたします。 ■CSVファイル(master.csv) title,developer_name,seller_name,primary_genre_name,application_url AAA,BBB,CCC,DDD,EEE AAA,BBB,CCC,DDD,EEE AAA,BBB,CCC,DDD,EEE AAA,BBB,CCC,DDD,EEE ■テキストファイル(add.txt) id 000 111 222 333 ↓ ■目標としたファイル(master.csv) id,title,developer_name,seller_name,primary_genre_name,application_url 000,AAA,BBB,CCC,DDD,EEE 111,AAA,BBB,CCC,DDD,EEE 222,AAA,BBB,CCC,DDD,EEE 333,AAA,BBB,CCC,DDD,EEE
- 締切済み
- Ruby
- seteoceano
- 回答数1
- Rails bootstrapの環境構築について
Ruby on RailsでTwitter bootstrapを使用するための環境構築方法をご教授ください。 【環境】 Windows7 ruby 1.9.2 rails 3.2.3 『Gemfile』の一番下に gem 'twitter-bootstrap-rails' を追記して bundle install を実施すると下記エラーで止まります。 -------------------------------------------------------------------------------- $ bundle install Fetching gem metadata from https://rubygems.org/......... Using rake (0.9.2.2) Using i18n (0.6.0) Using multi_json (1.3.6) Using activesupport (3.2.3) Using builder (3.0.0) Using activemodel (3.2.3) Using erubis (2.7.0) Using journey (1.0.4) Using rack (1.4.1) Using rack-cache (1.2) Using rack-test (0.6.1) Using hike (1.2.1) Using tilt (1.3.3) Using sprockets (2.1.3) Using actionpack (3.2.3) Using mime-types (1.19) Using polyglot (0.3.3) Using treetop (1.4.10) Using mail (2.4.4) Using actionmailer (3.2.3) Using arel (3.0.2) Using tzinfo (0.3.33) Using activerecord (3.2.3) Using activeresource (3.2.3) Using bundler (1.1.5) Using coffee-script-source (1.3.3) Using execjs (1.4.0) Using coffee-script (2.2.0) Using rack-ssl (1.3.2) Using json (1.7.4) Using rdoc (3.12) Using thor (0.14.6) Using railties (3.2.3) Using coffee-rails (3.2.2) Using commonjs (0.2.6) Using jquery-rails (2.0.2) Using less (2.2.1) Using less-rails (2.2.3) Installing libv8 (3.3.10.4) with native extensions Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. c:/Ruby192/bin/ruby.exe extconf.rb *** extconf.rb failed *** Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers. Check the mkmf.log file for more details. You may need configuration options. Provided configuration options: --with-opt-dir --without-opt-dir --with-opt-include --without-opt-include=${opt-dir}/include --with-opt-lib --without-opt-lib=${opt-dir}/lib --with-make-prog --without-make-prog --srcdir=. --curdir --ruby=c:/Ruby192/bin/ruby Checking for Python...Unable to build libv8: Python not found! Gem files will remain installed in c:/Ruby192/lib/ruby/gems/1.9.1/gems/libv8-3.3.10.4 for inspection. Results logged to c:/Ruby192/lib/ruby/gems/1.9.1/gems/libv8-3.3.10.4/ext/libv8/gem_make.ou -------------------------------------------------------------------------------- 自分で調べたところ『libv8』,『therubyracer』が影響している?ようですが、 自環境にlibv8,therubyracerをうまくインストールする事ができません。 こちらを解決したら、Twitterbootstrapが使えるようになるのかもよく分かってません。。。。 結果として、上記環境のRailsでTwitterbootstrapが使えるようにしたいです。 解決策がお分かりの方がいましたら、ご教授をお願い致します。
- gemが読み込めません
こんにちは。Ruby初心者です。 MacOSX 10.7.4 ruby 1.9.3p194(homebrewでインストールしました) Rubyを使ってExcelを読み込もうと、サイトを参考にトライしているのですがどうしてもgemで入れたプログラムを読み込むことができません。 ============================= require "spreadsheet" xls = Spreadsheet.open('./excel.xls','rb') sheet = xls.worksheet(0) cell01 = sheet[0,1] p cell01 ============================= このように書いて実行すると下記のエラーが出ます。 LoadError: no such file to load — spreadsheet method require in excel.rb at line 1 at top level in excel.rb at line 1 おそらくこれはgemをそもそも読み込めていないのだと思います。他のサイトを参考に、require 'rubygems' なども試しましたが、ダメでした。おそらく組み込みだおともうのですが、require 'date'などは読み込みます。 そもそもgem自体があまり良くわかっていないかもしれません。 どうぞよろしくお願いいたします。 Spreadsheetの参考にさせていただいているサイトはこちらです http://doruby.kbmj.com/yuki-Ruby/20091216/Ruby_Excel_
- railsのテンプレートファイル名について
はじめまし.て。 私は今railsの勉強をしています。 そこでかなり初歩的な質問になってしまいますが、エラーになってしまい、 調べても関連の物が出てこないため、質問させていただきます。 現在、rails3.0.15をしようしていまして、 参考書にテンプレートファイルの作成は /app/viewsフォルダはいかに「コントローラ名/アクション名.html.erb」という名前で保存する と記載されております。 ですので、hello/view.html.erbという名前を作成しろと記載されているので、 同じようにしたのですが、そもそも[/]がファイル名として使えないため、 hello/view.html.erbで保存できません。 どうしたらよいでしょうか。 本当に初歩的な質問かもしれませんが、できなくて前に進めません。。。。 どうかご回答よろしくお願いいたします。
- 締切済み
- Ruby
- tomo19860508
- 回答数1
- ruby on railsで開発するときのエディタ
初めまし.て。 今度新しく入社する会社で、ruby on railsを使用した開発を致します。 そこで、現場ではなんというエディタを使うのが一般的なのでしょうか。 私は今まで、サクラエディタと秀丸くらいしか使ったことがありません。 入社前までにエディタの使い方くらいは覚えておきたいので、 railsを会社で使用している方、いらっしゃいましたら、ご回答お願いいたします。
- 締切済み
- Ruby
- tomo19860508
- 回答数2
- ruby 1.9.3のrequireについて
はじめまして。 私は今初めてrubyの勉強をしています。 使用している参考書はたのしいruby第3です。 ruby 1.9.3-P1.9.4でのrequireについて 今回質問させていただく内容としては requireを使用し外部ファイルを読み込もうとするとエラーになってしま.います。 同じディレクトリにファイルを置いています。 ディレクトリ構造として c:\workspaceの中にscopetest.rbとsub.rbをおいております。 scopetest.rb $x = 0 x = 0 require "sub" p $x p x sub.rb $x = 1 x = 1 実行コマンド ruby scopetestr.rb エラー C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- sub (LoadError) from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:i n `require' from scopetest.rb:4:in `<main>' 参考書と同じにやっているのですがエラーがでてしまいます。 初歩的な質問かもしれませんがよろしくおねがいいたします。
- ベストアンサー
- Ruby
- tomo19860508
- 回答数1
- ruby on Railsについて
今度新しい仕事につきます。 そこで使用されているのはruby on Railsだそうです。 ruby on Railsやrubyのことは全くわかりません。 プログラムの経験はphpをかじった程度です。 これから猛勉強をして習得しようと考えています。 そこで質問が3つほどあります。 1.ruby on Rails を勉強するにあたり、rubyの勉強もしないといけないのか。 また、rubyの勉強をしなければいけない場合、rubyとRailsどちらを先に勉強するべきか。 2.なにかよい参考書はあるか。 3.よい勉強方法はあるか お忙しいとは思いますが、ご回答よろしくおねがいします。
- ベストアンサー
- Ruby
- tomo19860508
- 回答数2
- rails の form_forについて
ruby on rails において、form_forヘルパーを用いてデータを取得したいのですが、ユーザー入力だけでなく、システムから計算したデータも入力したいのですが、やりかたがわかりません。 具体的に、blogモデルにpram1,pram2,pram3とあった場合、pram1はユーザーが入力し、pram2には、システムで計算した一週間後の日付を入れて置きたい場合、 controllerで、 @blog = Blog.new blog.save viewで <%= form_for(@blog) do |f|%> ~省略~ <%= submit %> などと、書くと思いますが、どのタイミングで、代入すればよいのですか? できれば、サンプルコードで教えてください。