【Ruby】Ruby on Rail ..
[2ch|▼Menu]
98:nobodyさん
07/03/08 08:46:53 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さん
07/03/08 08:54:12
>>98
えーと、
#{RAILS_ENV}.logと書いたのは、development.logとかproduction.log
のこと。

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

つーか、script/server以外の方法で動かしてたりする?
apacheのログはまだ一切関係ないはずだが。


100:nobodyさん
07/03/08 09:38:41 J25zk7/S
script/serverはやってません。。
動かし方は、URLリンク(dgames.jp)を参考にしました。
--
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さん
07/03/08 09:45:25 J25zk7/S
apacheのログ(~/log/access_log_20070308)には

"GET /hoge/rails/info/properties HTTP/1.1" 500 81 "URLリンク(xxx.sakura.ne.jp)

って出てます。

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

ですが、、何もしてないのに、Internal Server Errorになっちゃいました。。


103:nobodyさん
07/03/08 10:04:29
じゃあ
head -1 public/dispatch.rb
は期待どおり?


104:nobodyさん
07/03/08 10:05:11
おっとdispatch.cgiか。


105:nobodyさん
07/03/08 10:19:57 J25zk7/S
$ head -1 dispatch.cgi
#!/usr/local/bin/ruby18

となってます。

/usr/local/bin/ruby18
は存在しているようです。


106:nobodyさん
07/03/08 13:29:28
で、error_logにはなんと出てるの?


107:nobodyさん
07/03/08 18:58:34 J25zk7/S
error_log はどこにあるんですか?

。。。あーなさけない。。。。。

108:nobodyさん
07/03/08 19:06:09
>>98にはaccess_logしかなかったのか。
apacheの設定ファイル見て探すしか。


109:nobodyさん
07/03/08 19:36:26 J25zk7/S
スタンダードプランなので、apacheの設定ファイルは読めないようです。。
/var/log以下もpermission deniedだそうです、、

はーん。

110:nobodyさん
07/03/08 19:53:35
Webminとかで見られないものなのかな。


111:nobodyさん
07/03/08 22:39:59 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 [URLリンク(id.sakura.ne.jp)


112:nobodyさん
07/03/08 22:44:05 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さん
07/03/08 22:45:27 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さん
07/03/09 07:28:44
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さん
07/03/09 07:30:03
×module ApplicationController ...
○class ApplicationController ...

116:75
07/03/09 21:38:21
>>76
[] を入れることによって、自動的にインデックスをつけたいんだけど、 [] が効力を発揮してないと思われるんですわ。
rails 1.2 だと直ってるっぽいんだけど。1.2 に移行するしかないのか。

117:nobodyさん
07/03/10 03:38:46
RadRailsってどこがRadなの?

118:nobodyさん
07/03/10 11:06:32
>>117
まぁRails自体がRADだと言えなくもないからな。


119:nobodyさん
07/03/11 02:15:54
だったらtgのがよっぽどRADだけどね

120:nobodyさん
07/03/12 02:38:42
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さん
07/03/12 09:50:23
同じように入力してハマってる人どこかで見たな。
vender/plugins/login_engine/READMEを見てみてるといいよ。

その次の関門のヒントは、Rails1.2 + Engines1.2だ。

122:nobodyさん
07/03/13 02:01:52
みんなスペックどんくらいのPCでRailsしてるん?
script/consoleとかgenerate migrateとか結構な時間待たされない?20秒とか。

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

ちょと気になったから書いてみた

123:nobodyさん
07/03/13 02:38:54
せっかちなだけ。
一息ついて水でも飲め。

124:nobodyさん
07/03/13 02:45:29
Core2Duo/メモリ2Gで、一呼吸あって起動する感じ。

125:nobodyさん
07/03/13 09:40:25
Pentium III 800MHz 128MB RAMのマシンでやってるが、
アールグレイとスコーンを食べながらまったりしながらやってるよ。

126:122
07/03/14 01:47:59
おk。わかった。水とスコーン買ってくるわ。

127:nobodyさん
07/03/14 05:02:10
>>126
そんなものより、もうワンランク上のPC買って来い

128:nobodyさん
07/03/14 17:28:18
>>126
湖池屋のを買ってくるんじゃねーぞ

129:nobodyさん
07/03/14 21:25:35
さて、RadRailsの鯖djわけだが

今後はもう
URLリンク(www.aptana.com)
こっちでしかヤラネってこと?

130:120
07/03/15 00:53:36
>>121

結局、1.2ではEngineは使えないと見なして、捨てることにしました。

131:nobodyさん
07/03/17 02:28:16 99ZI4xV2
upload_progress プラグインが1.2でうごかない。。。。
しょうがないからmongrel_upload_progressプラグインつかったけど、これ大丈夫なのかなぁ。 

132:nobodyさん
07/03/17 10:18:11 IM4PoT/S
200人が単に「入室」しただけでパンクするRuby厨の梅田チャット部屋
URLリンク(blog.japan.cnet.com)

今日の午前11:00からリベンジやるそうなので、またパンクさせようぜ。
URLリンク(www.lingr.com)

ただ入室しているだけでOKだ。


133:nobodyさん
07/03/17 10:45:20
あんな贅沢なハード使ってて、そういう結果なの?

134:nobodyさん
07/03/17 18:14:54
それが、Rubyの性能。

135:nobodyさん
07/03/18 08:19:03
RoR のアプリって重すぎw

136:nobodyさん
07/03/18 15:14:34
rails作った人って、ひょっとしてJavaで開発してたときも
TextMateで作ってたんじゃないの?
Railsやってみても、開発環境揃ったJava製FWより圧倒的に
いい感じはそんなにないんだけど…

137:nobodyさん
07/03/18 16:00:56
Java のフレームワークに十分慣れていて困ってないなら
Rails 使うこともないんじゃない。

138:nobodyさん
07/03/19 07:01:46
>>136
「開発環境揃ったJava製FW」とやらを具体的に説明しない限り誰も相手にしてくれない

139:nobodyさん
07/03/19 18:21:54
IDEを使えば書くのはそんなに大変じゃないけど、
読むのは面倒って印象があるけどね Java

140:nobodyさん
07/03/20 01:49:37
むしろ読む方が楽じゃね?

141:nobodyさん
07/03/20 02:27:00
相手にしてくれないといいつつ、
しっかり釣られてる>>138

142:nobodyさん
07/03/20 19:23:55
すみませんが、質問です。
rhtmlファイル(ERb)で、Rubyコードを含んだコードをコメントアウトするには、
どのように書けばよいでしょうか?
<!-- --> だとRubyコードが実行されてしまうと思います。

143:nobodyさん
07/03/20 19:25:46
<%# ... %>

144:nobodyさん
07/03/20 19:27:15
どーしてマニュアルを読まないんだろうか

145:142
07/03/20 20:18:03
>>143
> <%# ... %>
ありがとうございます。


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

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

コメントアウトを記述しているページは、以下の一つしかまだ見つけていません。
URLリンク(jp.rubyist.net)


146:nobodyさん
07/03/20 20:55:14
$ ri ERB
<snip>
Recognized Tags
---------------

<snip>
<% Ruby code -- inline with output %>
<%= Ruby expression -- replace with result %>
<%# comment -- ignored -- useful in testing %>
<snip>
と出た。


147:142
07/03/20 21:38:54
>>146
ありがとうございます。マニュアルって、riコマンドのことでしたか。

URLリンク(www.ruby-doc.org)
URLリンク(www.ruby-lang.org)

日本語のマニュアルには載っていないようです。ちょっとショックです。

148:nobodyさん
07/03/20 22:25:43
まぁ、ここを見ろというのも酷だよな。
URLリンク(wiki.modruby.net)

厳密にはeRubyであってerb(ErbLight)ではないし。


149:nobodyさん
07/03/20 23:35:41
RubyCookBookついに翻訳が終わって来月出るみたいだね

150:nobodyさん
07/03/22 14:47:08
ソースクレ

151:nobodyさん
07/03/23 02:09:45
>>150

149のか?
オライリーのMLで来月の発売予定に入ってたよ。


152:nobodyさん
07/03/29 17:19:04
ruby は一通り使えるつもりですが、
rails はもちろんサーバーサイドも初めてな私に、
オススメの書籍があれば教えていただけないでしょうか?

153:nobodyさん
07/03/29 21:26:58
はじめてのRuby on Rails

154:nobodyさん
07/03/29 21:55:46
>>152
オーム社の「RailsによるアジャイルWebアプリケーション開発」
って本で今勉強中。
最初に秀和システムの「Ruby on Rails入門」というのを買ったんだけど
よく解らなかったので。


155:nobodyさん
07/03/29 22:08:12
秀和のってことは舞波本か。
アレは分かってる人向けの本だな。

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

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

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

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

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




156:nobodyさん
07/03/29 22:37:58
PerlやPHPとかで既にサーバサイドプログラミングしている人なら舞波本お薦め。
Railsによる云々を最初に読んだんだがもどかしくてかなわん。

157:152
07/03/30 00:16:02
みなさんレスありがとうございました。
「Ruby on Rails入門」がダメなことは分かりましたw

「RailsによるアジャイルWebアプリケーション開発」は高いけど良さそうで、
「かんたんRuby on Rails」は安くて簡単そうなので、
このふたつを中心に明日本屋で立ち読みして
良さそうな方を買ってこようかと思います。

158:nobodyさん
07/03/30 00:58:53
ActiveSupportやセキュリティについていちばん詳しく書いてるのは
舞波本だったと思うが、「1冊目」には選ばない方がいいかなぁ。



159:nobodyさん
07/03/30 01:08:55
いや、全部買えよ

160:nobodyさん
07/03/30 02:33:47
RubyもWebプログラミングも初めての人は
どれを読めばいいですか?

161:nobodyさん
07/03/30 02:55:04
>>160
まず Rails を知りたいなら「はじめよう Ruby on Rails」かなぁ。
実際に手を動かして感覚を掴め。
しかるのちに「プログラミング Ruby 第二版」の言語編、ライブラリ編を
辞書代りにしつつ「たのしい Ruby」とか「はじめてのプログラミング」とか。

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

ちなみに他言語の経験はあるのか?webじゃないプログラミング経験。

162:nobodyさん
07/04/02 17:30:31
URLリンク(wiki.rubyonrails.com)
Webの情報はここを適当に流せば他は rdoc だけあればまず大丈夫でしょう。
リファレンスマニュアルが頼りになるのはとても助かる。


163:nobodyさん
07/04/02 21:45:26
リファレンスマニュアルは、ローカルにgem_server走らせて
見られるのも便利だな。


164:nobodyさん
07/04/04 19:31:36
リモートのLinuxサーバにMongrel入れてちゃんと動いてるかどうかの確認をしたいのですが、
RailsのWelcome Aboard 画面で「About your application’s environment」を
リモート環境から参照する方法ってありませんかね…?


165:nobodyさん
07/04/04 20:12:44
すみませんが、質問です。
ActiveRecordでオブジェクトのデフォルト値を設定する方法はありませんか?
DBのテーブル定義のカラム初期値を取得してくれるのかと想像していたのです
が、そうではなかったようです。

166:nobodyさん
07/04/04 22:27:21
>>164

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

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

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

で、Server: 行を見ればわかるだろう。


167:nobodyさん
07/04/04 22:39:13
>164
どーやってサーバーあげてんの?
大体の場合ログ見ればわかるよ。

168:nobodyさん
07/04/04 23:25:28
>>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
07/04/05 17:13:42
>>168
ありがとうございます。こちらも、TINYINTだとそのように動作しました。
数値だとうまく行くのかもしれません。
VARCHARだとうまく行かないのですが、いかがでしょうか?
ちなみにDBはMySQL5.0です。たぶん関係ないと思いますが。

170:nobodyさん
07/04/05 21:26:04
>>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さん
07/04/05 23:03:14
>>170
「NOT NULLかつデフォルトが空文字列('')かつ
テキスト系の型っていう場合はMySQLでは
正しくデフォルト値を検知できねーんだよウワアアン」
っていう感じじゃないだろうか

そこのコードはその3つの条件をチェックしたbooleanを返して
真だったらカラムのデフォルト値が強制的にnilになるようになっている

172:nobodyさん
07/04/06 17:31:55
すみませんが、質問です。

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

この表示行数を変更するにはどうしたらよいでしょうか?
これを規定する変数がどこかにあると思うのですが。

173:nobodyさん
07/04/06 21:26:32
rails-log.elで
(start-process "tail"
buffer
"tail"
"-f" (rails-core:file (concat "log/" log-file)))

とあるが、これが使われているのなら、tailのデフォルト値である
10がそのまま使われていることになりますな。


174:172
07/04/07 02:12:21
>>173
ありがとうございます。そうでしたか、残念。
何とか修正しようと見よう見まねでコードをいじってみましたが、失敗しました。

175:nobodyさん
07/04/07 12:01:43
>>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さん
07/04/08 08:20:16
RailsというかARなんだけど、あるsaveだけ例外的に
updated_atが自動更新されるのを防ぎたいんだけど
どうやったら良いですか?

177:nobodyさん
07/04/08 09:27:07
>>176
方法1: クラス単位ながら record_timestamps = true/falseで制御できるので
save の度にこれを切り替える。

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

あたりでどうか。


178:nobodyさん
07/04/08 09:27:51
typo.

updated_without_timestamps→
update_without_timestamps


179:nobodyさん
07/04/08 10:46:47
>>176-177

おぉ激しくサンクス。
方法1であっさりできました。
ググってもなかなか見つからなかったので..

180:nobodyさん
07/04/09 11:12:11 znqt2L3W
すみません、
date_select で年の範囲を指定(増やす)したいのですが、
いい方法はありませんか?何個かあるので個別にでなくまとめて
できればいいんですが・・・。
さっきから検索してますが、なかなかみつかりません。
おねがいします!

181:nobodyさん
07/04/09 11:35:30
ApplicationHelperにでもヘルパメソッドつくって
そんなかでdate_selectを定義して呼びだせばいいんじゃまいか?

182:nobodyさん
07/04/09 11:37:09
>>181
>date_selectを定義して
date_selectを呼ぶように定義して

183:nobodyさん
07/04/09 11:48:01
ありがとうございます。
初心者なのでなかなかわからないことばかりなのですが、
ヒントをいただいたのでもうちょっとがんばってみたいと思います。

184:172
07/04/09 18:42:20
>>175
遅レスですみませんが、今試したところ、うまく行きました!
setvar rails-log:lines-to-follow 100 で100行の表示になります!
本当に便利になりました。ありがとうございます!


185:nobodyさん
07/04/09 23:29:39
すみませんが、質問です。

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さん
07/04/09 23:40:40
whereで普通に絞り込めると思うけど、
同じスキーマのテーブルが2つあるって。。
テーブル設計やり直した方がいいとおも

187:185
07/04/10 00:06:52
残念ながら、私には絞り込めませんでした。
両方に含まれるものを取るなら簡単ですが、
aには含まれ、bには含まれないというものを指定する方法が分からないのです。


188:185
07/04/10 00:14:04
補足ですが、a, b は実際には同じ定義ではありません。質問の簡単のために省
略しましたが、それぞれ他のカラムも持っています。

これらのテーブルは実際のところ、user_id1, user_id2 の二つを主キーとする
複合キーに近いのです。aはトランザクションテーブルであり、bは2ユーザの禁
止された組み合わせを保持するマスタだとお考えください。

もっと良いテーブル定義があるなら、それもお教えいただければ大変助かりま
す。


189:nobodyさん
07/04/10 07:41:42
そうだな。
まず会社名から聞こうか。

190:185
07/04/10 12:49:41
全く回答がいただけません。難しいのか、それとも質問が問題外なのか。

とりあえずはSQLで対処することにします。Railsアジャイル本のP221にも、必
要ならSQLを使おうと書いてありますし。

ActiveRecordは、自動採番の1カラムID以外をサポートしておらず、従来のデー
タモデリングの手法がそのままでは使えませんが、ノウハウを身につければそ
んなにSQLを書く必要はない、とどこかで聞いたような記憶があります。

ですから、>>185そのままのテーブル定義でもActiveRecordで所望の結果を得ら
れる、またはテーブル定義を改変すれば得られる、のではないかと予想して質
問したのですが、どうも質問の仕方が悪かったようです。

今さらですが、質問を追加すると、ActiveRecordでどうしてもSQLを使わなけれ
ばならない場合もあると思いますが、それを見分ける方法はないものでしょう
か?


191:nobodyさん
07/04/10 21:00:00
>>190
> 全く回答がいただけません。難しいのか、それとも質問が問題外なのか。
問題外だから。

> どうも質問の仕方が悪かったようです。
だったら書き直してこいよ。あんな情報量の少ない質問に答えられるハズがない。

> 今さらですが、質問を追加すると、ActiveRecordでどうしてもSQLを使わなけれ
> ばならない場合もあると思いますが、それを見分ける方法はないものでしょう
> か?
必要なときに使う。見分け方はリファレンスを見て該当する機能がない場合。


192:nobodyさん
07/04/11 00:30:21
>>190

SQLつかわずに、id1,2の組をaから抽出しつつ
rubyのコードでループまわして解決することもできるとおもうが
それはダメ?

active recordでなんでもできるというよりは、 railsつかうくらいなんだから、
sqlよりはrubyが使えるという前提なだけなんだとおもうが,
どっちが効率いいかは自分で考えて、やりたいほうでやればいいとおもう。


193:nobodyさん
07/04/11 07:30:46 n4G4bIgP
要求するレスポンスやソースの可読性によりきりわけてる。
それにヒアドキュメント使えばそこまで
ソースは汚くならないよ。
S2Daoの外だしSQLみたいなライブラリがあればもっと悩まなくていいんだけどね

194:nobodyさん
07/04/11 22:11:58
select タグが初心者で戸惑っています。
users テーブルと prefectures テーブルがあります。
users テーブルには name, email などのフィールドがあり、prefecture_id というフィールドを
prefectures テーブルの id フィールドに関連付けています。
prefecture テーブルは id, name の2フィールドだけです。
user.rb では belongs_to :prefecture と宣言して views/users/_form.rhtml では
<%= select('participation', 'prefecture_id', @prefectures, :include_blank => true) %>
と記述すると、データは引っ張ってきてるようなのですが、値が
<option value="#<Prefecture:0x48a8e38>">#<Prefecture:0x48a8e38></option>
となってしまいます。
これはどうやったらいいのでしょうか?
<option value="1">北海道</option>
のように表示したいです。
ちなみに users_controller.rb では @participation = Participation.new としています。

195:nobodyさん
07/04/11 22:43:49
ヘルパー定義
module PrefectureHelper
def options_for_prefecture
Prefecture.find(:all).map{|pref| [ pref.name, pref.id ]}
end
end

コントローラ
helper :prefecture

ビュー
<%= select 'participation', 'prefecture', options_for_prefecture %>

とかかなぁ。


196:nobodyさん
07/04/12 11:08:42
collection_selectじゃだめなのか?

197:nobodyさん
07/04/12 15:51:43
>>195
レスありがとうございます、おそくなってすいません。
教えてもらったやり方で都道府県のプルダウンが表示できました。
でも更新がエラーになりました。
フィールド名が prefecture_id でなく prefecture となるためのようです。
>>196
<%= collection_select('participation', 'prefecture_id', @prefectures, 'id', 'name', :include_blank => true) %>
とすることで解決しました。
お二人ともどうもありがとうございました!

198:nobodyさん
07/04/13 00:01:11
Railsでスタンドアローンアプリを作るJoyent Slingshotが出るらしい
URLリンク(blog.masuidrive.jp)

199:nobodyさん
07/04/14 00:33:16 6tinSehY
$rails hello
$cd hello
$./script/server
として、
URLリンク(localhost:3000)
を表示、
About your application’s environment
をクリックすると、
`/rails/info/properties' not found.

何が足りないんでしょうか?





200:nobodyさん
07/04/14 00:40:55
rails本体ロードできてるのかそれ

201:nobodyさん
07/04/14 15:37:31 6tinSehY
Welcome aboard
までは表示されるんですよね。
うーむ


202:nobodyさん
07/04/14 15:43:47
スタックトレースは?


203:nobodyさん
07/04/14 16:27:35
ログ見ろ

204:nobodyさん
07/04/14 16:36:15
>>202-203を確認するには、
$ ./script/server
を実行したディレクトリから相対パスで
log/development.log
というファイルを見る。


205:nobodyさん
07/04/14 18:46:14 B2xpWsRy
Top 10 Ruby on Rails performance tips
URLリンク(www.antoniocangiano.com)

Rails(つーか、Rubyプログラム)を早くする10のチップス

206:nobodyさん
07/04/14 21:40:24 6tinSehY
そもそもの/rails/info/properties
ってどこを読みにいってるんでしょうか?


207:nobodyさん
07/04/14 22:32:26
>>206

rails-x.y.z/builtin/rails_info/rails/info_controller.rb

というかログは見たのかと。


208:nobodyさん
07/04/14 22:41:35 6tinSehY
About your application’s environment
をクリックしたときのログは、
Processing InfoController#properties (for 127.0.0.1 at 2007-04-14 22:38:27) [GET]
Session ID: f23ae9ce2c7a252c1b125a13c239630e
Parameters: {"action"=>"properties", "controller"=>"rails/info"}
Completed in 0.08135 (12 reqs/sec) | Rendering: 0.00256 (3%) | 200 OK [URLリンク(localhost)

となっています。


209:nobodyさん
07/04/15 00:39:09
それだとrails的には正常に動作しているな。

コンソール(script/console)から

>> app.get('/rails/info/properties')
はたぶん200が返るよね。(正常動作)

>> Rails::Info

>> Rails::Info.properties
は実行できる?


210:nobodyさん
07/04/15 00:54:17 VaZuR0Tw
script/consoleの実行でエラーが出るので、たどっていったら、
irbが入っていませんでした。
ruby1.8-devは入れたんだけどな。
というわけで,
#apt-get install irb
でAbout your application’s environmentから動作環境が表示されるようになりました。
ありがとう。


211:nobodyさん
07/04/15 01:01:29
grepしてもirbの有無が影響しそうなところは見あたらないなと思ったのだが、active_support/breakpoint.rb が require 'irb' してるのが影響するのかな。



212:nobodyさん
07/04/15 01:10:39
irbパッケージはバイナリだけなんだけどなあw
irbのライブラリ側でバイナリあるかみてるのかね

213:nobodyさん
07/04/15 01:47:46 bwS+3MUr
Railsの有効な要件範囲を5行で答えよ

214:nobodyさん
07/04/15 10:33:07
そういやwebricのコンソールにエラーは出なかったの?

215:nobodyさん
07/04/15 11:17:24
ちと長いけどWebrickのエラーです。

#<ArgumentError: Anonymous modules have no name to be referenced by>
["/usr/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/dependencies.rb:404:in `to_constant_name'", "/usr/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/dependencies.rb:214:in `qualified_name_for'",
"/usr/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/dependencies.rb:476:in `const_missing'",
"/usr/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/dispatcher.rb:117:in `reset_after_dispatch'",
制限かかったので中略。

[2007-03-29 06:50:53] ERROR `/rails/info/properties' not found.
192.168.0.8 - - [29/Mar/2007:06:50:53 JST] "GET /rails/info/properties HTTP/1.1" 404 294
URLリンク(192.168.0.10:3000) -> /rails/info/properties

irb抜いて再現。



216:nobodyさん
07/04/15 11:21:43
>>215

dispatcher.rb:117がまさに
Breakpoint.deactivate_drb if defined?(BREAKPOINT_SERVER_PORT)
だな。ここでRailsの自動ロード(const_missingから↑の処理)によって
breakpoint.rbが読まれて、最初(18行目)のrequire 'irb'に引っかかるってことか。


217:216
07/04/15 11:23:32
しかし>>212によれば
Debianのruby-irbってバイナリ(というか/usr/bin/irbはスクリプトだが)
しか入ってないらしいから、requireが失敗するのは変だな。


218:nobodyさん
07/04/15 11:45:56
あ、ubuntuです。
インストールファイル一覧みると拡張子.rbなスクリプトが結構あるようです。

ちなみにVine4,1でも同じ現象に悩んでて、irb追加で動作しました。



219:nobodyさん
07/04/15 11:51:45
debもvineもやまださんがパッケージングしてるから構成が似てるのかな。


220:212
07/04/15 13:33:24
なるほど、ubuntuはirbパッケージに
irbのライブラリも入ってるのか
debian使ってるのでdebianかと思って早とちった
debianはirbパッケージがbinの分だけの構成
納得

221:nobodyさん
07/04/15 13:49:53
ubuntuならrails1.1.6パッケージがあるんで、そっちを入れればスムーズだったでしょうね。
依存情報みると、
ruby1.8(>=1.8.2-3)
rake(>0.7.0)
rdoc(>1.8.2)
libpgsql-ruby1.8 |libmysql-ruby1.8 | libdbi-ruby1.8
libredcloth-ruby1.8
liberb-ruby
となってます。
irbは推奨。

パッケージ使うのとgemから入れるのとどっちがよかったんでしょ?
#深く考えずにgemから入れてるので、ruby関係のファイルダブってる予感。



222:nobodyさん
07/04/15 13:56:55
パッケージはやっぱり最新になるまで若干ラグがあるから
gemで入れれるものは全部gemで入れるなあ
あとダブっちゃうとパッケージ入れたものが優先されちゃって
それのバージョンが古くて動かないとか時々ハマる
ので、基本rubyのライブラリはgemで入れている

223:nobodyさん
07/04/15 22:26:40 R7zqEagR
パッケージはとにかくお手軽で入れたい人用。更新は遅い

gemは、面倒だが更新が早い(というか即更新)
面倒っつーか、正式にはgemだけど

224:nobodyさん
07/04/15 22:48:47
>>223
gem 面倒かなあ。

 gem のインストールを1回やれば、あとは手間というほどのものは
ないとおもうけどなあ

225:nobodyさん
07/04/15 23:16:06
gem本体はパッケージで入れてる

226:nobodyさん
07/04/16 16:54:04 Cp2bXGKb
@aa
@aa.bb = bb.new
@aa.cc = cc.new

if @aa.save
render :action => 'susumu'
else
render :action => 'modoru'
end

の状態でccのvalidateがうまくいかない。

bbモデルのvalidateではちゃんと検出して差し戻しが起きるのに
ccモデルのvalidateではerrors.addしても
susumuに行ってしまいます。

わかる方いたら教えてください。

227:nobodyさん
07/04/16 19:21:02 beYyUphl
数あるプログラミング言語の中から
Rubyを選んでRailsという素晴らしいアイデアを
実現したDHHって今更ながら凄い。
多分、RailsがなければRubyという言語の良さに
一生気づく事も無かったかもしれない。
Railsについてはまだまだ知らない事だらけだが、
こいつのやる事なら勉強してみる価値ありそうだ
そう思わせてくれる。

228:nobodyさん
07/04/16 21:02:14
>>226
has_oneとかbelongs_toとかはどうなってるの?


229:nobodyさん
07/04/16 21:24:33 3HLa8xFU
All your base are belong to us

230:nobodyさん
07/04/16 21:59:48 a8d2FLrt
もうすぐオライリーのRailsクックブック発売ですが、RailsクックブックとRailsレシピって、内容かぶってるんですか?

それとも、両方手元のあった方が良い?

231:nobodyさん
07/04/17 05:11:40
Rubyクックブックじゃなくて?

232:nobodyさん
07/04/17 07:24:14 57xOi4kk
>228さん

aa
has_many bb
has_one cc

で、両方とも
belongs_to aa
になります。

233:nobodyさん
07/04/17 07:25:33 57xOi4kk
あ、なので、正確には
@aa.bb << bb.new
@aa.cc = cc.new
ですね。


234:nobodyさん
07/04/17 08:15:03
belongs_to :aa はないの?


235:230
07/04/17 08:18:58 65SxndUC
すんません、RubyとRails勘違いしてました。

236:nobodyさん
07/04/17 08:46:27 57xOi4kk
>234さbb

bbにもccにも
belongs_to :aa
があります。

ちなみに、cc.saveをするとちゃんとvalidateが動いて差し戻すので
addしてるerrorsが違うオブジェクトなのでしょうか…。

237:nobodyさん
07/04/17 16:43:35
rubyリストの本が今日某電気屋においてあった

238:nobodyさん
07/04/19 17:09:42
railsアプリ内でwww.hogehoge.comへのアクセスを
hogehoge.comにリダイレクトする方法ありませんか?
mongrelのみでアプリ立ち上げているもんで、、、

239:nobodyさん
07/04/19 21:14:27
DNSの仕事じゃないの?


240:nobodyさん
07/04/20 01:06:03
RadRailsについてですが、こちらで質問させて頂きます。

RadRailsで、右下のペインのタブ(Servers, Generators, Rake Tasksなど)を
閉じてしまった場合、どうすれば元に戻せるでしょうか?

タブを閉じるボタンはあるのに、再度開く方法が分からず、
タブを移動する際に誤って、閉じる(×)ボタンを押してしまわないか心配です。

241:nobodyさん
07/04/20 03:46:08
>>239
目から鱗でした。ありがとうございます。
valuedomainでのdnsだったので
URLリンク(seesaa.info)
を参考に無事完了です。

242:nobodyさん
07/04/20 08:14:22
>>240
しばらくeclipse使ってないんだが、
Windowメニューの中からViewを選んで表示できない?


243:240
07/04/20 22:48:25
>>242
ありがとうございます。

Window > Show View > Other ...
から、各項目を復帰できる事を確認しました。

周りにも、タブを閉じてしまって困っている人がいるので助かりました。

244:nobodyさん
07/04/23 14:22:03
フォームのセレクトの使い方がわからない。。

<p><label for="user_type">タイプ</label>
<%= select 'user', 'type', [ "タイプ1", "タイプ2", "タイプ3" ] %></p>

とすると、こんなんでます。

TypeError in users#create
Showing app/views/users/_form.rhtml where line #8 raised:

wrong argument type String (expected Module)

どなたかご教授ください。



245:nobodyさん
07/04/23 16:03:10
URLリンク(api.rubyonrails.org)
URLリンク(api.rubyonrails.org)
いいか、びっくりすんなよ。なんとその情報はリファレンスマニュアルに実例つきで書いてあるんだ!


246:244
07/04/23 17:18:10
typeカラムがなかったYO!

>>245
びっくりしたYO!

247:nobodyさん
07/04/24 20:18:46
特定のモデルクラスに対してのみpluralize_table_names=falseを
適用したいと思い、継承したクラス内でクラス変数の設定をしたのですが、
親クラスのクラス変数も上書きされてしまっています…。

↓ソースだとこんな感じです

class Model < ActiveRecord::Base
self.pluralize_table_names = false
end

回避するにはモデルごとにpluralize_table_names変数をセットするしかないのでしょうか…?
どなたか良い解法後存知でしたら教えてください。

248:nobodyさん
07/04/24 22:48:24
なんでクラス内の変数が
親クラスに影響与え天だよ
スコープが甘いんじゃねーの?

249:nobodyさん
07/04/24 22:58:31 cwLWyb36
RadRailsのwebrick立ち上げがメッサ遅いんですけど(WindowsXP)
何でなんだろ・・・
コマンドラインからだと、そこまで遅くないんだけどな

250:nobodyさん
07/04/24 23:49:48
>>249
mongrelにすれば?

251:nobodyさん
07/04/25 00:59:22
>>247
class Model < ActiveRecord::Base
def self.pluralize_table_names
false
end
end

>>248
1.9 では親クラスと共有しなくなった。

252:nobodyさん
07/04/25 10:02:52
>>247
URLリンク(capsctrl.que.jp)

253:nobodyさん
07/04/25 13:55:01
Rails1.2でARのObject#idがdeprecatedになってるんだけど、これってもう
実装者からはid触れなくするってことなんかな?
バッチとかでtrancateしてinsertし直す時に困りそうな気がするんだが…。


254:nobodyさん
07/04/25 14:17:42
>>253
自己レス
warning: Object#id will be deprecated; use Object#object_id

よく嫁よ俺…orz


255:nobodyさん
07/04/25 15:55:33 l0yezZx4
RadRailsでWebサイト作ってるんですけど
debugってどうやればいいんでしょう?
サイトをいじりながらデバッグしたいんですけど、
出来ないのかな?

256:244
07/04/25 20:29:04
ラジオボタンのcheckedってどーやんだ。

<%= radio_button 'send', 'type', 'mail' %>aaa
<%= radio_button 'send', 'type', 'login' %>bbb

Rails API ドキュメントむずい・・

257:nobodyさん
07/04/25 21:03:10
先に
<% send.type = 'mail' %>
と値を設定しておいてやればいいのでは?

258:nobodyさん
07/04/25 21:03:47
あ、もうちょっと考えて書けばよかった。
<% send.type |= 'mail' %>
の方がいいね。

259:nobodyさん
07/04/25 21:44:07
>>258

||= と見た。


260:244
07/04/25 21:51:46
<% send.type ||= 'mail' %>
<%= radio_button 'send', 'type', 'mail' %>aaa
<%= radio_button 'send', 'type', 'login' %>bbb

no method name given

だめでし

261:257
07/04/25 22:15:50
>>260
<% @send.type ||= 'mail' %>
です。重ね重ね済まん。


262:244
07/04/25 22:56:47
うーん、
エラーで無くなったけどcheckedにならないですね。

<% @send.type ||= 'mail' %>
<%= radio_button 'send', 'type', 'mail' %>aaa
<%= radio_button 'send', 'type', 'login' %>bbb

だめぽ

263:nobodyさん
07/04/26 08:06:56 7y5iCbkB
脆弱性乙

264:nobodyさん
07/04/26 09:48:50
>>244
単に@send.typeがObject#typeを呼んでるだけなんじゃないの?
method_missing経由でカラム名のアクセサがあるように見せているので、
すでにメソッドがあったり、自分で上書きしたりすればデフォルトのアクセッサは
動かなくなる。


265:nobodyさん
07/04/26 18:39:23
ARって検索で大量のレコードがHitすると検索結果を全部Arrayに入れようとするので重くなりますよね。
ARでカーソルみたいなRecordSetのような概念はないんでしょうか?

WebアプリだったらそもそもそんなにHitする画面はねーよ、っていう思想なのかな・・


266:nobodyさん
07/04/26 22:44:12
>>265
いまんとこないですな。
ぐぐるといろいろ工夫してる人がいるみたいですが。

MySQLのid割り当てのしかたを前提にしたちょっとインチキ。
URLリンク(weblog.jamisbuck.org)

ActiveRecordEnumerable(試作)
URLリンク(schuerig.de)


267:nobodyさん
07/04/26 23:27:48
すみませんが、質問です。

Railsで、アップロードされたファイルを受信する際に、ファイルのサイズに制
限をつけるにはどうしたらよいのでしょうか?巨大ファイルを送信されたとき
に拒否したいのです。


268:nobodyさん
07/04/28 01:15:37
初歩的で恐縮ですが、質問です。

ファンクションテストで使う、assins には、メソッドと単なるハッシュの二種
類があるそうですが、この単なるハッシュのスコープは何でしょうか?

単なるローカル変数だとしたら、そのテストメソッドの中のスコープしかあり
ませんから、テストメソッドの実行前に価をセットしておけるはずがないと思
います。不思議です。


269:nobodyさん
07/04/28 06:33:56
ゆっとることがよくわからんし、assinsがassinsertかassignsかも判然としないけど、
assignsのハッシュはViewのインスタンス変数のハッシュそのものじゃないか。
ソース見てないけど。

>>267
File.size(params[:uploaded_file].local_path) じゃだめかね
直接params[:uploaded_file].sizeでいけたかも。

270:nobodyさん
07/04/28 14:21:10
CruiseControl.rbってRailsなのね。


271:nobodyさん
07/04/28 14:21:31 weHXkhvg
>>265
この現象ってページングの時もですか?
1億件から30行とってくる場合に、1億件ARRAYに入れて30件抽出すると言う事ですか?

272:nobodyさん
07/04/28 14:36:30
pagination は内部では
find(:all, ...
 :offset => paginator.current.offset, :limit => per_page)
という呼び出しをしているのでだいじょぶ。




273:nobodyさん
07/04/28 15:27:33
ただ、デフォルトの pagenate は小さいオブジェクトをたくさん作るので、
そこでメモリ食ったり処理速度上のネックになったりはする。
表示する件数がやたら多い場合とかだけどね。


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4331日前に更新/226 KB
担当:undef