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/
199 名前:nobodyさん [2007/04/14(土) 00:33:16 ID:6tinSehY] $rails hello $cd hello $./script/server として、 localhost:3000/ を表示、 About your application’s environment をクリックすると、 `/rails/info/properties' not found. 何が足りないんでしょうか?
200 名前:nobodyさん mailto:sage [2007/04/14(土) 00:40:55 ID:???] rails本体ロードできてるのかそれ
201 名前:nobodyさん [2007/04/14(土) 15:37:31 ID:6tinSehY] Welcome aboard までは表示されるんですよね。 うーむ
202 名前:nobodyさん mailto:sage [2007/04/14(土) 15:43:47 ID:???] スタックトレースは?
203 名前:nobodyさん mailto:sage [2007/04/14(土) 16:27:35 ID:???] ログ見ろ
204 名前:nobodyさん mailto:sage [2007/04/14(土) 16:36:15 ID:???] >>202-203 を確認するには、 $ ./script/server を実行したディレクトリから相対パスで log/development.log というファイルを見る。
205 名前:nobodyさん [2007/04/14(土) 18:46:14 ID:B2xpWsRy] Top 10 Ruby on Rails performance tips www.antoniocangiano.com/articles/2007/02/10/top-10-ruby-on-rails-performance-tips Rails(つーか、Rubyプログラム)を早くする10のチップス
206 名前:nobodyさん [2007/04/14(土) 21:40:24 ID:6tinSehY] そもそもの/rails/info/properties ってどこを読みにいってるんでしょうか?
207 名前:nobodyさん mailto:sage [2007/04/14(土) 22:32:26 ID:???] >>206 rails-x.y.z/builtin/rails_info/rails/info_controller.rb というかログは見たのかと。
208 名前:nobodyさん [2007/04/14(土) 22:41:35 ID: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 [localhost/rails/info/properties] となっています。
209 名前:nobodyさん mailto:sage [2007/04/15(日) 00:39:09 ID:???] それだとrails的には正常に動作しているな。 コンソール(script/console)から >> app.get('/rails/info/properties') はたぶん200が返るよね。(正常動作) >> Rails::Info や >> Rails::Info.properties は実行できる?
210 名前:nobodyさん [2007/04/15(日) 00:54:17 ID:VaZuR0Tw] script/consoleの実行でエラーが出るので、たどっていったら、 irbが入っていませんでした。 ruby1.8-devは入れたんだけどな。 というわけで, #apt-get install irb でAbout your application’s environmentから動作環境が表示されるようになりました。 ありがとう。
211 名前:nobodyさん mailto:sage [2007/04/15(日) 01:01:29 ID:???] grepしてもirbの有無が影響しそうなところは見あたらないなと思ったのだが、active_support/breakpoint.rb が require 'irb' してるのが影響するのかな。
212 名前:nobodyさん mailto:sage [2007/04/15(日) 01:10:39 ID:???] irbパッケージはバイナリだけなんだけどなあw irbのライブラリ側でバイナリあるかみてるのかね
213 名前:nobodyさん [2007/04/15(日) 01:47:46 ID:bwS+3MUr] Railsの有効な要件範囲を5行で答えよ
214 名前:nobodyさん mailto:sage [2007/04/15(日) 10:33:07 ID:???] そういやwebricのコンソールにエラーは出なかったの?
215 名前:nobodyさん mailto:sage [2007/04/15(日) 11:17:24 ID:???] ちと長いけど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 192.168.0.10:3000/ -> /rails/info/properties irb抜いて再現。
216 名前:nobodyさん mailto:sage [2007/04/15(日) 11:21:43 ID:???] >>215 dispatcher.rb:117がまさに Breakpoint.deactivate_drb if defined?(BREAKPOINT_SERVER_PORT) だな。ここでRailsの自動ロード(const_missingから↑の処理)によって breakpoint.rbが読まれて、最初(18行目)のrequire 'irb'に引っかかるってことか。
217 名前:216 mailto:sage [2007/04/15(日) 11:23:32 ID:???] しかし>>212 によれば Debianのruby-irbってバイナリ(というか/usr/bin/irbはスクリプトだが) しか入ってないらしいから、requireが失敗するのは変だな。
218 名前:nobodyさん mailto:sage [2007/04/15(日) 11:45:56 ID:???] あ、ubuntuです。 インストールファイル一覧みると拡張子.rbなスクリプトが結構あるようです。 ちなみにVine4,1でも同じ現象に悩んでて、irb追加で動作しました。
219 名前:nobodyさん mailto:sage [2007/04/15(日) 11:51:45 ID:???] debもvineもやまださんがパッケージングしてるから構成が似てるのかな。
220 名前:212 mailto:sage [2007/04/15(日) 13:33:24 ID:???] なるほど、ubuntuはirbパッケージに irbのライブラリも入ってるのか debian使ってるのでdebianかと思って早とちった debianはirbパッケージがbinの分だけの構成 納得
221 名前:nobodyさん mailto:sage [2007/04/15(日) 13:49:53 ID:???] 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さん mailto:sage [2007/04/15(日) 13:56:55 ID:???] パッケージはやっぱり最新になるまで若干ラグがあるから gemで入れれるものは全部gemで入れるなあ あとダブっちゃうとパッケージ入れたものが優先されちゃって それのバージョンが古くて動かないとか時々ハマる ので、基本rubyのライブラリはgemで入れている
223 名前:nobodyさん [2007/04/15(日) 22:26:40 ID:R7zqEagR] パッケージはとにかくお手軽で入れたい人用。更新は遅い gemは、面倒だが更新が早い(というか即更新) 面倒っつーか、正式にはgemだけど
224 名前:nobodyさん mailto:sage [2007/04/15(日) 22:48:47 ID:???] >>223 gem 面倒かなあ。 gem のインストールを1回やれば、あとは手間というほどのものは ないとおもうけどなあ
225 名前:nobodyさん mailto:sage [2007/04/15(日) 23:16:06 ID:???] gem本体はパッケージで入れてる
226 名前:nobodyさん [2007/04/16(月) 16:54:04 ID: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さん [2007/04/16(月) 19:21:02 ID:beYyUphl] 数あるプログラミング言語の中から Rubyを選んでRailsという素晴らしいアイデアを 実現したDHHって今更ながら凄い。 多分、RailsがなければRubyという言語の良さに 一生気づく事も無かったかもしれない。 Railsについてはまだまだ知らない事だらけだが、 こいつのやる事なら勉強してみる価値ありそうだ そう思わせてくれる。
228 名前:nobodyさん mailto:sage [2007/04/16(月) 21:02:14 ID:???] >>226 has_oneとかbelongs_toとかはどうなってるの?
229 名前:nobodyさん [2007/04/16(月) 21:24:33 ID:3HLa8xFU] All your base are belong to us
230 名前:nobodyさん [2007/04/16(月) 21:59:48 ID:a8d2FLrt] もうすぐオライリーのRailsクックブック発売ですが、RailsクックブックとRailsレシピって、内容かぶってるんですか? それとも、両方手元のあった方が良い?
231 名前:nobodyさん mailto:sage [2007/04/17(火) 05:11:40 ID:???] Rubyクックブックじゃなくて?
232 名前:nobodyさん [2007/04/17(火) 07:24:14 ID:57xOi4kk] >228さん aa has_many bb has_one cc で、両方とも belongs_to aa になります。
233 名前:nobodyさん [2007/04/17(火) 07:25:33 ID:57xOi4kk] あ、なので、正確には @aa.bb << bb.new @aa.cc = cc.new ですね。
234 名前:nobodyさん mailto:sage [2007/04/17(火) 08:15:03 ID:???] belongs_to :aa はないの?
235 名前:230 [2007/04/17(火) 08:18:58 ID:65SxndUC] すんません、RubyとRails勘違いしてました。
236 名前:nobodyさん [2007/04/17(火) 08:46:27 ID:57xOi4kk] >234さbb bbにもccにも belongs_to :aa があります。 ちなみに、cc.saveをするとちゃんとvalidateが動いて差し戻すので addしてるerrorsが違うオブジェクトなのでしょうか…。
237 名前:nobodyさん mailto:sage [2007/04/17(火) 16:43:35 ID:???] rubyリストの本が今日某電気屋においてあった
238 名前:nobodyさん mailto:sage [2007/04/19(木) 17:09:42 ID:???] railsアプリ内でwww.hogehoge.comへのアクセスを hogehoge.comにリダイレクトする方法ありませんか? mongrelのみでアプリ立ち上げているもんで、、、
239 名前:nobodyさん mailto:sage [2007/04/19(木) 21:14:27 ID:???] DNSの仕事じゃないの?
240 名前:nobodyさん mailto:sage [2007/04/20(金) 01:06:03 ID:???] RadRailsについてですが、こちらで質問させて頂きます。 RadRailsで、右下のペインのタブ(Servers, Generators, Rake Tasksなど)を 閉じてしまった場合、どうすれば元に戻せるでしょうか? タブを閉じるボタンはあるのに、再度開く方法が分からず、 タブを移動する際に誤って、閉じる(×)ボタンを押してしまわないか心配です。
241 名前:nobodyさん mailto:sage [2007/04/20(金) 03:46:08 ID:???] >>239 目から鱗でした。ありがとうございます。 valuedomainでのdnsだったので seesaa.info/ を参考に無事完了です。
242 名前:nobodyさん mailto:sage [2007/04/20(金) 08:14:22 ID:???] >>240 しばらくeclipse使ってないんだが、 Windowメニューの中からViewを選んで表示できない?
243 名前:240 mailto:sage [2007/04/20(金) 22:48:25 ID:???] >>242 ありがとうございます。 Window > Show View > Other ... から、各項目を復帰できる事を確認しました。 周りにも、タブを閉じてしまって困っている人がいるので助かりました。
244 名前:nobodyさん mailto:sage [2007/04/23(月) 14:22:03 ID:???] フォームのセレクトの使い方がわからない。。 <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さん mailto:sage [2007/04/23(月) 16:03:10 ID:???] ttp://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#M000506 ttp://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#M000510 いいか、びっくりすんなよ。なんとその情報はリファレンスマニュアルに実例つきで書いてあるんだ!
246 名前:244 mailto:sage [2007/04/23(月) 17:18:10 ID:???] typeカラムがなかったYO! >>245 びっくりしたYO!
247 名前:nobodyさん mailto:sage [2007/04/24(火) 20:18:46 ID:???] 特定のモデルクラスに対してのみpluralize_table_names=falseを 適用したいと思い、継承したクラス内でクラス変数の設定をしたのですが、 親クラスのクラス変数も上書きされてしまっています…。 ↓ソースだとこんな感じです class Model < ActiveRecord::Base self.pluralize_table_names = false end 回避するにはモデルごとにpluralize_table_names変数をセットするしかないのでしょうか…? どなたか良い解法後存知でしたら教えてください。
248 名前:nobodyさん mailto:sage [2007/04/24(火) 22:48:24 ID:???] なんでクラス内の変数が 親クラスに影響与え天だよ スコープが甘いんじゃねーの?
249 名前:nobodyさん [2007/04/24(火) 22:58:31 ID:cwLWyb36] RadRailsのwebrick立ち上げがメッサ遅いんですけど(WindowsXP) 何でなんだろ・・・ コマンドラインからだと、そこまで遅くないんだけどな
250 名前:nobodyさん mailto:sage [2007/04/24(火) 23:49:48 ID:???] >>249 mongrelにすれば?
251 名前:nobodyさん mailto:sage [2007/04/25(水) 00:59:22 ID:???] >>247 class Model < ActiveRecord::Base def self.pluralize_table_names false end end >>248 1.9 では親クラスと共有しなくなった。
252 名前:nobodyさん mailto:sage [2007/04/25(水) 10:02:52 ID:???] >>247 capsctrl.que.jp/kdmsnr/wiki/bliki/?ClassInstanceVariable
253 名前:nobodyさん mailto:sage [2007/04/25(水) 13:55:01 ID:???] Rails1.2でARのObject#idがdeprecatedになってるんだけど、これってもう 実装者からはid触れなくするってことなんかな? バッチとかでtrancateしてinsertし直す時に困りそうな気がするんだが…。
254 名前:nobodyさん mailto:sage [2007/04/25(水) 14:17:42 ID:???] >>253 自己レス warning: Object#id will be deprecated; use Object#object_id よく嫁よ俺…orz
255 名前:nobodyさん [2007/04/25(水) 15:55:33 ID:l0yezZx4] RadRailsでWebサイト作ってるんですけど debugってどうやればいいんでしょう? サイトをいじりながらデバッグしたいんですけど、 出来ないのかな?
256 名前:244 mailto:sage [2007/04/25(水) 20:29:04 ID:???] ラジオボタンのcheckedってどーやんだ。 <%= radio_button 'send', 'type', 'mail' %>aaa <%= radio_button 'send', 'type', 'login' %>bbb Rails API ドキュメントむずい・・
257 名前:nobodyさん mailto:sage [2007/04/25(水) 21:03:10 ID:???] 先に <% send.type = 'mail' %> と値を設定しておいてやればいいのでは?
258 名前:nobodyさん mailto:sage [2007/04/25(水) 21:03:47 ID:???] あ、もうちょっと考えて書けばよかった。 <% send.type |= 'mail' %> の方がいいね。
259 名前:nobodyさん mailto:sage [2007/04/25(水) 21:44:07 ID:???] >>258 ||= と見た。
260 名前:244 mailto:sage [2007/04/25(水) 21:51:46 ID:???] <% send.type ||= 'mail' %> <%= radio_button 'send', 'type', 'mail' %>aaa <%= radio_button 'send', 'type', 'login' %>bbb no method name given だめでし
261 名前:257 mailto:sage [2007/04/25(水) 22:15:50 ID:???] >>260 <% @send.type ||= 'mail' %> です。重ね重ね済まん。
262 名前:244 mailto:sage [2007/04/25(水) 22:56:47 ID:???] うーん、 エラーで無くなったけどcheckedにならないですね。 <% @send.type ||= 'mail' %> <%= radio_button 'send', 'type', 'mail' %>aaa <%= radio_button 'send', 'type', 'login' %>bbb だめぽ
263 名前:nobodyさん [2007/04/26(木) 08:06:56 ID:7y5iCbkB] 脆弱性乙
264 名前:nobodyさん mailto:sage [2007/04/26(木) 09:48:50 ID:???] >>244 単に@send.typeがObject#typeを呼んでるだけなんじゃないの? method_missing経由でカラム名のアクセサがあるように見せているので、 すでにメソッドがあったり、自分で上書きしたりすればデフォルトのアクセッサは 動かなくなる。
265 名前:nobodyさん mailto:sage [2007/04/26(木) 18:39:23 ID:???] ARって検索で大量のレコードがHitすると検索結果を全部Arrayに入れようとするので重くなりますよね。 ARでカーソルみたいなRecordSetのような概念はないんでしょうか? WebアプリだったらそもそもそんなにHitする画面はねーよ、っていう思想なのかな・・
266 名前:nobodyさん mailto:sage [2007/04/26(木) 22:44:12 ID:???] >>265 いまんとこないですな。 ぐぐるといろいろ工夫してる人がいるみたいですが。 MySQLのid割り当てのしかたを前提にしたちょっとインチキ。 weblog.jamisbuck.org/2007/4/6/faking-cursors-in-activerecord ActiveRecordEnumerable(試作) schuerig.de/michael/blog/index.php/2007/02/03/ar-enumerable/
267 名前:nobodyさん mailto:sage [2007/04/26(木) 23:27:48 ID:???] すみませんが、質問です。 Railsで、アップロードされたファイルを受信する際に、ファイルのサイズに制 限をつけるにはどうしたらよいのでしょうか?巨大ファイルを送信されたとき に拒否したいのです。
268 名前:nobodyさん mailto:sage [2007/04/28(土) 01:15:37 ID:???] 初歩的で恐縮ですが、質問です。 ファンクションテストで使う、assins には、メソッドと単なるハッシュの二種 類があるそうですが、この単なるハッシュのスコープは何でしょうか? 単なるローカル変数だとしたら、そのテストメソッドの中のスコープしかあり ませんから、テストメソッドの実行前に価をセットしておけるはずがないと思 います。不思議です。
269 名前:nobodyさん mailto:sage [2007/04/28(土) 06:33:56 ID:???] ゆっとることがよくわからんし、assinsがassinsertかassignsかも判然としないけど、 assignsのハッシュはViewのインスタンス変数のハッシュそのものじゃないか。 ソース見てないけど。 >>267 File.size(params[:uploaded_file].local_path) じゃだめかね 直接params[:uploaded_file].sizeでいけたかも。
270 名前:nobodyさん mailto:sage [2007/04/28(土) 14:21:10 ID:???] CruiseControl.rbってRailsなのね。
271 名前:nobodyさん [2007/04/28(土) 14:21:31 ID:weHXkhvg] >>265 この現象ってページングの時もですか? 1億件から30行とってくる場合に、1億件ARRAYに入れて30件抽出すると言う事ですか?
272 名前:nobodyさん mailto:sage [2007/04/28(土) 14:36:30 ID:???] pagination は内部では find(:all, ... :offset => paginator.current.offset, :limit => per_page) という呼び出しをしているのでだいじょぶ。
273 名前:nobodyさん mailto:sage [2007/04/28(土) 15:27:33 ID:???] ただ、デフォルトの pagenate は小さいオブジェクトをたくさん作るので、 そこでメモリ食ったり処理速度上のネックになったりはする。 表示する件数がやたら多い場合とかだけどね。
274 名前:271 [2007/04/28(土) 18:50:24 ID:weHXkhvg] >>272-273 サンクスです 安心しました
275 名前:nobodyさん mailto:sage [2007/05/01(火) 00:45:09 ID:???] Rubyって現在運用に向いてるの? あんまりみたことないし、作者のサイトがPHPなんだけどw この言語はネタかww
276 名前:nobodyさん mailto:sage [2007/05/01(火) 01:32:32 ID:???] 作者のサイトとは?
277 名前:nobodyさん mailto:sage [2007/05/01(火) 01:53:04 ID:???] 運用ってどんな運用よ?
278 名前:nobodyさん mailto:sage [2007/05/01(火) 03:36:54 ID:???] つれたつれた
279 名前:nobodyさん mailto:sage [2007/05/01(火) 03:41:15 ID:???] で、作者のサイトとは?
280 名前:nobodyさん mailto:sage [2007/05/01(火) 04:18:42 ID:???] PHPのアホ言語仕様に気づかないようなプログラミングセンスのない奴は 所詮何使っても同じだよ
281 名前:nobodyさん mailto:sage [2007/05/01(火) 04:20:28 ID:???] へえ、たとえばどんな?2〜3例ばかり挙げてもらえる?
282 名前:nobodyさん mailto:sage [2007/05/01(火) 05:18:34 ID:???] 山ほどあるが、一番アホなのは高階関数が使えない事かな。 PHP function cube($n) { return($n * $n * $n); } $a = array(1, 2, 3, 4, 5); $b = array_map("cube", $a); print_r($b); Ruby a = [1, 2, 3, 4, 5] p a.map {|x| x**3} 実装の多重継承を行う仕組みがないところ あとは組み込み関数にオブジェクト指向が全然活用されてないところ、 Perlに中途半端に似てるシンタックス
283 名前:nobodyさん mailto:sage [2007/05/01(火) 05:30:41 ID:???] うーん、だっさーいけどcreate_functionを使えば同等のことができると思うけど。 それを言うならclosureがないのがアホだろう。
284 名前:nobodyさん mailto:sage [2007/05/01(火) 05:34:45 ID:???] あー、あと実装の多重継承(rubyでいうinclude)がないのには結構悩んだ。 けどこれもなんとかなるんだよね、実は。requireを使えばできる。 組み込み関数にオブジェクト指向が活用されてないのは仕方ないよ。 だって全部がオブジェクトじゃないし、元々の出自が違うもの。 そこは割り引いてあげなきゃ。 Perlに文法似てる? 全然そんなことないと思うけど。 Perlの文法で特徴的なのは文脈で変数の解釈が変わることで、 PHPにはそれがないよ。
285 名前:nobodyさん mailto:sage [2007/05/01(火) 05:36:35 ID:???] 連投すまん。 だからといってPHPがいいとはちっとも思ってない。 アホ言語仕様とまでは思わないけど、 まあ文法はださいけど結構色々できるよってことね。
286 名前:nobodyさん mailto:sage [2007/05/01(火) 11:21:05 ID:???] Rubyはイテレータが便利で今までFor文とかほとんど書いた事がなかったんですけど、ERBだとFor文を使ってますよね。 AWDwRのサンプルコード見てもそうですし。 これがどうにもRubyぽくない(というかほとんどJSPに見える)ので嫌なんですが、どうにもならないところなんですかねぇ。。。 イテレータ拡張してブロックの評価結果を戻り値で返すって言うのはダメですか?
287 名前:nobodyさん mailto:sage [2007/05/01(火) 11:35:23 ID:???] 単にデフォルトのscaffoldで生成されるテンプレートがforループを使っているだけであって 使いたくないなら使わなければ良いっていうか、好きにすれば良いっていうか... でもViewで凝ったループを使いたくなることは無いし、forだとだれにでも判り易くていいんじゃない。 表記の好みだけが問題ならどっちでもいいじゃん?
288 名前:nobodyさん mailto:sage [2007/05/01(火) 12:02:04 ID:???] phpはオブジェクト指向を途中から中途半端に入れたからもう無理だろ
289 名前:nobodyさん mailto:sage [2007/05/01(火) 13:54:13 ID:???] eachよりもforのほうが軽い。(eachはループごとにブロックスコープを生成するがforはブロックを作らない)
290 名前:nobodyさん mailto:sage [2007/05/01(火) 17:54:57 ID:???] >>289 それは知らなかった。横で見ていたものだが教えてくれてありがとう。 でもforみたいに新たな文法を導入するよりeachの方が好きなんだよね…。
291 名前:nobodyさん mailto:sage [2007/05/01(火) 21:14:34 ID:???] >>286 eachで書くことが出来ないと思っているならそれ誤解だから。
292 名前:nobodyさん mailto:sage [2007/05/01(火) 21:15:17 ID:???] 値の検証でmodelに validates_presence_of :name, :message=>"名前がありませんよ" みたいにしてるんですけど、カラムが全部未入力の場合だけエラーとしたい場合、 どんなふうにするんでしょ?
293 名前:nobodyさん mailto:sage [2007/05/01(火) 21:26:44 ID:???] モデルにvalidate というメソッドを定義して好きにチェックする。 レコードとして不正だったら、 errors.add_to_base(エラーを伝えるメッセージ) という呼び出しをすればOK。
294 名前:nobodyさん mailto:sage [2007/05/01(火) 21:27:32 ID:???] >>286 これるびまの誰かへのインタビューで なんか理由が書いてたような記憶あるなー forとendが対照的で見やすいのもあるんじゃねとかそういう話 別にeachでも全然いいんじゃないの
295 名前:nobodyさん mailto:sage [2007/05/01(火) 21:27:57 ID:???] 追記。 定義したvalidateは必要に応じてフレームワークから呼ばれるので 自分で呼ぶ必要はないです。
296 名前:292 mailto:sage [2007/05/01(火) 21:42:12 ID:???] modelに def validate if gakunen_id.empty? validates_presence_of :name, :message=>"名前がありませんよ." end end とすると以下のエラーが・・ You have a nil object when you didn't expect it! You might have expected an instance of Array. The error occured while evaluating nil.empty? なぜに。
297 名前:nobodyさん mailto:sage [2007/05/01(火) 21:50:04 ID:???] よくわからんが霊視して答えてみることにする。 if self.gakunen_id.empty? でどうだ?
298 名前:nobodyさん mailto:sage [2007/05/01(火) 21:51:30 ID:???] 未初期化なら''じゃなくてnilだから、empty? は呼べない。 blank? 使え。
299 名前:292 mailto:sage [2007/05/01(火) 22:14:29 ID:???] blank?やnil?でも同じ感じ。 You have a nil object when you didn't expect it! You might have expected an instance of Array. The error occured while evaluating nil.inject Extracted source (around line #6): 6: <%= collection_select 'seller', 'gakunen_id', @gakunen, 'id', 'gakunen', :include_blank => true %><br> なぜー