トップページ⇒php
993コメント316KB

【Ruby】Ruby on Rails Part3

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2007/02/06(火) 20:10:09ID:nOZh/PU9
Rubyのweb application frameworkである
Ruby on Railsに関するスレッドです。

<英語>
本家: http://www.rubyonrails.org
API: http://api.rubyonrails.com/
Documents&Tutorials: http://documentation.rubyonrails.com/

<日本語>
Rails' wiki: http://wiki.fdiary.net/rails/


前スレ
【Agile】Ruby on rails相談所 part2【DRY】
http://pc10.2ch.net/test/read.cgi/php/1151254378/
0079nobodyさん2007/03/01(木) 18:00:29ID:???
singletonとIOの同期に何の関係があるのかよくわからない。
0080nobodyさん2007/03/01(木) 18:14:38ID:???
いわゆるシングルトンならRubyでもインスタンスはプロセス内で1つだけ。
文法にはスレッドの同期はない。
Mutexを使うらし。
ttp://www2.ruby-lang.org/ja/20020315.html
0081nobodyさん2007/03/01(木) 18:54:42ID:???
>>78
プロセス内では一つだけだけど、
普通 mod_ruby とか fcgi を使うと複数プロセスになるので注意。
そうなると Mutex とか使えない。
0082nobodyさん2007/03/01(木) 20:49:36ID:???
>>78
「読むだけ」ならどれだけ同時に読んでも問題ない気がするけど違うのかな。
0083nobodyさん2007/03/02(金) 15:50:13ID:???
http://timeline.nifty.com/
これってRoRでできてるそうですね。
NaClも協力してるとか。RoRを見直した。
0084nobodyさん2007/03/02(金) 18:26:55ID:???
>>83
このアプリで大変なのは、ぶっちゃけJavaScriptであって、バックエンドは簡単そうだから、べつにRoRである必要はないんじゃないかな。
RoRが強いのはデータのCRUDのようにformを使うものだと思う。
0085nobodyさん2007/03/02(金) 19:59:39ID:???
>>73
ruby script/plugin install http://svn.hamptoncatlin.com/haml/trunk
して,プラグインとして導入するのが楽.

とりあえず,チュートリアル的なものは見つけた.いまいちチュートリアルになってない気もするが.
ttp://d.hatena.ne.jp/uchiuchiyama/20070228/haml_tutorial
0086nobodyさん2007/03/02(金) 23:05:30ID:???
> このアプリで大変なのは、ぶっちゃけJavaScriptであって、バックエンドは簡単そうだから、べつにRoRである必要はないんじゃないかな。

RoR には RJS があるが、何か?
ぶっちゃけるのは自由だが、Flash まくってるのは気のせいかね?
0087nobodyさん2007/03/02(金) 23:11:49ID:???
> RoRが強いのはデータのCRUDのようにformを使うものだと思う。

ワロスwwこの決め台詞は流行るww
0088nobodyさん2007/03/05(月) 03:32:46ID:???
まあ今時のウェブアプリはほとんどJS+Flashでバックエンドは何でもいい感じだからな・・
0089nobodyさん2007/03/05(月) 03:49:59ID:???
> まあ今時のウェブアプリはほとんどJS+Flashでバックエンドは何でもいい感じだからな・・

K*NT でもおk?
0090nobodyさん2007/03/07(水) 03:01:42ID:???
symfony使ってたら、rails使うのが馬鹿らしくなった
0091nobodyさん2007/03/07(水) 03:06:11ID:???
php なんかつかうやつはばかです。
0092nobodyさん2007/03/07(水) 03:51:43ID:???
こういう書き込みに対するレスポンスは迅速なんだな
0093nobodyさん2007/03/07(水) 06:32:23ID:???
まぁPHPだからな。
0094nobodyさん2007/03/08(木) 04:20:40ID: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"

となってしまいます。
ググって見てもあまり情報が無く、サクラサーバで同じような現象になった方がいたら
アドバイスを頂きたいのですが、どなたかご存知ないですか??
0095nobodyさん2007/03/08(木) 04:48:09ID: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
0096nobodyさん2007/03/08(木) 07:51:45ID:???
>>94
その機能はローカルでしか動かんよ。たしか。
0097nobodyさん2007/03/08(木) 08:39:38ID:???
さくらの専用サーバでRails使ってる。

About your application's environmentはリモートから見ようとすると
For security purposes, this information is only available to local requests.
と出るのが正しい。

とりあえずlog/#{RAILS_ENV}.logには何か出ないの?

ところで、漏れもzsh使いだが、なんでそのURLでzshのインストールから
始めてるんだろう。
0098nobodyさん2007/03/08(木) 08:46:53ID: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は無いらしいのですが、設定どこか間違ってますか?
0099nobodyさん2007/03/08(木) 08:54:12ID:???
>>98
えーと、
#{RAILS_ENV}.logと書いたのは、development.logとかproduction.log
のこと。

これのサイズがゼロってことは script/serverはリクエストを一度も受け付け
ていないはず。

つーか、script/server以外の方法で動かしてたりする?
apacheのログはまだ一切関係ないはずだが。
0100nobodyさん2007/03/08(木) 09:38:41ID: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")

ってやってます。。
0101nobodyさん2007/03/08(木) 09:45:25ID:J25zk7/S
apacheのログ(~/log/access_log_20070308)には

"GET /hoge/rails/info/properties HTTP/1.1" 500 81 "http://xxx.sakura.ne.jp/hoge/";

って出てます。
0102nobodyさん2007/03/08(木) 09:52:45ID:J25zk7/S
101で投稿したのは、apacheのログってだしましたが、あれは違うrailsアプリの500エラーで、今回作成したrailsアプリのログじゃありませんでした。
申し訳ありません。

ですが、、何もしてないのに、Internal Server Errorになっちゃいました。。
0103nobodyさん2007/03/08(木) 10:04:29ID:???
じゃあ
head -1 public/dispatch.rb
は期待どおり?
0104nobodyさん2007/03/08(木) 10:05:11ID:???
おっとdispatch.cgiか。
0105nobodyさん2007/03/08(木) 10:19:57ID:J25zk7/S
$ head -1 dispatch.cgi
#!/usr/local/bin/ruby18

となってます。

/usr/local/bin/ruby18
は存在しているようです。
0106nobodyさん2007/03/08(木) 13:29:28ID:???
で、error_logにはなんと出てるの?
0107nobodyさん2007/03/08(木) 18:58:34ID:J25zk7/S
error_log はどこにあるんですか?

。。。あーなさけない。。。。。
0108nobodyさん2007/03/08(木) 19:06:09ID:???
>>98にはaccess_logしかなかったのか。
apacheの設定ファイル見て探すしか。
0109nobodyさん2007/03/08(木) 19:36:26ID:J25zk7/S
スタンダードプランなので、apacheの設定ファイルは読めないようです。。
/var/log以下もpermission deniedだそうです、、

はーん。
0110nobodyさん2007/03/08(木) 19:53:35ID:???
Webminとかで見られないものなのかな。
0111nobodyさん2007/03/08(木) 22:39:59ID: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 [http://id.sakura.ne.jp/rails/info/properties]
0112nobodyさん2007/03/08(木) 22:44:05ID: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'",
0113nobodyさん2007/03/08(木) 22:45:27ID: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"]
0114nobodyさん2007/03/09(金) 07:28:44ID:???
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 オススメ。
0115nobodyさん2007/03/09(金) 07:30:03ID:???
×module ApplicationController ...
○class ApplicationController ...
0116752007/03/09(金) 21:38:21ID:???
>>76
[] を入れることによって、自動的にインデックスをつけたいんだけど、 [] が効力を発揮してないと思われるんですわ。
rails 1.2 だと直ってるっぽいんだけど。1.2 に移行するしかないのか。
0117nobodyさん2007/03/10(土) 03:38:46ID:???
RadRailsってどこがRadなの?
0118nobodyさん2007/03/10(土) 11:06:32ID:???
>>117
まぁRails自体がRADだと言えなくもないからな。
0119nobodyさん2007/03/11(日) 02:15:54ID:???
だったらtgのがよっぽどRADだけどね
0120nobodyさん2007/03/12(月) 02:38:42ID:???
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'

で失敗。何かヒントを持っている人いませんか?

0121nobodyさん2007/03/12(月) 09:50:23ID:???
同じように入力してハマってる人どこかで見たな。
vender/plugins/login_engine/READMEを見てみてるといいよ。

その次の関門のヒントは、Rails1.2 + Engines1.2だ。
0122nobodyさん2007/03/13(火) 02:01:52ID:???
みんなスペックどんくらいのPCでRailsしてるん?
script/consoleとかgenerate migrateとか結構な時間待たされない?20秒とか。

うちはPenM1.2/Mem1Gのノートなんだけど、、、、せっかちなだけかなぁ。

ちょと気になったから書いてみた
0123nobodyさん2007/03/13(火) 02:38:54ID:???
せっかちなだけ。
一息ついて水でも飲め。
0124nobodyさん2007/03/13(火) 02:45:29ID:???
Core2Duo/メモリ2Gで、一呼吸あって起動する感じ。
0125nobodyさん2007/03/13(火) 09:40:25ID:???
Pentium III 800MHz 128MB RAMのマシンでやってるが、
アールグレイとスコーンを食べながらまったりしながらやってるよ。
01261222007/03/14(水) 01:47:59ID:???
おk。わかった。水とスコーン買ってくるわ。
0127nobodyさん2007/03/14(水) 05:02:10ID:???
>>126
そんなものより、もうワンランク上のPC買って来い
0128nobodyさん2007/03/14(水) 17:28:18ID:???
>>126
湖池屋のを買ってくるんじゃねーぞ
0129nobodyさん2007/03/14(水) 21:25:35ID:???
さて、RadRailsの鯖�d�jわけだが

今後はもう
ttp://www.aptana.com/blog/?p=93?diff=y
こっちでしかヤラネってこと?
01301202007/03/15(木) 00:53:36ID:???
>>121

結局、1.2ではEngineは使えないと見なして、捨てることにしました。
0131nobodyさん2007/03/17(土) 02:28:16ID:99ZI4xV2
upload_progress プラグインが1.2でうごかない。。。。
しょうがないからmongrel_upload_progressプラグインつかったけど、これ大丈夫なのかなぁ。 
0132nobodyさん2007/03/17(土) 10:18:11ID:IM4PoT/S
200人が単に「入室」しただけでパンクするRuby厨の梅田チャット部屋
http://blog.japan.cnet.com/kenn/archives/003556.html

今日の午前11:00からリベンジやるそうなので、またパンクさせようぜ。
http://www.lingr.com/room/jtpa-umeda

ただ入室しているだけでOKだ。
0133nobodyさん2007/03/17(土) 10:45:20ID:???
あんな贅沢なハード使ってて、そういう結果なの?
0134nobodyさん2007/03/17(土) 18:14:54ID:???
それが、Rubyの性能。
0135nobodyさん2007/03/18(日) 08:19:03ID:???
RoR のアプリって重すぎw
0136nobodyさん2007/03/18(日) 15:14:34ID:???
rails作った人って、ひょっとしてJavaで開発してたときも
TextMateで作ってたんじゃないの?
Railsやってみても、開発環境揃ったJava製FWより圧倒的に
いい感じはそんなにないんだけど…
0137nobodyさん2007/03/18(日) 16:00:56ID:???
Java のフレームワークに十分慣れていて困ってないなら
Rails 使うこともないんじゃない。
0138nobodyさん2007/03/19(月) 07:01:46ID:???
>>136
「開発環境揃ったJava製FW」とやらを具体的に説明しない限り誰も相手にしてくれない
0139nobodyさん2007/03/19(月) 18:21:54ID:???
IDEを使えば書くのはそんなに大変じゃないけど、
読むのは面倒って印象があるけどね Java
0140nobodyさん2007/03/20(火) 01:49:37ID:???
むしろ読む方が楽じゃね?
0141nobodyさん2007/03/20(火) 02:27:00ID:???
相手にしてくれないといいつつ、
しっかり釣られてる>>138
0142nobodyさん2007/03/20(火) 19:23:55ID:???
すみませんが、質問です。
rhtmlファイル(ERb)で、Rubyコードを含んだコードをコメントアウトするには、
どのように書けばよいでしょうか?
<!-- --> だとRubyコードが実行されてしまうと思います。
0143nobodyさん2007/03/20(火) 19:25:46ID:???
<%# ... %>
0144nobodyさん2007/03/20(火) 19:27:15ID:???
どーしてマニュアルを読まないんだろうか
01451422007/03/20(火) 20:18:03ID:???
>>143
> <%# ... %>
ありがとうございます。


>>144
> どーしてマニュアルを読まないんだろうか

恥ずかしながら、マニュアルがどこにあるのか、見つけられないのです。
本を片手に試行錯誤している段階です。

コメントアウトを記述しているページは、以下の一つしかまだ見つけていません。
http://jp.rubyist.net/magazine/?0017-BundledLibraries
0146nobodyさん2007/03/20(火) 20:55:14ID:???
$ ri ERB
<snip>
Recognized Tags
---------------

<snip>
<% Ruby code -- inline with output %>
<%= Ruby expression -- replace with result %>
<%# comment -- ignored -- useful in testing %>
<snip>
と出た。
01471422007/03/20(火) 21:38:54ID:???
>>146
ありがとうございます。マニュアルって、riコマンドのことでしたか。

http://www.ruby-doc.org/stdlib/libdoc/erb/rdoc/classes/ERB.html
http://www.ruby-lang.org/ja/man/?cmd=view;name=ERB

日本語のマニュアルには載っていないようです。ちょっとショックです。
0148nobodyさん2007/03/20(火) 22:25:43ID:???
まぁ、ここを見ろというのも酷だよな。
http://wiki.modruby.net/ja/?eRubySyntax

厳密にはeRubyであってerb(ErbLight)ではないし。
0149nobodyさん2007/03/20(火) 23:35:41ID:???
RubyCookBookついに翻訳が終わって来月出るみたいだね
0150nobodyさん2007/03/22(木) 14:47:08ID:???
ソースクレ
0151nobodyさん2007/03/23(金) 02:09:45ID:???
>>150

149のか?
オライリーのMLで来月の発売予定に入ってたよ。
0152nobodyさん2007/03/29(木) 17:19:04ID:???
ruby は一通り使えるつもりですが、
rails はもちろんサーバーサイドも初めてな私に、
オススメの書籍があれば教えていただけないでしょうか?
0153nobodyさん2007/03/29(木) 21:26:58ID:???
はじめてのRuby on Rails
0154nobodyさん2007/03/29(木) 21:55:46ID:???
>>152
オーム社の「RailsによるアジャイルWebアプリケーション開発」
って本で今勉強中。
最初に秀和システムの「Ruby on Rails入門」というのを買ったんだけど
よく解らなかったので。
0155nobodyさん2007/03/29(木) 22:08:12ID:???
秀和のってことは舞波本か。
アレは分かってる人向けの本だな。

「RailsによるアジャイルWebアプリケーション開発」通称ADWwR
DHH(Rails作者)による本。監訳は前田修吾氏。
あたりまえだが網羅的。

「はじめようRuby on Rails」
かずひこ氏他著。
テストファーストで作っていく。

「ライド・オン・Rails」
配備周りを詳しく書いてある。

「かんたんRuby on Rails」
ステップ・バイ・ステップでコードの解説が詳しい。

もう1〜2冊あったと思う。


0156nobodyさん2007/03/29(木) 22:37:58ID:???
PerlやPHPとかで既にサーバサイドプログラミングしている人なら舞波本お薦め。
Railsによる云々を最初に読んだんだがもどかしくてかなわん。
01571522007/03/30(金) 00:16:02ID:???
みなさんレスありがとうございました。
「Ruby on Rails入門」がダメなことは分かりましたw

「RailsによるアジャイルWebアプリケーション開発」は高いけど良さそうで、
「かんたんRuby on Rails」は安くて簡単そうなので、
このふたつを中心に明日本屋で立ち読みして
良さそうな方を買ってこようかと思います。
0158nobodyさん2007/03/30(金) 00:58:53ID:???
ActiveSupportやセキュリティについていちばん詳しく書いてるのは
舞波本だったと思うが、「1冊目」には選ばない方がいいかなぁ。

0159nobodyさん2007/03/30(金) 01:08:55ID:???
いや、全部買えよ
0160nobodyさん2007/03/30(金) 02:33:47ID:???
RubyもWebプログラミングも初めての人は
どれを読めばいいですか?
0161nobodyさん2007/03/30(金) 02:55:04ID:???
>>160
まず Rails を知りたいなら「はじめよう Ruby on Rails」かなぁ。
実際に手を動かして感覚を掴め。
しかるのちに「プログラミング Ruby 第二版」の言語編、ライブラリ編を
辞書代りにしつつ「たのしい Ruby」とか「はじめてのプログラミング」とか。

本を読む場合は以上のような感じがいいかな、と思うけどwebで勉強するなら
るびま読破がおすすめ。内容はバラバラだけど記事のレベルは高い。

ちなみに他言語の経験はあるのか?webじゃないプログラミング経験。
0162nobodyさん2007/04/02(月) 17:30:31ID:???
ttp://wiki.rubyonrails.com/rails
Webの情報はここを適当に流せば他は rdoc だけあればまず大丈夫でしょう。
リファレンスマニュアルが頼りになるのはとても助かる。
0163nobodyさん2007/04/02(月) 21:45:26ID:???
リファレンスマニュアルは、ローカルにgem_server走らせて
見られるのも便利だな。
0164nobodyさん2007/04/04(水) 19:31:36ID:???
リモートのLinuxサーバにMongrel入れてちゃんと動いてるかどうかの確認をしたいのですが、
RailsのWelcome Aboard 画面で「About your application’s environment」を
リモート環境から参照する方法ってありませんかね…?
0165nobodyさん2007/04/04(水) 20:12:44ID:???
すみませんが、質問です。
ActiveRecordでオブジェクトのデフォルト値を設定する方法はありませんか?
DBのテーブル定義のカラム初期値を取得してくれるのかと想像していたのです
が、そうではなかったようです。
0166nobodyさん2007/04/04(水) 22:27:21ID:???
>>164

Rails::InfoController#local_request?が常にtrueを返すように再定義
すればいいのかと思ったが、どうもうまく書けない。

とりあえず、mongrelで動いているかどうかだけなら、

$ telnet WEBサーバ名 80
HEAD / HTTP/1.1
Host: アクセスする際のWEBサーバ名(バーチャルサーバのときなど)
(改行2回)

で、Server: 行を見ればわかるだろう。
0167nobodyさん2007/04/04(水) 22:39:13ID:???
>164
どーやってサーバーあげてんの?
大体の場合ログ見ればわかるよ。
0168nobodyさん2007/04/04(水) 23:25:28ID:???
>>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;
01691652007/04/05(木) 17:13:42ID:???
>>168
ありがとうございます。こちらも、TINYINTだとそのように動作しました。
数値だとうまく行くのかもしれません。
VARCHARだとうまく行かないのですが、いかがでしょうか?
ちなみにDBはMySQL5.0です。たぶん関係ないと思いますが。
0170nobodyさん2007/04/05(木) 21:26:04ID:???
>>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 ''.
0171nobodyさん2007/04/05(木) 23:03:14ID:???
>>170
「NOT NULLかつデフォルトが空文字列('')かつ
テキスト系の型っていう場合はMySQLでは
正しくデフォルト値を検知できねーんだよウワアアン」
っていう感じじゃないだろうか

そこのコードはその3つの条件をチェックしたbooleanを返して
真だったらカラムのデフォルト値が強制的にnilになるようになっている
0172nobodyさん2007/04/06(金) 17:31:55ID:???
すみませんが、質問です。

Emacs で rails.el を使うと、C-c C-c l でログを表示できます。
末尾10行(tail)が表示され、エスケープシーケンスによる色付けにも
対応しています。

この表示行数を変更するにはどうしたらよいでしょうか?
これを規定する変数がどこかにあると思うのですが。
0173nobodyさん2007/04/06(金) 21:26:32ID:???
rails-log.elで
(start-process "tail"
buffer
"tail"
"-f" (rails-core:file (concat "log/" log-file)))

とあるが、これが使われているのなら、tailのデフォルト値である
10がそのまま使われていることになりますな。
01741722007/04/07(土) 02:12:21ID:???
>>173
ありがとうございます。そうでしたか、残念。
何とか修正しようと見よう見まねでコードをいじってみましたが、失敗しました。
0175nobodyさん2007/04/07(土) 12:01:43ID:???
>>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)
0176nobodyさん2007/04/08(日) 08:20:16ID:???
RailsというかARなんだけど、あるsaveだけ例外的に
updated_atが自動更新されるのを防ぎたいんだけど
どうやったら良いですか?
0177nobodyさん2007/04/08(日) 09:27:07ID:???
>>176
方法1: クラス単位ながら record_timestamps = true/falseで制御できるので
save の度にこれを切り替える。

方法2: updateが、updated_without_tmestampsだけを呼ぶように、
特異メソッド定義をする。(cf. AR/lib/active_record/timestamp.rb)

あたりでどうか。
0178nobodyさん2007/04/08(日) 09:27:51ID:???
typo.

updated_without_timestamps→
update_without_timestamps
■ このスレッドは過去ログ倉庫に格納されています