【Ruby】Ruby on Rail ..
[2ch|▼Menu]
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 は小さいオブジェクトをたくさん作るので、
そこでメモリ食ったり処理速度上のネックになったりはする。
表示する件数がやたら多い場合とかだけどね。

274:271
07/04/28 18:50:24 weHXkhvg
>>272-273
サンクスです
安心しました

275:nobodyさん
07/05/01 00:45:09
Rubyって現在運用に向いてるの?
あんまりみたことないし、作者のサイトがPHPなんだけどw
この言語はネタかww

276:nobodyさん
07/05/01 01:32:32
作者のサイトとは?

277:nobodyさん
07/05/01 01:53:04
運用ってどんな運用よ?

278:nobodyさん
07/05/01 03:36:54
つれたつれた

279:nobodyさん
07/05/01 03:41:15
で、作者のサイトとは?

280:nobodyさん
07/05/01 04:18:42
PHPのアホ言語仕様に気づかないようなプログラミングセンスのない奴は
所詮何使っても同じだよ

281:nobodyさん
07/05/01 04:20:28
へえ、たとえばどんな?2〜3例ばかり挙げてもらえる?

282:nobodyさん
07/05/01 05:18:34
山ほどあるが、一番アホなのは高階関数が使えない事かな。
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さん
07/05/01 05:30:41
うーん、だっさーいけどcreate_functionを使えば同等のことができると思うけど。

それを言うならclosureがないのがアホだろう。

284:nobodyさん
07/05/01 05:34:45
あー、あと実装の多重継承(rubyでいうinclude)がないのには結構悩んだ。
けどこれもなんとかなるんだよね、実は。requireを使えばできる。

組み込み関数にオブジェクト指向が活用されてないのは仕方ないよ。
だって全部がオブジェクトじゃないし、元々の出自が違うもの。
そこは割り引いてあげなきゃ。

Perlに文法似てる? 全然そんなことないと思うけど。
Perlの文法で特徴的なのは文脈で変数の解釈が変わることで、
PHPにはそれがないよ。

285:nobodyさん
07/05/01 05:36:35
連投すまん。

だからといってPHPがいいとはちっとも思ってない。
アホ言語仕様とまでは思わないけど、
まあ文法はださいけど結構色々できるよってことね。

286:nobodyさん
07/05/01 11:21:05
Rubyはイテレータが便利で今までFor文とかほとんど書いた事がなかったんですけど、ERBだとFor文を使ってますよね。
AWDwRのサンプルコード見てもそうですし。
これがどうにもRubyぽくない(というかほとんどJSPに見える)ので嫌なんですが、どうにもならないところなんですかねぇ。。。
イテレータ拡張してブロックの評価結果を戻り値で返すって言うのはダメですか?


287:nobodyさん
07/05/01 11:35:23
単にデフォルトのscaffoldで生成されるテンプレートがforループを使っているだけであって
使いたくないなら使わなければ良いっていうか、好きにすれば良いっていうか...
でもViewで凝ったループを使いたくなることは無いし、forだとだれにでも判り易くていいんじゃない。

表記の好みだけが問題ならどっちでもいいじゃん?


288:nobodyさん
07/05/01 12:02:04
phpはオブジェクト指向を途中から中途半端に入れたからもう無理だろ

289:nobodyさん
07/05/01 13:54:13
eachよりもforのほうが軽い。(eachはループごとにブロックスコープを生成するがforはブロックを作らない)

290:nobodyさん
07/05/01 17:54:57
>>289
それは知らなかった。横で見ていたものだが教えてくれてありがとう。
でもforみたいに新たな文法を導入するよりeachの方が好きなんだよね…。

291:nobodyさん
07/05/01 21:14:34
>>286
eachで書くことが出来ないと思っているならそれ誤解だから。


292:nobodyさん
07/05/01 21:15:17
値の検証でmodelに

validates_presence_of :name, :message=>"名前がありませんよ"

みたいにしてるんですけど、カラムが全部未入力の場合だけエラーとしたい場合、
どんなふうにするんでしょ?

293:nobodyさん
07/05/01 21:26:44
モデルにvalidate というメソッドを定義して好きにチェックする。
レコードとして不正だったら、
errors.add_to_base(エラーを伝えるメッセージ)
という呼び出しをすればOK。


294:nobodyさん
07/05/01 21:27:32
>>286
これるびまの誰かへのインタビューで
なんか理由が書いてたような記憶あるなー
forとendが対照的で見やすいのもあるんじゃねとかそういう話
別にeachでも全然いいんじゃないの

295:nobodyさん
07/05/01 21:27:57
追記。

定義したvalidateは必要に応じてフレームワークから呼ばれるので
自分で呼ぶ必要はないです。


296:292
07/05/01 21:42:12
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さん
07/05/01 21:50:04
よくわからんが霊視して答えてみることにする。

if self.gakunen_id.empty?

でどうだ?

298:nobodyさん
07/05/01 21:51:30
未初期化なら''じゃなくてnilだから、empty? は呼べない。
blank? 使え。


299:292
07/05/01 22:14:29
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>


なぜー

300:nobodyさん
07/05/01 22:21:38
validateと関係ないじゃねーか!



301:nobodyさん
07/05/01 22:28:19
collection_selectの3つめの引数は配列でないといけないんだが。
injectでエラーになってるようだが、

collection_select(..., ..., choices...)
=> to_select_tag(choices,...)
=> options_for_select(choices,...)

でchoices(引数としてはcontaienr)に対してinjectが呼ばれる。
ここでエラーになってないか?



302:nobodyさん
07/05/02 02:22:46
ruby言語仕様がアホすぎてダメだわ。


303:nobodyさん
07/05/02 03:16:56
kwsk

304:nobodyさん
07/05/02 03:23:00
なんでrubyの作者のHPでrubyが使われず、phpが使われてるのかおまえらは考えたことがありますか?

305:nobodyさん
07/05/02 04:05:09
Rubyの言語仕様を理解できない自分がアホだという事には気づかなかっただけ幸せかもね

306:nobodyさん
07/05/02 08:24:11
Rubyの作者のHPって
matzにっき?(tDiary)
ruby-lang.org?(Radiant=Rails)


307:nobodyさん
07/05/02 08:48:15
また「釣れた」とか嬉しそうに言うからほっときなよ。
どうせ何もわかっちゃいないんだし。

308:nobodyさん
07/05/02 11:26:38
matzって最近はPHPの悪口言わなくなったな。大人になったのかな。

309:nobodyさん
07/05/02 12:40:12
>>308
勝利宣言済

310:nobodyさん
07/05/02 16:46:46
Model.find(:all, :include => [:foo,:bar], :joins =>[inner join table t on t.foo_id = foo.id])
と言った感じでInner JoinとLeft joinを使い分けていたのですが、パフォーマンスを
調べていたところ、:joinsオプションで指定したテーブルはJoinこそしてくれてはいるものの、select句で
カラムをまったく指定しておらず、無駄になっている事が分かりました。
(結局参照するときにSelect投げなおしている)

んで、じゃあしゃーないと、:selectでカラムを指定してみてもまったく無視されているようで、SQLに反映されません。

ARでinner joinは茨の道なんでしょうか?DHHからの愛を感じません。


311:nobodyさん
07/05/02 19:53:46
レスありがとうございます-。

>>289
500万回のループを回して処理時間を計ってみたら
forとeachでは0.5〜1秒くらいforの方が早かったです。
そこまで気にしなくてもいい感じですね。

>>290
Σ(゜д゜;)

>>294
<% hoge.each do |v|
foo <%= bar() %>
<% end %>
こんな感じですかね?
言われてみればなんとなく気持ち悪い気もします。


312:nobodyさん
07/05/03 00:05:55 n7bcDdTM
Rails Edgeって何なんですか?
Ruby-MLで、重いって言われてたんですけど・・・

313:nobodyさん
07/05/03 01:05:02
開発の最先端のRailsのこと。


314:nobodyさん
07/05/03 01:16:51
レールの先端て終点ですか

315:nobodyさん
07/05/03 01:18:01
コーナーリングのときに車体が浮いて、車輪が引っかかってる部分が
エッジのような気がする。


316:nobodyさん
07/05/03 01:38:43 nyRAYwv8
URLリンク(www.itmedia.co.jp)

犯罪者用フレームワークに選ばれた?


317:nobodyさん
07/05/03 01:47:29
女性用ってとこがまた似合ってるな

318:nobodyさん
07/05/03 16:30:40
Rubyはスタイリッシュな女性
Perlはガツガツした現場主義マッチョ
PHPはにちゃんねら
ってイメージだな



319:nobodyさん
07/05/03 18:07:37
そういやhelperのテストって書いてますか?
基本はviewから呼ばれるものの、ユニットテストとかできそう。
なんだけど機構がないよね。


320:nobodyさん
07/05/04 01:29:45
>>318
いかにもちゃんねらな発想

321:nobodyさん
07/05/04 02:07:15
railsで作られた有名なサイトって何がある?
なんか個人が片手間で、しかもRailsじゃなくても簡単に
作れるようなサイトしか表に出てないから、
イマイチ実績がわからん…

322:nobodyさん
07/05/04 03:56:44
>>321
URLリンク(rails100.pbwiki.com)

323:nobodyさん
07/05/04 03:58:23
URLリンク(wiki.rubyonrails.org)

324:nobodyさん
07/05/04 08:47:54
ランダムに眺めてみたけど
なんかデザイン最悪、アクセシビリテ悪し、ってやつが多いなあ・・・


325:nobodyさん
07/05/04 10:04:27 DRYOcLVN
>>321
オブジェクト指向スクリプト言語 Ruby
URLリンク(www.ruby-lang.org)


326:nobodyさん
07/05/04 10:06:14 DRYOcLVN
>>321
>>322にもあるけど、今はやりのSNS(?)twitterがRailsだね。
Twitter: What are you doing?
URLリンク(twitter.com)


パフォーマンスあげるのにいろいろ苦心してたみたいだけど。




327:nobodyさん
07/05/04 11:05:10
美しいサイトを紹介してくれ。
これじゃMVCじゃなくてMCだ。

328:nobodyさん
07/05/04 13:25:54
MVCという言葉は知ってるらしいが
Vのデザインまでフレームワークが作ってくれると
思ってるのか

329:nobodyさん
07/05/04 13:37:14 L0mwz8+Z
>>327
ちょwwww
Rails関係なくない?

330:nobodyさん
07/05/04 13:58:19
関係あると思うよ。
Vのデザイン開発クオリティを支えるのも含めてMVCのVだよ。

331:nobodyさん
07/05/04 14:10:18
あのな、MVCモデルってのはプログラム内部の「作り方」の話で、アプリケーションのみてくれや機能とは関係ないんだけど。

で、RailsにDreamweaverやホームページビルダー的なものを期待しているのか?

332:nobodyさん
07/05/04 14:57:30
まぁ、将来は統合されたような物がでるかもしれないが、
いまはないな

333:nobodyさん
07/05/05 01:34:23
今はVのデザインもフレームワークがやってくれるじゃん。
rails以外のrails派生フレームワークはscaffoldである程度整ったもん出してくれるし。
もちろん「設定より規約」に従って、そのデフォルトデザイン自体も指定可能だし。

334:nobodyさん
07/05/05 02:21:57
しかしerbがデザインナーには優しくない訳で・・・。

335:nobodyさん
07/05/05 03:34:46 q6FwsdVV
ちゅーか、デザイナにデザインつくって、
コードに落とすのは、マの役目じゃねーのか?

MVCのVっつったて、まさか、HTMLでデザインするとこまで、マがやるわけじゃあるまいに・・・

336:nobodyさん
07/05/05 06:39:53
スキンやテーマから選択みたいな機能をRailsに実装しろって話?

337:nobodyさん
07/05/05 09:31:19
普通のHTMLをテンプレートとして利用できるようにしろと。
Dreamwaverなんかでちゃんと見れるHTMLを。

あとさ、scaffoldなら、データベースのフィールドが増えたら
自動的にビューに反映される。
その便利な機能を、独自のテンプレートでも反映させられるようにしろと。

たとえば独自で作ったrhtml内に特殊なタグ<% scaffold %>を書いておけば、
そこがscaffoldで生成したようなフォームになる。
ただし、rhtmlですでに項目を使用しているのならそれは除く。

一度作ったrhtmlそのままで、データベースのフィールドの追加に
追尾できるような仕組みがあるといい。
もちろん追尾した部分のデザインは汚いだろうが、それはあとから直せば良い。
それよりも動作チェックを早くしたい。

338:nobodyさん
07/05/05 09:47:26
データベース設計からやり直せよ…。

339:nobodyさん
07/05/05 09:52:34
>>338
DRY原則。やり直すなんてもってのほか。

340:nobodyさん
07/05/05 10:02:57
何言ってんだ?根本的にデータベース設計が糞なんだろ?初めからやり直せよ。
フィールドが途中で増える様な、仕様すら決定してない段階でV作りこんで、何するつもり?

341:nobodyさん
07/05/05 10:06:57
Agileでは作ったものに対して仕様追加という作業がなんども発生する。
だから、作ったビューに対して、仕様変更が発生した場合、
それをデータベースに反映させられるといい。

具体的に言えば、ビューにテキストボックスを追加したら、
データベースでもフィールドが追加される。(手動で追加するのではない)

342:nobodyさん
07/05/05 10:10:24
>>340
最初から仕様を決定するウォーターフロー的な開発は現代に合わない。

アジャイル開発手法においては、開発対象を多数の小さな機能に分割し、
1つの反復 (イテレーション) で1機能を開発する(⇒反復型開発)。 こ
の反復のサイクルを継続して行い、1つずつ機能を追加開発してゆくのである。

おのおのの反復は、小規模なソフトウェア開発プロジェクトに似ている。
各反復では、それまでに開発した成果物に1つの小さな機能を追加する。
計画、要求分析、設計、実装(コーディング)、テスト、文書化といった、
ソフトウェアプロジェクトに要する全ての工程を、1つの反復内で行う。

場合によっては、1つの反復内で開発すると計画していたソフトウェア機能を、
必ずしも期間内で充分に実現できるとは限らない。 このように時にはうまくゆかない反復もあるが、
アジャイル開発手法では、各反復が終了するごとに、機能追加された新しいソフトウェア (ビルド) を
リリースすることを目指す。 各反復が終了するごとに、プロジェクトチームは、
プロジェクトにおける優先度を評価し直す。

343:nobodyさん
07/05/05 10:13:52
単なるフィールドの追加に
データベース設計なんか関係ないだろ。

そのフィールドが外部キーとかになっているのなら話は別だが。

344:nobodyさん
07/05/05 10:15:33
なんつーか、データベース設計きちんと学んだこと無いだろ…。
あー、ここにフィールド1個追加したいなぁって言って出来るのは、初めから、そう言うデータベース設計をしてある時だけだよ。

つーか、その為にscaffoldがあるんだろうが…。

345:nobodyさん
07/05/05 10:17:52
>>343
本気で疑うぞ。そのフィールドに関して、どう言う負荷してるんだ?
つか、何でそのフィールドが必要か?ってのが、データベース設計と言うか、アプリケーションの肝だろ。

346:nobodyさん
07/05/05 10:18:34
>>345
どういう負荷計算な、失礼。

347:nobodyさん
07/05/05 10:27:42
例えば、>>341これを例に取れば。

テキストボックスを追加したら…。と簡単に言っているが、これの意味する所を理解しているか?
このアプリケーションで、どう言う情報を収集、蓄積するか、決まっていない。こう言う意味なんだぜ?

そんな段階で、Vなんか作りこむより、scaffoldででも検討して、データベース設計に落とし込めよ。

348:nobodyさん
07/05/05 12:00:35
>>318

PHPに負けた言語を使ってる負け犬乙

349:nobodyさん
07/05/05 12:14:50
>>347
アジャイルに対して何のコメントもしてないね。
もしかして知らないのかな?

必要な情報ってのは、あとで変るもの。
スピードの早い今、最初に決めるなんて不可能。

仕様変更が全く無いということが
現実に起こりえるのか考えてみれば良い。

繰り返し言うが、最初に決めるなんて不可能。

そういう現実的な前提に立った開発がアジャイル

350:nobodyさん
07/05/05 12:18:00
>>349
単なる出たとこ勝負の考えなしとアジャイルを一緒にするな

351:nobodyさん
07/05/05 12:27:28
典型的なマーケティング売り文句を
そのまま受け売りでこれ見よがしに
アジャイルアジャイル言ってみたい年頃なんだよ
ほっといてやれ


352:nobodyさん
07/05/05 13:00:58
アジャイルに対して、
まともな反論が
無い事が何よりの証拠。

353:nobodyさん
07/05/05 13:01:53
アジャイルをマーケッティング用語だと言う奴がいることが驚きだ。調べた事無いのか?

354:nobodyさん
07/05/05 13:45:18
>>353
日経の営業がよく言ってるよん

355:nobodyさん
07/05/05 15:11:10
だから?

先進的なソフトウェア会社も言っているよね。

356:nobodyさん
07/05/05 15:29:48
>まともな反論が
>無い事が何よりの証拠。
ん?反論がなければ俺の勝ちだぞ?
という名言を思い出した

357:nobodyさん
07/05/05 15:36:50
> つーか、その為にscaffoldがあるんだろうが…。

scaffoldの意味を英和辞典で調べてみ。scaffoldで生成されたコードは、
そこから手を入れていくことを前提とした、ただの土台の役割だよ。

データベース定義を変えるだけで、ぜんぶ面倒をみてくれるような、全自動なフレームワークが
欲しいなら、無理してRailsを使わないで、デジエでも使ってたほうがいいと思うよ。
まじで。

358:nobodyさん
07/05/05 15:44:55
べつに仕様変更なんかあってあたりまえだろ。
> このアプリケーションで、どう言う情報を収集、蓄積するか、決まっていない。
べつにその段階で作り始めてもいいじゃん。AWDwRでも顧客の要求に従ってテーブルに項目をばんばん追加してるし。
変更があってもそれに柔軟に対応できるのがRailsのいいとこじゃん。そのためにARやmigrationがあるんだろ?何のためにRails使ってるんだ?

>>337がいってるのは一理あるだろ。RailsはActiveRecordやmigrationがあってDBまわりは仕様変更に強いようにできてるけど、
viewまわりはerubyをほぼそのまま使っているだけで、まだまだ改良の余地があるじゃん。
337はそれについて提起しただけだろ。なんでこんな拒否反応でるかな。問題点を指摘されたら、それについてどういう解決方法があるかを考えようぜ。

それから>>337は言い方悪い。便所の落書きに言い方も糞もないけど、もし俺が作者なら337の言い方はやる気なくす。もし337が上司なら喧嘩してる。
ただいってることは同意。テーブルの仕様変更がModelに自動的に反映されるなら、同じことがViewでもできないかと考えるのは自然なこと。
それがわからず拒否反応示すだけの奴らは想像力が欠落してるかわいそうな奴らだからほっとけ。

359:nobodyさん
07/05/05 18:38:28
>>358
あほか。
DBの変更が自動的にViewに反映できるわけないだろ。
具体例で考えてみろよ。

360:nobodyさん
07/05/05 18:39:07
いや、ていうかジェネレータじゃない方のscaffoldもあるし
そっちでフィールド追加で自動的にViewにも反映されるしさ、
んである程度プロトタイプができたら自分で手入れてくために
ジェネレータの方で生成してコード加えていくわけでしょ
全部自動で処理しきれないところも出てくるから手を加えていく
そんなのはちょっとrails触った事あるなら誰だって分かる事だろう

一理あるも何もどう見たって>>337>>358
アジャイルアジャイル言ってる奴もrailsを
使ったことないようにしか見えねーよ

361:nobodyさん
07/05/05 19:03:33
Viewに手を加えてからDBを変更することだってあるだろ。

特にユーザーなんか、見せて最初に指摘するのは、
”見た目”だぞ。

見た目ダサくて英語ですけど、ちょっと使ってみて
感想教えてくれませんか?じゃ通じません。

エンドユーザー交えて仕事した事ありませんね?

362:nobodyさん
07/05/05 20:53:11
MVCのVとは、かっこいいデザインを作ってくれる機能だと勘違いし、
アジャイルとは、データベースを変えると、すべて良きにはからってくれる機能だと勘違いし、
Railsスレに文句を「提案」すれば、解決方法をだれかが実装してくれると勘違いする。

ずいぶん人任せ、フレームワーク任せだなー。
まあ、ぜんぶ、同一人物なんだろうけど。

Rails作者のDHHの言葉をmatz日記から引用するから、ちょっと考えたほうがいいよ。
「RubyもRailsもオープンソースだし、簡単に手を入れられるんだから誰かが自分の問題を解決してくれないか、
口をあけて待ってるんじゃなくて自分で解決して世界に貢献したらいいのに」

363:nobodyさん
07/05/05 21:19:41
> MVCのVとは、かっこいいデザインを作ってくれる機能だと勘違いし、
どれを見てそう思ったんだ?

つまり、お前が勘違いしているだけじゃん。

viewを一旦作った後でもscaffoldのように
DBにフィールドを追加したら、それがすぐに反映されるといいだろ

としか、どこにも書いてない。

364:nobodyさん
07/05/05 21:20:56
> Railsスレに文句を「提案」すれば、解決方法をだれかが実装してくれると勘違いする。

こんなことも思ってないし。

なんだこいつ。自分一人が、勘違いして空回りしているだけかよ。

365:nobodyさん
07/05/05 21:31:51
>>327で書いてるじゃんw

>>364
じゃあ、おまえがこのスレでぐたぐた文句言っている意味ってなに?

366:nobodyさん
07/05/05 21:34:42
> >>327で書いてるじゃんw

だれそれ?w 一日も前だし。

なるほど、やっぱり勘違いしていると。

367:nobodyさん
07/05/05 21:37:23
> じゃあ、おまえがこのスレでぐたぐた文句言っている意味ってなに?

ここはRuby on Railsに関する事なら
なんでも書いていいところですが?

それとも、お前が気に食わないことを言ったら駄目と
どこかに書いてあるのか?

意味。じゃあお前が書き込んでいる意味は?w

368:nobodyさん
07/05/05 22:00:24
小学生かよw

369:nobodyさん
07/05/05 22:41:26
欲しい機能があれば作ればいいだけじゃん。
なんのためのオープンソースなんだか・・・

370:nobodyさん
07/05/05 23:19:02
罵り愛はID出してやれよ。

371:nobodyさん
07/05/06 00:17:40
なんかくだらんことで激しくレス消費してるな…
しかも時間の感覚見ると、一人が何レスにも分けてレスしてるっぽいし

372:nobodyさん
07/05/06 00:34:31
文句言ってるやつが何使ってアプリ作ってるのか知りたい
Djangoか?

373:nobodyさん
07/05/06 00:42:15
GWでrailsデビューしちゃったんだろう

374:nobodyさん
07/05/06 00:50:27
Djangoはちょっと貧弱すぎるな。tgかsymfony。
よく言語仕様のせいにして、出来る人間になったと勘違いしてるやついるが、
フレームワーク自体が優れてりゃ言語仕様なんてさして気にならん。

Yahoo Bookmarksもsymfony採用してるし、ここでPHP馬鹿にしてる実績なしよりも、
Yahoo Bookmarksの開発者の方が信用に足る。


375:nobodyさん
07/05/06 06:47:26
よお、負組ども^^
低レベルなプライドのおかげでいまさらPHPにいけないんだろ?www
サイト構築もできねーくせにえらそうに語ってる厨房は逝けよwww

376:nobodyさん
07/05/06 09:44:33
どうだろう、phpは通り過ぎてる人が多いんじゃないかな

377:nobodyさん
07/05/06 10:51:37 FNDfpVmp
RadRailsが、HTML+CSSエディタのAptanaと統合の方向で進むそうで・・・

Aptana: Download Aptana IDE + Rails
URLリンク(www.aptana.com)


378:nobodyさん
07/05/06 12:38:37
Rubyなんてはやらねえんだよ

379:nobodyさん
07/05/06 13:43:17
>>378
はやってるよ

380:nobodyさん
07/05/06 13:44:54
趣味でだろwwwww
企業が採用してるかな?

381:nobodyさん
07/05/06 14:40:58
>>380
IBMとかSUNとか?


382:nobodyさん
07/05/06 15:00:32
楽天とか

夏にはまだ早いはずだがなぁ

383:nobodyさん
07/05/06 17:15:54
PHPもRubyも使ってるよ
もう$this->書くのめんどくせ

384:nobodyさん
07/05/06 17:31:15
静的なHTMLファイルを読み込ませるのってどうやってますか?
ERB評価をさせたくないのであればFile.readして<%=%>で埋め込むしかないんですかねぇ。
なんかいけてないような…。


385:nobodyさん
07/05/06 17:57:23
<%= render :partial => '_静的な.rhtml' %>

というのはどうですか?
挿入されるHTMLを_付きの名前のRHTMLとして置く。
中身はただのHTML断片でERBコードを含む必要はなし。


386:nobodyさん
07/05/06 17:58:21
:partial => の値に.rhtmlはイランカッタ。


387:nobodyさん
07/05/06 19:05:27
render :templateはどうかな

388:358
07/05/06 19:25:18
>>359
いまはどんなやり方があるかを議論しはじめようとしたところだろ。自分で考えるのをやめたやつは引っ込んどいて。
>>360
ジェネレータじゃないほうのscaffoldではそもそも今回の要求はみたせないし対象外だろ。
いろいろ手を加えたviewに対して、DBテーブルの仕様変更を反映させるうまい方法がないかが論点。
勝手に人をRails使ったことないと決めつけるのもいいけど、そのまえに話を正しく認識しろな。

で、337がまだみてるかどうかわからんが、どうもscaffoldやActiveRecordとは別のアプローチじゃないと解決できそうもなくね?
scaffoldのようなアプローチだとフォーム項目の生成ルールに手を加えられるようになってないと厳しい。
ActiveRecordはやり方として動的にGeneration Gap patternを使ってるようなもんだから、
自動生成される部分と手動で書く部分がきれいに分離できるし、自動生成された定義を手動で細かく上書きできる。
けどviewは基本がHTMLだから、erubyで頑張ろうにもうまくいかん。
結局、DreamweaverやRadRailsやAptanaが十分賢くなって、form定義とテーブル定義の差異を検出するようになるのがいちばん現実的なんじゃないだろうか。
おれの頭じゃこんくらいしか思いつかん。
そもそもおれでも思いつくような方法があればとっくにDHHが実装してるわな。


389:nobodyさん
07/05/06 19:51:32
>>385
レスありがとうございます。
こればっかりはベンチとって見ないとなんとも言えないんですが、感覚的には
File.readの方が速そうな気がするんですよね。
URLリンク(blog.masuidrive.jp)
この辺を見る限りだと。。
んで、毎回読み込みだとテラオソス
メソッド化するとサーバ再起動まで変更されない
とかだとやっぱり後者になると思うんですが、そうするとバッチでHTMLを作るときとかに都合が悪いんですよね。
自分で自動expire機能付きのファイル読み込みモジュールを作った方がいいのかなぁ。
絶対ありそうなんですけどね…。


>>387
レスありがとうございます。
render :templateはビューのファイル毎置き換わっちゃいませんか?
始めはrender :fileを検討してたんですがこっちがそう言う仕様だったので。


390:nobodyさん
07/05/06 19:54:28
>>389
性能の話はfragment cacheが導入できるならアル程度は無視できるけど、
どうなのかな。


391:nobodyさん
07/05/08 14:29:54
Railsでサーバにアクセスした際にログに残る処理時間って
Completed in 1.78100 (0 reqs/sec) | Rendering: 0.18800 (10%) | DB: 1.07700 (60%)

こういうフォーマットだと思うのですが、足して100%にならないのはなんででしょうか?

392:nobodyさん
07/05/08 22:34:30
>>391
(笑)

393:nobodyさん
07/05/09 12:22:47

model のリレーションで

A と Bのモデルで共通に使う Xというモデルがあるとき

Xのモデル定義は
belongs_to :a
belongs_to :b

でOKですか?
これだと 一つのモデルが aにもbにも所属しているのと同じに
なっちゃわないのかと思うんですが。




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

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