1 名前:nobodyさん [2007/02/06(火) 20:10:09 ID:nOZh/PU9] Rubyのweb application frameworkである Ruby on Railsに関するスレッドです。 <英語> 本家: www.rubyonrails.org API: api.rubyonrails.com/ Documents&Tutorials: documentation.rubyonrails.com/ <日本語> Rails' wiki: wiki.fdiary.net/rails/ 前スレ 【Agile】Ruby on rails相談所 part2【DRY】 pc10.2ch.net/test/read.cgi/php/1151254378/
88 名前:nobodyさん mailto:sage [2007/03/05(月) 03:32:46 ID:???] まあ今時のウェブアプリはほとんどJS+Flashでバックエンドは何でもいい感じだからな・・
89 名前:nobodyさん mailto:sage [2007/03/05(月) 03:49:59 ID:???] > まあ今時のウェブアプリはほとんどJS+Flashでバックエンドは何でもいい感じだからな・・ K*NT でもおk?
90 名前:nobodyさん mailto:sage [2007/03/07(水) 03:01:42 ID:???] symfony使ってたら、rails使うのが馬鹿らしくなった
91 名前:nobodyさん mailto:sage [2007/03/07(水) 03:06:11 ID:???] php なんかつかうやつはばかです。
92 名前:nobodyさん mailto:sage [2007/03/07(水) 03:51:43 ID:???] こういう書き込みに対するレスポンスは迅速なんだな
93 名前:nobodyさん mailto:sage [2007/03/07(水) 06:32:23 ID:???] まぁPHPだからな。
94 名前:nobodyさん [2007/03/08(木) 04:20:40 ID:J25zk7/S] 質問してもよろしいですか? さくらレンタルサーバでruby on railsを動かそうとして、 ttp://d.hatena.ne.jp/usukey/20070305 にある通り設定しました。 railsプロジェクトを作ると Welcome aboard までは出るのですが、About your application’s environmentをクリックすると、 Application error Rails application failed to start properly" となってしまいます。 ググって見てもあまり情報が無く、サクラサーバで同じような現象になった方がいたら アドバイスを頂きたいのですが、どなたかご存知ないですか??
95 名前:nobodyさん [2007/03/08(木) 04:48:09 ID:J25zk7/S] 94です. dispatch.cgiを動かすと、こんなんでます。。 $ ./dispatch.cgi Status: 400 Bad Request $HOME/local/ruby/gem/gems/activesupport-1.4.1/lib/active_support/dependencies.rb:404:in `to_constant_name': Anonymous modules have no name to be referenced by (ArgumentError) from $HOME/local/ruby/gem/gems/activesupport-1.4.1/lib/active_support/dependencies.rb:214:in `qualified_name_for' from $HOME/local/ruby/gem/gems/activesupport-1.4.1/lib/active_support/dependencies.rb:476:in `const_missing' from $HOME/local/ruby/gem/gems/rails-1.2.2/lib/dispatcher.rb:117:in `reset_after_dispatch' from $HOME/local/ruby/gem/gems/rails-1.2.2/lib/dispatcher.rb:51:in `dispatch' from ./dispatch.cgi:10
96 名前:nobodyさん mailto:sage [2007/03/08(木) 07:51:45 ID:???] >>94 その機能はローカルでしか動かんよ。たしか。
97 名前:nobodyさん mailto:sage [2007/03/08(木) 08:39:38 ID:???] さくらの専用サーバでRails使ってる。 About your application's environmentはリモートから見ようとすると For security purposes, this information is only available to local requests. と出るのが正しい。 とりあえずlog/#{RAILS_ENV}.logには何か出ないの? ところで、漏れもzsh使いだが、なんでそのURLでzshのインストールから 始めてるんだろう。
98 名前:nobodyさん [2007/03/08(木) 08:46:53 ID:J25zk7/S] >97 94です $HOME/logと$HOME/rails/test/logには ~/log $ ls -al total 68 drwxr-xr-x 3 $usr_name users 512 3 8 04:54 ./ drwx---r-x 15 $usr_name users 1024 3 8 04:01 ../ -rw-r--r-- 1 $usr_name users 1342 3 7 04:54 access_log_20070307.gz -rw-r--r-- 1 root users 57985 3 8 04:54 access_log_20070308 -rw-r--r-- 1 $usr_name users 2 3 6 09:19 month drwxr-xr-x 2 $usr_name users 512 3 8 04:54 webalizer/ ~/rails/test/log $ ls -al total 4 drwxr-xr-x 2 $usr_name users 512 3 8 04:09 ./ drwxr-xr-x 14 $usr_name users 512 3 8 04:09 ../ -rw-rw-rw- 1 $usr_name users 0 3 8 04:09 development.log -rw-rw-rw- 1 $usr_name users 0 3 8 04:09 production.log -rw-rw-rw- 1 $usr_name users 0 3 8 04:09 server.log -rw-rw-rw- 1 $usr_name users 0 3 8 04:09 test.log とあり、#{RAILS_ENV}.logは無いらしいのですが、設定どこか間違ってますか?
99 名前:nobodyさん mailto:sage [2007/03/08(木) 08:54:12 ID:???] >>98 えーと、 #{RAILS_ENV}.logと書いたのは、development.logとかproduction.log のこと。 これのサイズがゼロってことは script/serverはリクエストを一度も受け付け ていないはず。 つーか、script/server以外の方法で動かしてたりする? apacheのログはまだ一切関係ないはずだが。
100 名前:nobodyさん [2007/03/08(木) 09:38:41 ID:J25zk7/S] script/serverはやってません。。 動かし方は、ttp://dgames.jp/dan/?date=20060218#p03を参考にしました。 -- hoge/publicの.htaccessを書き換え 下の3行をコメントアウト。 AddHandler fastcgi-script .fcgi AddHandler cgi-script .cgi Options +FollowSymLinks +ExecCGI config/environment.rbを書き換え ファイルの先頭に下の2行を追加。 $LOAD_PATH.push("/home/xxx/ruby/lib/ruby/site_ruby/1.8") $LOAD_PATH.push("/home/xxx/ruby/lib/ruby") ってやってます。。
101 名前:nobodyさん [2007/03/08(木) 09:45:25 ID:J25zk7/S] apacheのログ(~/log/access_log_20070308)には "GET /hoge/rails/info/properties HTTP/1.1" 500 81 "xxx.sakura.ne.jp/hoge/" って出てます。
102 名前:nobodyさん [2007/03/08(木) 09:52:45 ID:J25zk7/S] 101で投稿したのは、apacheのログってだしましたが、あれは違うrailsアプリの500エラーで、今回作成したrailsアプリのログじゃありませんでした。 申し訳ありません。 ですが、、何もしてないのに、Internal Server Errorになっちゃいました。。
103 名前:nobodyさん mailto:sage [2007/03/08(木) 10:04:29 ID:???] じゃあ head -1 public/dispatch.rb は期待どおり?
104 名前:nobodyさん mailto:sage [2007/03/08(木) 10:05:11 ID:???] おっとdispatch.cgiか。
105 名前:nobodyさん [2007/03/08(木) 10:19:57 ID:J25zk7/S] $ head -1 dispatch.cgi #!/usr/local/bin/ruby18 となってます。 /usr/local/bin/ruby18 は存在しているようです。
106 名前:nobodyさん mailto:sage [2007/03/08(木) 13:29:28 ID:???] で、error_logにはなんと出てるの?
107 名前:nobodyさん [2007/03/08(木) 18:58:34 ID:J25zk7/S] error_log はどこにあるんですか? 。。。あーなさけない。。。。。
108 名前:nobodyさん mailto:sage [2007/03/08(木) 19:06:09 ID:???] >>98 にはaccess_logしかなかったのか。 apacheの設定ファイル見て探すしか。
109 名前:nobodyさん [2007/03/08(木) 19:36:26 ID:J25zk7/S] スタンダードプランなので、apacheの設定ファイルは読めないようです。。 /var/log以下もpermission deniedだそうです、、 はーん。
110 名前:nobodyさん mailto:sage [2007/03/08(木) 19:53:35 ID:???] Webminとかで見られないものなのかな。
111 名前:nobodyさん [2007/03/08(木) 22:39:59 ID:J25zk7/S] res遅くなって申し訳ありません。。 どうやらwebminでも見れないようです。 script/serverで動かしたのですが、About your application’s environmentを クリックしたときだと思いますが以下のエラーが出てしまってます。 -- ./script/server:3 Rendering /home/id/lib/ruby/gem/gems/actionpack-1.13.2/lib/action_controller/templates/rescues/layout.rhtml (500 Internal Error) Processing InfoController#properties (for xxx.xxx.xxx.xxx at 2007-03-08 22:34:13) [GET] Session ID: 60e8c627e40afc6bf02bb26355cb6027 Parameters: {"action"=>"properties", "controller"=>"rails/info"} Completed in 0.00101 (994 reqs/sec) | Rendering: 0.00004 (4%) | 500 Internal Server Error [id.sakura.ne.jp/rails/info/properties]
112 名前:nobodyさん [2007/03/08(木) 22:44:05 ID:J25zk7/S] また、dispatch.cgiを動かすとこんなエラーがでてます。 どうしたらよいのでしょうか? #<ArgumentError: Anonymous modules have no name to be referenced by> [ "/home/id/lib/ruby/gem/gems/activesupport-1.4.1/lib/active_support/dependencies.rb:404:in `to_constant_name'", "/home/id/lib/ruby/gem/gems/activesupport-1.4.1/lib/active_support/dependencies.rb:214:in `qualified_name_for'", "/home/id/lib/ruby/gem/gems/activesupport-1.4.1/lib/active_support/dependencies.rb:476:in `const_missing'", "/home/id/lib/ruby/gem/gems/rails-1.2.2/lib/dispatcher.rb:117:in `reset_after_dispatch'", "/home/id/lib/ruby/gem/gems/rails-1.2.2/lib/dispatcher.rb:51:in `dispatch'", "/home/id/lib/ruby/gem/gems/rails-1.2.2/lib/webrick_server.rb:113:in `handle_dispatch'", "/home/id/lib/ruby/gem/gems/rails-1.2.2/lib/webrick_server.rb:79:in `service'", "/home/id/lib/ruby/lib/ruby/1.8/webrick/httpserver.rb:104:in `service'", "/home/id/lib/ruby/lib/ruby/1.8/webrick/httpserver.rb:65:in `run'", "/home/id/lib/ruby/lib/ruby/1.8/webrick/server.rb:173:in `start_thread'", "/home/id/lib/ruby/lib/ruby/1.8/webrick/server.rb:162:in `start'", "/home/id/lib/ruby/lib/ruby/1.8/webrick/server.rb:162:in `start_thread'",
113 名前:nobodyさん [2007/03/08(木) 22:45:27 ID:J25zk7/S] "/home/id/lib/ruby/lib/ruby/1.8/webrick/server.rb:95:in `start'", "/home/id/lib/ruby/lib/ruby/1.8/webrick/server.rb:92:in `each'", "/home/id/lib/ruby/lib/ruby/1.8/webrick/server.rb:92:in `start'", "/home/id/lib/ruby/lib/ruby/1.8/webrick/server.rb:23:in `start'", "/home/id/lib/ruby/lib/ruby/1.8/webrick/server.rb:82:in `start'", "/home/id/lib/ruby/gem/gems/rails-1.2.2/lib/webrick_server.rb:63:in `dispatch'", "/home/id/lib/ruby/gem/gems/rails-1.2.2/lib/commands/servers/webrick.rb:59", "/home/id/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require'", "/home/id/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require'", "/home/id/lib/ruby/gem/gems/activesupport-1.4.1/lib/active_support/dependencies.rb:495:in `require'", "/home/id/lib/ruby/gem/gems/activesupport-1.4.1/lib/active_support/dependencies.rb:342:in `new_constants_in'", "/home/id/lib/ruby/gem/gems/activesupport-1.4.1/lib/active_support/dependencies.rb:495:in `require'", "/home/id/lib/ruby/gem/gems/rails-1.2.2/lib/commands/server.rb:39", "/home/id/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require'", "/home/id/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require'", "../script/server:3"]
114 名前:nobodyさん mailto:sage [2007/03/09(金) 07:28:44 ID:???] app/controllers/application.rb module ApplicationController < ActionController::Base def local_request? [ "127.0.0.1", "自宅のIPアドレス" ].include?(request.remote_ip) # 単にtrueでもOK end end とかして家からのアクセスでもエラーが出るようにしたら、 なんか出ないかねぇ。 「以下のエラー」ってのは画面に出たもの? log/development.logには何もでないのかね。 ログがゴチャゴチャしてきたら一度 rake log:clear オススメ。
115 名前:nobodyさん mailto:sage [2007/03/09(金) 07:30:03 ID:???] ×module ApplicationController ... ○class ApplicationController ...
116 名前:75 mailto:sage [2007/03/09(金) 21:38:21 ID:???] >>76 [] を入れることによって、自動的にインデックスをつけたいんだけど、 [] が効力を発揮してないと思われるんですわ。 rails 1.2 だと直ってるっぽいんだけど。1.2 に移行するしかないのか。
117 名前:nobodyさん mailto:sage [2007/03/10(土) 03:38:46 ID:???] RadRailsってどこがRadなの?
118 名前:nobodyさん mailto:sage [2007/03/10(土) 11:06:32 ID:???] >>117 まぁRails自体がRADだと言えなくもないからな。
119 名前:nobodyさん mailto:sage [2007/03/11(日) 02:15:54 ID:???] だったらtgのがよっぽどRADだけどね
120 名前:nobodyさん mailto:sage [2007/03/12(月) 02:38:42 ID:???] LoginEngine Pluginを導入したいのだけど、どうしてもうまくいかない。 LogineEngine/Engine ファイル群をpluginsディレクトリに配置して、 environment.rb, application.rb、applicationHelper.rbを編集した後に rake db:migrate:engines:login_engine を実行すると rake aborted! Don't know how to build task 'db:migrate:engines:login_engine' で失敗。何かヒントを持っている人いませんか?
121 名前:nobodyさん mailto:sage [2007/03/12(月) 09:50:23 ID:???] 同じように入力してハマってる人どこかで見たな。 vender/plugins/login_engine/READMEを見てみてるといいよ。 その次の関門のヒントは、Rails1.2 + Engines1.2だ。
122 名前:nobodyさん mailto:sage [2007/03/13(火) 02:01:52 ID:???] みんなスペックどんくらいのPCでRailsしてるん? script/consoleとかgenerate migrateとか結構な時間待たされない?20秒とか。 うちはPenM1.2/Mem1Gのノートなんだけど、、、、せっかちなだけかなぁ。 ちょと気になったから書いてみた
123 名前:nobodyさん mailto:sage [2007/03/13(火) 02:38:54 ID:???] せっかちなだけ。 一息ついて水でも飲め。
124 名前:nobodyさん mailto:sage [2007/03/13(火) 02:45:29 ID:???] Core2Duo/メモリ2Gで、一呼吸あって起動する感じ。
125 名前:nobodyさん mailto:sage [2007/03/13(火) 09:40:25 ID:???] Pentium III 800MHz 128MB RAMのマシンでやってるが、 アールグレイとスコーンを食べながらまったりしながらやってるよ。
126 名前:122 mailto:sage [2007/03/14(水) 01:47:59 ID:???] おk。わかった。水とスコーン買ってくるわ。
127 名前:nobodyさん mailto:sage [2007/03/14(水) 05:02:10 ID:???] >>126 そんなものより、もうワンランク上のPC買って来い
128 名前:nobodyさん mailto:sage [2007/03/14(水) 17:28:18 ID:???] >>126 湖池屋のを買ってくるんじゃねーぞ
129 名前:nobodyさん mailto:sage [2007/03/14(水) 21:25:35 ID:???] さて、RadRailsの鯖djわけだが 今後はもう ttp://www.aptana.com/blog/?p=93?diff=y こっちでしかヤラネってこと?
130 名前:120 mailto:sage [2007/03/15(木) 00:53:36 ID:???] >>121 結局、1.2ではEngineは使えないと見なして、捨てることにしました。
131 名前:nobodyさん [2007/03/17(土) 02:28:16 ID:99ZI4xV2] upload_progress プラグインが1.2でうごかない。。。。 しょうがないからmongrel_upload_progressプラグインつかったけど、これ大丈夫なのかなぁ。
132 名前:nobodyさん [2007/03/17(土) 10:18:11 ID:IM4PoT/S] 200人が単に「入室」しただけでパンクするRuby厨の梅田チャット部屋 blog.japan.cnet.com/kenn/archives/003556.html 今日の午前11:00からリベンジやるそうなので、またパンクさせようぜ。 www.lingr.com/room/jtpa-umeda ただ入室しているだけでOKだ。
133 名前:nobodyさん mailto:sage [2007/03/17(土) 10:45:20 ID:???] あんな贅沢なハード使ってて、そういう結果なの?
134 名前:nobodyさん mailto:sage [2007/03/17(土) 18:14:54 ID:???] それが、Rubyの性能。
135 名前:nobodyさん mailto:sage [2007/03/18(日) 08:19:03 ID:???] RoR のアプリって重すぎw
136 名前:nobodyさん mailto:sage [2007/03/18(日) 15:14:34 ID:???] rails作った人って、ひょっとしてJavaで開発してたときも TextMateで作ってたんじゃないの? Railsやってみても、開発環境揃ったJava製FWより圧倒的に いい感じはそんなにないんだけど…
137 名前:nobodyさん mailto:sage [2007/03/18(日) 16:00:56 ID:???] Java のフレームワークに十分慣れていて困ってないなら Rails 使うこともないんじゃない。
138 名前:nobodyさん mailto:sage [2007/03/19(月) 07:01:46 ID:???] >>136 「開発環境揃ったJava製FW」とやらを具体的に説明しない限り誰も相手にしてくれない
139 名前:nobodyさん mailto:sage [2007/03/19(月) 18:21:54 ID:???] IDEを使えば書くのはそんなに大変じゃないけど、 読むのは面倒って印象があるけどね Java
140 名前:nobodyさん mailto:sage [2007/03/20(火) 01:49:37 ID:???] むしろ読む方が楽じゃね?
141 名前:nobodyさん mailto:sage [2007/03/20(火) 02:27:00 ID:???] 相手にしてくれないといいつつ、 しっかり釣られてる>>138
142 名前:nobodyさん mailto:sage [2007/03/20(火) 19:23:55 ID:???] すみませんが、質問です。 rhtmlファイル(ERb)で、Rubyコードを含んだコードをコメントアウトするには、 どのように書けばよいでしょうか? <!-- --> だとRubyコードが実行されてしまうと思います。
143 名前:nobodyさん mailto:sage [2007/03/20(火) 19:25:46 ID:???] <%# ... %>
144 名前:nobodyさん mailto:sage [2007/03/20(火) 19:27:15 ID:???] どーしてマニュアルを読まないんだろうか
145 名前:142 mailto:sage [2007/03/20(火) 20:18:03 ID:???] >>143 > <%# ... %> ありがとうございます。 >>144 > どーしてマニュアルを読まないんだろうか 恥ずかしながら、マニュアルがどこにあるのか、見つけられないのです。 本を片手に試行錯誤している段階です。 コメントアウトを記述しているページは、以下の一つしかまだ見つけていません。 jp.rubyist.net/magazine/?0017-BundledLibraries
146 名前:nobodyさん mailto:sage [2007/03/20(火) 20:55:14 ID:???] $ ri ERB <snip> Recognized Tags --------------- <snip> <% Ruby code -- inline with output %> <%= Ruby expression -- replace with result %> <%# comment -- ignored -- useful in testing %> <snip> と出た。
147 名前:142 mailto:sage [2007/03/20(火) 21:38:54 ID:???] >>146 ありがとうございます。マニュアルって、riコマンドのことでしたか。 www.ruby-doc.org/stdlib/libdoc/erb/rdoc/classes/ERB.html www.ruby-lang.org/ja/man/?cmd=view;name=ERB 日本語のマニュアルには載っていないようです。ちょっとショックです。
148 名前:nobodyさん mailto:sage [2007/03/20(火) 22:25:43 ID:???] まぁ、ここを見ろというのも酷だよな。 wiki.modruby.net/ja/?eRubySyntax 厳密にはeRubyであってerb(ErbLight)ではないし。
149 名前:nobodyさん mailto:sage [2007/03/20(火) 23:35:41 ID:???] RubyCookBookついに翻訳が終わって来月出るみたいだね
150 名前:nobodyさん mailto:sage [2007/03/22(木) 14:47:08 ID:???] ソースクレ
151 名前:nobodyさん mailto:sage [2007/03/23(金) 02:09:45 ID:???] >>150 149のか? オライリーのMLで来月の発売予定に入ってたよ。
152 名前:nobodyさん mailto:sage [2007/03/29(木) 17:19:04 ID:???] ruby は一通り使えるつもりですが、 rails はもちろんサーバーサイドも初めてな私に、 オススメの書籍があれば教えていただけないでしょうか?
153 名前:nobodyさん mailto:sage [2007/03/29(木) 21:26:58 ID:???] はじめてのRuby on Rails
154 名前:nobodyさん mailto:sage [2007/03/29(木) 21:55:46 ID:???] >>152 オーム社の「RailsによるアジャイルWebアプリケーション開発」 って本で今勉強中。 最初に秀和システムの「Ruby on Rails入門」というのを買ったんだけど よく解らなかったので。
155 名前:nobodyさん mailto:sage [2007/03/29(木) 22:08:12 ID:???] 秀和のってことは舞波本か。 アレは分かってる人向けの本だな。 「RailsによるアジャイルWebアプリケーション開発」通称ADWwR DHH(Rails作者)による本。監訳は前田修吾氏。 あたりまえだが網羅的。 「はじめようRuby on Rails」 かずひこ氏他著。 テストファーストで作っていく。 「ライド・オン・Rails」 配備周りを詳しく書いてある。 「かんたんRuby on Rails」 ステップ・バイ・ステップでコードの解説が詳しい。 もう1〜2冊あったと思う。
156 名前:nobodyさん mailto:sage [2007/03/29(木) 22:37:58 ID:???] PerlやPHPとかで既にサーバサイドプログラミングしている人なら舞波本お薦め。 Railsによる云々を最初に読んだんだがもどかしくてかなわん。
157 名前:152 mailto:sage [2007/03/30(金) 00:16:02 ID:???] みなさんレスありがとうございました。 「Ruby on Rails入門」がダメなことは分かりましたw 「RailsによるアジャイルWebアプリケーション開発」は高いけど良さそうで、 「かんたんRuby on Rails」は安くて簡単そうなので、 このふたつを中心に明日本屋で立ち読みして 良さそうな方を買ってこようかと思います。
158 名前:nobodyさん mailto:sage [2007/03/30(金) 00:58:53 ID:???] ActiveSupportやセキュリティについていちばん詳しく書いてるのは 舞波本だったと思うが、「1冊目」には選ばない方がいいかなぁ。
159 名前:nobodyさん mailto:sage [2007/03/30(金) 01:08:55 ID:???] いや、全部買えよ
160 名前:nobodyさん mailto:sage [2007/03/30(金) 02:33:47 ID:???] RubyもWebプログラミングも初めての人は どれを読めばいいですか?
161 名前:nobodyさん mailto:sage [2007/03/30(金) 02:55:04 ID:???] >>160 まず Rails を知りたいなら「はじめよう Ruby on Rails」かなぁ。 実際に手を動かして感覚を掴め。 しかるのちに「プログラミング Ruby 第二版」の言語編、ライブラリ編を 辞書代りにしつつ「たのしい Ruby」とか「はじめてのプログラミング」とか。 本を読む場合は以上のような感じがいいかな、と思うけどwebで勉強するなら るびま読破がおすすめ。内容はバラバラだけど記事のレベルは高い。 ちなみに他言語の経験はあるのか?webじゃないプログラミング経験。
162 名前:nobodyさん mailto:sage [2007/04/02(月) 17:30:31 ID:???] ttp://wiki.rubyonrails.com/rails Webの情報はここを適当に流せば他は rdoc だけあればまず大丈夫でしょう。 リファレンスマニュアルが頼りになるのはとても助かる。
163 名前:nobodyさん mailto:sage [2007/04/02(月) 21:45:26 ID:???] リファレンスマニュアルは、ローカルにgem_server走らせて 見られるのも便利だな。
164 名前:nobodyさん mailto:sage [2007/04/04(水) 19:31:36 ID:???] リモートのLinuxサーバにMongrel入れてちゃんと動いてるかどうかの確認をしたいのですが、 RailsのWelcome Aboard 画面で「About your application’s environment」を リモート環境から参照する方法ってありませんかね…?
165 名前:nobodyさん mailto:sage [2007/04/04(水) 20:12:44 ID:???] すみませんが、質問です。 ActiveRecordでオブジェクトのデフォルト値を設定する方法はありませんか? DBのテーブル定義のカラム初期値を取得してくれるのかと想像していたのです が、そうではなかったようです。
166 名前:nobodyさん mailto:sage [2007/04/04(水) 22:27:21 ID:???] >>164 Rails::InfoController#local_request?が常にtrueを返すように再定義 すればいいのかと思ったが、どうもうまく書けない。 とりあえず、mongrelで動いているかどうかだけなら、 $ telnet WEBサーバ名 80 HEAD / HTTP/1.1 Host: アクセスする際のWEBサーバ名(バーチャルサーバのときなど) (改行2回) で、Server: 行を見ればわかるだろう。
167 名前:nobodyさん mailto:sage [2007/04/04(水) 22:39:13 ID:???] >164 どーやってサーバーあげてんの? 大体の場合ログ見ればわかるよ。
168 名前:nobodyさん mailto:sage [2007/04/04(水) 23:25:28 ID:???] >>165 $ rails zoo -d sqlite3 $ ./script/generate model Animal class CreateAnimals < ActiveRecord::Migration def self.up create_table :animals do |t| t.column :name, :string t.column :leg, :integer, :default => 4 end end end $ rake db:migrate $ ./script/runner 'puts Animal.new.leg' 4 とかいう結果になったぜ。 sqlite> .dump 'animals' BEGIN TRANSACTION; CREATE TABLE animals ("id" INTEGER PRIMARY KEY NOT NULL, "name" varchar(255) DEFAULT NULL, "leg" integer DEFAULT 4); COMMIT;
169 名前:165 mailto:sage [2007/04/05(木) 17:13:42 ID:???] >>168 ありがとうございます。こちらも、TINYINTだとそのように動作しました。 数値だとうまく行くのかもしれません。 VARCHARだとうまく行かないのですが、いかがでしょうか? ちなみにDBはMySQL5.0です。たぶん関係ないと思いますが。
170 名前:nobodyさん mailto:sage [2007/04/05(木) 21:26:04 ID:???] >>168 の例で t.column :name, :string, :default => 'No Name' としたバージョンを作ってみた。 $ ./script/runner 'p Animal.new.attributes' {"name"=>"No Name", "leg"=>4} sqlite> .dump 'animals' BEGIN TRANSACTION; CREATE TABLE animals ("id" INTEGER PRIMARY KEY NOT NULL, "name" varchar(255) DEFAULT 'No Name', "leg" integer DEFAULT 4); COMMIT; となったぜ。DB依存なんだろうか。 $ sqlite3 -version 3.3.8 $ rails -v Rails 1.2.3 $ ruby 1.8.6 (2007-03-13 patchlevel 0) [i386-darwin] $ uname -v Darwin Kernel Version 8.9.1: Thu Feb 22 20:55:00 PST 2007; root:xnu-792.18.15~1/RELEASE_I386 AR-1.15.3/lib/active_record/connection_adapters/mysql_adapter.rb にこんなコメントがあるんだけど英文の意味がよーわからんです。 # MySQL misreports NOT NULL column default when none is given. # We can't detect this for columns which may have a legitimate '' # default (string, text, binary) but we can for others (integer, # datetime, boolean, and the rest). # # Test whether the column has default '', is not null, and is not # a type allowing default ''.
171 名前:nobodyさん mailto:sage [2007/04/05(木) 23:03:14 ID:???] >>170 「NOT NULLかつデフォルトが空文字列('')かつ テキスト系の型っていう場合はMySQLでは 正しくデフォルト値を検知できねーんだよウワアアン」 っていう感じじゃないだろうか そこのコードはその3つの条件をチェックしたbooleanを返して 真だったらカラムのデフォルト値が強制的にnilになるようになっている
172 名前:nobodyさん mailto:sage [2007/04/06(金) 17:31:55 ID:???] すみませんが、質問です。 Emacs で rails.el を使うと、C-c C-c l でログを表示できます。 末尾10行(tail)が表示され、エスケープシーケンスによる色付けにも 対応しています。 この表示行数を変更するにはどうしたらよいでしょうか? これを規定する変数がどこかにあると思うのですが。
173 名前:nobodyさん mailto:sage [2007/04/06(金) 21:26:32 ID:???] rails-log.elで (start-process "tail" buffer "tail" "-f" (rails-core:file (concat "log/" log-file))) とあるが、これが使われているのなら、tailのデフォルト値である 10がそのまま使われていることになりますな。
174 名前:172 mailto:sage [2007/04/07(土) 02:12:21 ID:???] >>173 ありがとうございます。そうでしたか、残念。 何とか修正しようと見よう見まねでコードをいじってみましたが、失敗しました。
175 名前:nobodyさん mailto:sage [2007/04/07(土) 12:01:43 ID:???] >>174 最近emacs使ってないし入れてもいないんだけど、 こんな感じで対応できたりする? --- rails-log.el (リビジョン 169) +++ rails-log.el (作業コピー) @@ -27,6 +27,7 @@ ;;; Code: (defvar rails-log:last-log nil) +(defvar rails-log:lines-to-follow 10 "*Number of lines to follow by tail") (defun rails-log:files () (directory-files (rails-core:file "log") nil "¥¥.log$")) @@ -48,6 +49,7 @@ (start-process "tail" buffer "tail" + "-n" (number-to-string (or rails-log:lines-to-follow 10)) "-f" (rails-core:file (concat "log/" log-file))))) (defun rails-log:open (log-file)
176 名前:nobodyさん mailto:sage [2007/04/08(日) 08:20:16 ID:???] RailsというかARなんだけど、あるsaveだけ例外的に updated_atが自動更新されるのを防ぎたいんだけど どうやったら良いですか?
177 名前:nobodyさん mailto:sage [2007/04/08(日) 09:27:07 ID:???] >>176 方法1: クラス単位ながら record_timestamps = true/falseで制御できるので save の度にこれを切り替える。 方法2: updateが、updated_without_tmestampsだけを呼ぶように、 特異メソッド定義をする。(cf. AR/lib/active_record/timestamp.rb) あたりでどうか。
178 名前:nobodyさん mailto:sage [2007/04/08(日) 09:27:51 ID:???] typo. updated_without_timestamps→ update_without_timestamps
179 名前:nobodyさん mailto:sage [2007/04/08(日) 10:46:47 ID:???] >>176-177 おぉ激しくサンクス。 方法1であっさりできました。 ググってもなかなか見つからなかったので..
180 名前:nobodyさん [2007/04/09(月) 11:12:11 ID:znqt2L3W] すみません、 date_select で年の範囲を指定(増やす)したいのですが、 いい方法はありませんか?何個かあるので個別にでなくまとめて できればいいんですが・・・。 さっきから検索してますが、なかなかみつかりません。 おねがいします!
181 名前:nobodyさん mailto:sage [2007/04/09(月) 11:35:30 ID:???] ApplicationHelperにでもヘルパメソッドつくって そんなかでdate_selectを定義して呼びだせばいいんじゃまいか?
182 名前:nobodyさん mailto:sage [2007/04/09(月) 11:37:09 ID:???] >>181 >date_selectを定義して date_selectを呼ぶように定義して
183 名前:nobodyさん mailto:sage [2007/04/09(月) 11:48:01 ID:???] ありがとうございます。 初心者なのでなかなかわからないことばかりなのですが、 ヒントをいただいたのでもうちょっとがんばってみたいと思います。
184 名前:172 mailto:sage [2007/04/09(月) 18:42:20 ID:???] >>175 遅レスですみませんが、今試したところ、うまく行きました! setvar rails-log:lines-to-follow 100 で100行の表示になります! 本当に便利になりました。ありがとうございます!
185 名前:nobodyさん mailto:sage [2007/04/09(月) 23:29:39 ID:???] すみませんが、質問です。 2つのテーブルがあります。それぞれa, b とします。どちらのテーブルも定義 は同じで、 id, user_id1, user_id2 となっています。 テーブルaのレコードのうち、user_id1 と user_id2 の組み合わせが、テーブ ルbに含まれないものを取り出したいのですが、どのように指定したらよいでしょ うか?SQLを書く以外に方法を思いつかなくて、困っています。教えていただけ ないでしょうか? なお、他にuserテーブルもあって、 id, name という定義になっています。このidが、aとbのuser_id1, user_id2に収められ ています。
186 名前:nobodyさん mailto:sage [2007/04/09(月) 23:40:40 ID:???] whereで普通に絞り込めると思うけど、 同じスキーマのテーブルが2つあるって。。 テーブル設計やり直した方がいいとおも
187 名前:185 mailto:sage [2007/04/10(火) 00:06:52 ID:???] 残念ながら、私には絞り込めませんでした。 両方に含まれるものを取るなら簡単ですが、 aには含まれ、bには含まれないというものを指定する方法が分からないのです。
188 名前:185 mailto:sage [2007/04/10(火) 00:14:04 ID:???] 補足ですが、a, b は実際には同じ定義ではありません。質問の簡単のために省 略しましたが、それぞれ他のカラムも持っています。 これらのテーブルは実際のところ、user_id1, user_id2 の二つを主キーとする 複合キーに近いのです。aはトランザクションテーブルであり、bは2ユーザの禁 止された組み合わせを保持するマスタだとお考えください。 もっと良いテーブル定義があるなら、それもお教えいただければ大変助かりま す。