【Ruby】Ruby on Rails Part7
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
2009/04/30(木) 23:07:27ID:???http://pc11.2ch.net/test/read.cgi/php/1224838013/
■参考サイト
<英語>
本家:http://www.rubyonrails.org
API document:http://api.rubyonrails.com/
開発者のblog:http://weblog.rubyonrails.org/
参考wiki:http://wiki.rubyonrails.org/rails
<日本語>
Rails' wiki: http://wiki.fdiary.net/rails/
■参考スレ(プログラム板)
Rubyについて Part 35
http://pc12.2ch.net/test/read.cgi/tech/1238194350/
Ruby 初心者スレッド Part 27
http://pc12.2ch.net/test/read.cgi/tech/1238632943/l50
0002nobodyさん
2009/04/30(木) 23:09:01ID:???【Agile】Ruby on rails相談所【DRY】
http://pc8.2ch.net/test/read.cgi/php/1118663500/
【Agile】Ruby on rails相談所 part2【DRY】
http://pc10.2ch.net/test/read.cgi/php/1151254378/
【Ruby】Ruby on Rails Part3
http://pc11.2ch.net/test/read.cgi/php/1170760209/
↓ム板に
Ruby on Rails
http://pc11.2ch.net/test/read.cgi/tech/1191381506/
↓
Ruby on Rails のスレ が
http://pc11.2ch.net/test/read.cgi/php/1207425569/
↓
イマココ
0003nobodyさん
2009/04/30(木) 23:10:32ID:???【Ruby】Ruby on Rails Part7
http://pc11.2ch.net/test/read.cgi/php/1241100447/
0005nobodyさん
2009/04/30(木) 23:35:01ID:???現在、RubyはPHPが支配する世界の陰で細々と生活しております
表向きはPHPerで、裏でせっせとrubyっていましょう
0006nobodyさん
2009/05/01(金) 01:43:12ID:???0007nobodyさん
2009/05/01(金) 01:43:53ID:???0008nobodyさん
2009/05/01(金) 21:03:58ID:???動作させられるようにならないの?
cakephpはできてるよね?
0009nobodyさん
2009/05/01(金) 21:18:21ID:???0010nobodyさん
2009/05/01(金) 21:21:52ID:???サーバーの管理権限がないと
動作が遅すぎて重すぎて、
まともに動かせないんだよね?
0011nobodyさん
2009/05/01(金) 21:39:51ID:???0012nobodyさん
2009/05/01(金) 23:34:29ID:???サーバーの管理権限なくても
まともなスピードで動くんだよね?
0013nobodyさん
2009/05/01(金) 23:41:46ID:???0014nobodyさん
2009/05/01(金) 23:43:12ID:???これでダメって、最低1日2〜30万PVはあるんだろうな。
0016nobodyさん
2009/05/02(土) 15:23:45ID:???0017nobodyさん
2009/05/02(土) 17:02:26ID:???俺は趣味アプリが完成したらさくらインターネットの専用サーバ借りる予定。
月8,000円くらいだったかな。
0018nobodyさん
2009/05/02(土) 18:07:46ID:???0019nobodyさん
2009/05/02(土) 21:12:12ID:???十分なスピードで動くのに、
ruby on railshs動かないの?
0020nobodyさん
2009/05/02(土) 22:39:50ID:???一度ロードしてしまえばそれなりに動くが、単純なCGIではそうもいかない。
0021nobodyさん
2009/05/02(土) 22:55:09ID:???なぜ動作が速くなるの?
0022nobodyさん
2009/05/02(土) 23:47:51ID:???聞き方があまりにも幼稚すぎて答える気にならんな
社会性のかけらも感じられない
0023nobodyさん
2009/05/02(土) 23:55:00ID:???子供みたいでカワイイ
0024nobodyさん
2009/05/03(日) 00:06:05ID:rx1Rm2aS0025nobodyさん
2009/05/03(日) 00:11:51ID:???0026nobodyさん
2009/05/03(日) 02:38:45ID:???GW中開発三昧だ〜。
0027nobodyさん
2009/05/03(日) 02:50:14ID:???回線を太くするととたんに高くなるんだな。
10MだったらVPSでも問題ないだろうし微妙だと思った。
0028nobodyさん
2009/05/03(日) 06:18:26ID:???CGI駆動だとRailsはメチャメチャ重いからだろ
PHPが標準のモジュール駆動だと重いといわれるCakePHPもそこそこ動く
だが、共有レンタルサーバーの多くはphpもCGI駆動だから気をつけれ
Railsをまともn動かす時は、Passengerとか使うのでそうなると、
多くの共有サーバーは入ってないので、管理者権限いるってこと。
ただ、まともにサービスしようとしたら、いろいろ弄る必要があるから、
結局管理者権限ないと話にならんが
0029nobodyさん
2009/05/03(日) 07:54:16ID:???0032nobodyさん
2009/05/03(日) 14:37:31ID:C26VReX10033nobodyさん
2009/05/03(日) 16:53:21ID:???海外だともっと安いのがあるのかもしれないけど、おれは満足してるよ。
ブラウザベースの管理アプリも用意されてて割と便利だし。
0035nobodyさん
2009/05/03(日) 23:13:01ID:???0036nobodyさん
2009/05/03(日) 23:30:06ID:???0037nobodyさん
2009/05/04(月) 00:47:10ID:???できるような設計にしようと思ってるんだけど、rails的にどうなの?
一般利用者はほとんどのテーブルに対して参照ばっかりだから、
それぞれのコントローラのupdateやdelete、insertを発行するメソッドは
管理者のみ、っていう方法もあるんだけど、どうしたらいいんかな〜。
0038nobodyさん
2009/05/04(月) 02:55:49ID:???admin/userとか階層作って管理する方法を自分は採用してる。
004038
2009/05/04(月) 10:34:22ID:MqCVRAIXAdmin::UserControllerを 作ってlistやdeleteアクションを定義する感じ。
0041nobodyさん
2009/05/04(月) 22:11:00ID:???ありがとう。37です。
あんま想像つかないけど、そんな方法があるのか。
結局自分は、コントローラとモデルとテーブルを1:1:1になるよう用意することにして、
(コントローラは増えることもあるけど)
各コントローラの参照系以外のメソッドに管理者認証を求めるフィルタを設定した。
0042nobodyさん
2009/05/07(木) 15:29:56ID:6IKl0wLqカラムがid, user_id, name
のテーブルがあったとして、それのActiveRecord::Baseの継承クラスのインスタンス5つが配列aに格納されているとします。
この配列aの中に、user_idが5であるインスタンスがあった場合それを取り出し、なかった場合nilかfalseを返すような処理を書きたいのですが、どう書くのが一番スマートでしょうか??
ご教示頂けると幸いですm(_ _)m
0043nobodyさん
2009/05/07(木) 18:47:11ID:???まず、あなたなりに書いたらどうなるの?
その後教えてあげます。
0044nobodyさん
2009/05/07(木) 21:22:30ID:???既にふつうの(=ARのHasManyProxyなどでない)配列になっているっ
てことだよな?
Enumerable#find / detectでも好きに使えばいいじゃん。
004542
2009/05/08(金) 00:27:37ID:XobVG3nsありがとうございます!
findの使い方よくわかっていませんでした。。
0046nobodyさん
2009/05/09(土) 07:16:53ID:???コントローラはnamespace使って管理側とユーザ側で分けた方がよいね
script/generate controller admin::users
routes.rbもnamespace使える
map.namespace(:admin) do |admin|
admin.resources :users
end
0047nobodyさん
2009/05/09(土) 07:27:31ID:???0048nobodyさん
2009/05/10(日) 16:27:57ID:???なるほど・・・。
名前空間でコントローラを整理できることを知らなかった。
ありがとう!
一般ユーザと会員ユーザ、システム管理者からなるシステムを作っているのだけど、
作り直そうか迷うなぁ。
わけた方がすっきりするんだろうけど、一般ユーザと会員ユーザの出来ることは
ほとんど同じなんだよなぁ。
0049nobodyさん
2009/05/10(日) 16:38:53ID:???長く運用してると、機能追加などで次第に一般ユーザと会員ユーザの違いが
大きくなっていくので、そのときに整理し直してもいいと思う。
0050nobodyさん
2009/05/10(日) 22:14:49ID:???システムごと分離するか、コントローラを分割するか、ユーザのrole機能で対応するかは適材適所やね
0051nobodyさん
2009/05/11(月) 00:35:14ID:???0053nobodyさん
2009/05/11(月) 23:14:24ID:2slawtRURails 2.1.1 / rspec 1.1.12 / rspec-rails 1.1.12
spec ファイルにおいて、 fixture のデータがロードされたり消されたりする
タイミングがわかりません。
hoges テーブルに対する Hoge というモデルの spec ファイルを作っていて、
以下のようになっています。
describe "○ができること...01"
fixtures :hoge
it "A..." do
end
end
describe "○ができること...02"
fixtures :hoge_for_some_cases
it "B..." do
end
it "C..." do
end
end
describe "○ができること...03"
fixtures :hoge
it "D..." do
end
end
005453
2009/05/11(月) 23:16:54ID:???describe "○ができること...02" が走って
fixtures :hoge_for_some_cases がロードされた後、
describe "○ができること...03" の
it "D..." do が動くときに、
fixtures :hoge_for_some_cases で insert されたデータが残っているようです。
これは describe "○ができること...03" で期待する条件とは違うため、テストが失敗します。
○質問1:
fixture によるデータ投入は、spec が起動されるときに一度だけなのか?
fixtures という行を通過する度になるのでしょうか?
# fixtures という行を通過する度に、
# delete from foo と
# hoge.yml の中身の全件 insert が走る?
describe "○ができること...02" のブロックを消し、fixtures :hoge_for_some_cases が動かないようにするれば、
describe "○ができること...01" も
describe "○ができること...03" も動きます。
○質問2:
fixtures :hoge_for_some_cases の中身をfixtures :hoge に書いてしまえばいいのでしょうが、
データ件数が多いため、describe ごとに yml ファイルを分けたいのですが、これは rails 的ではないのでしょうか?
○質問3:
また、ひとつの describe が終わるごとにデータが truncate されるとうれしいのですが、それはどうすればいいのでしょうか?
(これも Rails 的ではない?)
○質問4:
ちなみに spec を実行後に DB の中身を覗くと、レコードが残っているので、これはそういうものみたいですね。
※fixture で投入されたデータのトランザクションと、
テストメソッドの中で model.save 等で保存されるトランザクションは違う?
0055鉄道教信者{鉄ヲタ(鉄道マニア)}
2009/05/12(火) 00:01:43ID:i2JJHx+d障害発生期間 :
2009 年 03 月 06 日
現象 :
1. 全サービスが使用できない。
原因 :
・モデムの電源ケーブルが外れていた。
現在 :
・モデムの電源ケーブルを挿し直しました。
hahahaha!
0056nobodyさん
2009/05/12(火) 20:34:40ID:???掃除のおばちゃんが掃除機のコンセントがないからと
勝手に電源ケーブル抜いてそのまま忘れて帰るんだよ
0057nobodyさん
2009/05/12(火) 20:35:25ID:???0058nobodyさん
2009/05/12(火) 20:36:18ID:8mXS3koFif x=='dog'
Dog.find :all
elsif x=='cat'
Cat.find :all
elsif x=='horse'
Horse.find :all
end
005958
2009/05/12(火) 20:37:09ID:8mXS3koF教えて頂けると幸いです。
0060nobodyさん
2009/05/12(火) 20:37:20ID:???代わりにfactory girlをどうぞ
0061nobodyさん
2009/05/12(火) 20:44:51ID:???単純に一行にするなら↓
if x == 'dog' then Dog.find :all elsif x == 'cat' then Cat.find:all else Horse.find :all end
モデルに多態性を持たせたいのならSTIかポリモルフィック関連を調べてちょ
0062nobodyさん
2009/05/12(火) 20:58:40ID:???x.classify.constantize.find :all
0063nobodyさん
2009/05/12(火) 21:02:44ID:???977 名前:nobodyさん[] 投稿日:2009/04/27(月) 20:17:33 ID:ty2d5Btl
すいません分かりにくかったかもしれないと思ったので書き直します・・
if x='friends'
User.friends
elseif x='pearents'
User.parents
else x='children'
User.childern
end
を一行で書けないか・・みたいな感じです。
978 名前:nobodyさん[sage] 投稿日:2009/04/27(月) 20:24:34 ID:???
User.send(x)
979 名前:nobodyさん[sage] 投稿日:2009/04/27(月) 20:26:28 ID:???
> 977
User.method(x).call
006458
2009/05/12(火) 21:04:34ID:8mXS3koF>>62
レスありがとうございますm(__)m
>classify.con...
うおぉぉ。。
rubyすごすぎる(笑)
0066nobodyさん
2009/05/12(火) 21:29:38ID:???x.classify.constantize.find(:all) if ["dog", "cat", "horse"].include?(x)
0068nobodyさん
2009/05/12(火) 21:43:04ID:???「使いたいから使う」みたいなのもたまに見かけるし
0069nobodyさん
2009/05/13(水) 05:15:55ID:???>ユーザのrole機能
そんな機能があったんかー、しらんかった。pluginかな?
ActiveRecord継承のRoleモデルつくってた。
まだ初めて半年だけど、もう以前の環境(php)には、戻れなウィッシュ。
0070nobodyさん
2009/05/13(水) 08:44:50ID:???確かにActiveRbacというプラグインもあるけど。
概念はRails Recipesにも載ってるね。
0071nobodyさん
2009/05/16(土) 18:32:34ID:???こちらのwebベースrailsコンソールのgeneratorプラグインを使ってみようとしているのですが、
eviltrout's kawaii at master - GitHub
http://github.com/eviltrout/kawaii/tree/master
通常のプラグインのインストールのように、
ruby script/plugin install git://github.com/eviltrout/kawaii.git
とするのではなく、ダウンロードしきて、lib/generatorsに放り込め、とあるのですが、
つまりこれは、lib/generators放り込むところが手動になってしまいます。
こういうのって、上記のようにインストールしただけでgeneratorに組み込めるようなプラグイン側の仕組みってないものでしょうか?
まあ、公式にも別途あるように、一度~/.rails/generatorsにいかに入れとけばいいという話もあるのでしょうが…
kawaii公式のインストール項目抜粋
> 1. Install the Kawaii generator
>
> If you want to generate Kawaii in multiple rails apps:
> Copy the kawaii directory to ~/.rails/generators
>
> To install for one rails app:
> Copy the kawaii directory to your application's lib/generators directory.
> (You might have to create lib/generators yourself.)
0072nobodyさん
2009/05/16(土) 18:47:23ID:???generatorとして認識される。
こいつがそういう配置になってないだけ。
0073nobodyさん
2009/05/16(土) 23:17:33ID:???上記はcategory ascでソートされますが、これをcategory descで
ソートされるようにするのにいい方法はありますでしょうか?
:order => 'category desc' とすれば一応できたのですが、これだと
テーブルのカラム名を直に入力してしまうので、これをやってしまっていいのか迷っています。
よろしくお願いします。
0074nobodyさん
2009/05/16(土) 23:28:15ID:???シンボルを書けるのは、単にSQLに埋め込むときにシンボルを #to_s した
ものが入るから。
0075nobodyさん
2009/05/16(土) 23:37:41ID:???通常あり得ないとは思うけど、カラム名が変わったときにシンボルで指定できると
修正が1カ所ですむけど、カラム名直書きしてしまうと、そのカラムが含まれる
すべての箇所を修正しないといけないから、何かスマートな方法あるかなと思っただけなんだ。
0076nobodyさん
2009/05/17(日) 00:00:07ID:???named_scope :by_category_asc, :order => 'category ASC'
named_scope :by_category_desc, :order => 'cateogry DESC'
end
としておくと、
Category.by_category_desc.find(:all, :conditions => '...')
などと書ける。
パラメータはマージされるので何度もSQLが走るということもない。
0077nobodyさん
2009/05/17(日) 00:11:22ID:???上の方法の方がスマートなので、そっちで書いてみます。
0078nobodyさん
2009/05/17(日) 00:18:09ID:???この意味が分からないのだが、
例えば「category」カラムの名前が「business_category」に変わったとしたら、
その1カ所をどういうふうに修正するの?
0079nobodyさん
2009/05/17(日) 00:35:24ID:???シンボリックリンクのように参照しているものだと妄想してました…。
0081nobodyさん
2009/05/17(日) 15:05:25ID:???なるほどやっぱりそうなんですね。
というか、railsのソース見てて思ったんですが
Rubygemsでも特定の配置にしたら、railsのgeneratorとして読み込んでくれるんですね。
利用者としてはこっちの方が簡単だ。
ちゃんと動くの確認したら、gems化の要望出しときます…。
0082nobodyさん
2009/05/17(日) 15:13:57ID:???何となくどんなの使ってるかしりたいんで皿島元々
plugin 'restful-authentication', :git => 'git://github.com/technoweenie/restful-authentication.git'
plugin 'forgot_password', :git => 'git://github.com/greenisus/forgot_password.git'
plugin 'role_requirement', :git => 'git://github.com/timcharper/role_requirement.git'
gem 'mislav-will_paginate', :lib => 'will_paginate', :source => 'http://gems.github.com'
gem 'rubyist-aasm', :lib => 'aasm', :source => 'http://gems.github.com'
gem "capistrano-ext", :lib => "capistrano"
rake("gems:install")
generate("authenticated", "--include-activation", "--aasm", "user", "session")
rake("db:migrate")
generate(:controller, 'welcome', 'index')
route "map.root :controller => 'welcome'"
run "rm public/index.html"
run "rm public/images/rails.png"
file ".gitignore", <<-CODE
.DS_Store
log/*.log
tmp/**/*
db/*.sqlite3
doc/api
doc/app
CODE
run "touch log/.gitignore"
run "touch tmp/.gitignore"
git :init
git :add => "."
git :commit => "-a -m 'Initial commit'"
0083nobodyさん
2009/05/17(日) 15:21:02ID:???なにやりたいかってbortぽいのをアプリケーションテンプレート使って作りたいんだけど素人は一からコツコツやれってことだろなぁ。
0084nobodyさん
2009/05/17(日) 17:37:58ID:???自分はまったく使ってないわ。
そんなに新規で作る事が少ないというのもあるけど、
一から設定するのもそれほど手間じゃないから。
今よく使うのはこんなもんかな。
mislav-will_paginate
jpmobile
postgres
rmagick
i18n_genrators
mongrel
mongrel_cluster
バージョン管理はSubversion。
そのうちgitも試してみたいと思う。
公開する時は、Passengerを使う事が多くなってきたけど、
スペックが低いサーバだとPassengerよりmongrelを複数起動して、
Apacheのproxy_balancerで動かすほうがレスポンス早いので、mongrelもしばらく使うつもり。
008582
2009/05/18(月) 00:04:25ID:???http://github.com/jeremymcanally/rails-templates/tree/master
>>84
確かにPassengerの初回起動は遅いもんなぁ。
mongrel使った事ないから試してみるよ!
0086nobodyさん
2009/05/18(月) 00:53:06ID:???mongrel 使ったことないということだけど、
普段(ローカルの開発環境) は webrick 使っていて、本番環境は Passenger を使っているの?
008782
2009/05/18(月) 01:22:25ID:???うん
開発webrickで本番Passenger。
monoで開発してた時も開発XSP本番mod_monoだったなぁ。
なんとなくapacheの方が安定してるのかなぁという思い込みでt
0088nobodyさん
2009/05/18(月) 01:24:25ID:???今ならThinかEbbじゃないの。
008986
2009/05/18(月) 02:32:23ID:???なるほど、どうもありがとう。
>>88
私はRailsはじめて2ヶ月弱なので、そういうのがわからないんです。
職場のプロジェクト環境が、ローカルの開発環境は mongrel で(gem install だけで入るし、Windows でも動くので)、
本番をどうしようかと話していてます(本番は passenger の予定)
Passenger が出てくる前は、雑誌やwebを読んでいて、
fastCGI、lighttpd、apache + mongrel_cluster という組み合わせがあったけど、
いまは本番運用ではどれが定番なんですか?(Linuxの場合)
Thin と Ebb というのは初めて知ったのでこれからググってくる。
0090nobodyさん
2009/05/18(月) 08:33:09ID:???ホスティングだからメモリの問題だとは思うけど。
0091nobodyさん
2009/05/19(火) 06:26:08ID:???今でもrailsは開発早いの?
それとも何か新しいのでた?
ほかの言語もrails並に早くなった?
0092nobodyさん
2009/05/19(火) 07:14:33ID:???0094nobodyさん
2009/05/19(火) 11:23:22ID:???0095nobodyさん
2009/05/19(火) 11:30:03ID:???rails3がでてmerbと統合したら、、
0096nobodyさん
2009/05/19(火) 11:55:09ID:???複数人でやると、こんな書き方があるのかーというばかり。
聞けば分かるけど、読んだだけではすぐには分からない書き方が多いような気もする。
0097nobodyさん
2009/05/19(火) 12:13:21ID:???動的にメソッド追加してて、どこに定義があるのかctagsで追えないとか。
でも勘とgrepでソース読めばなんとかなるレベルだとは思う。
ruby-debugがマシになってきて、railsの動的なコードの山もあまり怖くなくなってきた気がしなくもない。
0099nobodyさん
2009/05/19(火) 17:55:25ID:???規定を知らないだけで開発効率関係ないと思う
動的にメソッド入るならコメも入れてよって泣きながら探してる
0100nobodyさん
2009/05/19(火) 22:26:10ID:???rubyを書けること?
MVCを理解すること?
railsの統合開発環境をインストールして、どっかの本を見ながらいじればいいの?
0101nobodyさん
2009/05/19(火) 22:34:10ID:???0102nobodyさん
2009/05/19(火) 22:38:35ID:???プログラム初心者だと大変かもしれない。
Ruby初心者でも他の言語の経験があれば大丈夫かな。
Rubyが理解できる事が必須だけど、Railsと一緒に覚えていけばいい。
まずは環境のインストール方法が分かりやすく載っている本を買って
そのとおり進めていくほうが迷わないのでおすすめ。
本が扱っているバージョンはちょっと古いけど、そのバージョンに自分の環境を合わせる事が大切。
うっかり最新版を入れてしまうと、Railsの仕様が変わっているために迷子になってしまう。
0103nobodyさん
2009/05/19(火) 22:39:09ID:???0104nobodyさん
2009/05/19(火) 22:57:59ID:???例えばPHPならデータベースへの接続がしやすいとか、
なんとなーくこういうのに向いてるよっていう指標は無いの?
と、全くrubyを知らない俺が聞いてみる。
0105nobodyさん
2009/05/19(火) 23:18:46ID:???好みの問題という気がする。
0106nobodyさん
2009/05/20(水) 02:04:50ID:???Railsでは使えないの?
それとも使えるrailsのgemがあるの?
0107nobodyさん
2009/05/20(水) 02:19:51ID:???いうことなので、ふつうは言語不問。
ボディの内容を解釈できるかは足回り(XMLとかJSONとかなら
パーサが要るわけで)次第。
0108nobodyさん
2009/05/20(水) 02:53:06ID:???普通のAPI(どこかに落ちててWebでダウンロードできる)だと思うけど
0109nobodyさん
2009/05/20(水) 06:03:49ID:???0110nobodyさん
2009/05/20(水) 06:19:02ID:???0111nobodyさん
2009/05/20(水) 07:03:26ID:???今は何を使ったらいいの?
0112nobodyさん
2009/05/20(水) 10:18:11ID:???Rinari+emacsか
macならtextmateがオヌヌメ
0113nobodyさん
2009/05/21(木) 10:55:01ID:???from_forでf.time_selectだと:default => {:hour => }があるみたいですが、
time_selectだと上記オプションでは上手くいきません。
Controller側に設定したい時間オブジェクトがあるのでデフォルト値をそれにしたいのですが…。
0114113
2009/05/21(木) 13:29:08ID:???0115nobodyさん
2009/05/21(木) 18:30:28ID:Fhc0Zbqv・Aptana RadRails重い
・NetBeans めちゃ軽い ただし、rspec、autotest等最新版に対応してないので、小細工がいる。(動かせることは動かせる)
0116nobodyさん
2009/05/21(木) 18:34:10ID:???0118115=117
2009/05/21(木) 20:01:06ID:???今までの苦労はなんなんだよw
>>116 にはありがとうといいたい。
・NetBeans 6.7m3 Download
http://bits.netbeans.org/download/6.7/m3/
・NetBeans Nighly ダウンロード
http://bits.netbeans.org/download/trunk/nightly/latest/
0119nobodyさん
2009/05/21(木) 20:43:24ID:???0120nobodyさん
2009/05/22(金) 23:09:09ID:???ぶっ壊れるんだけど、同じ現象解決した人いないか?
file_fieldメソッドをviewに読み込んでPOSTしてるんだけど、
受け取ったファイルを試しに自作のBLOB型のカラムに
自作table.blob型のカラム = params[:file_fieldのid].read
で保存したら正しく保存されたっぽい。
rails2.3.2
attachment-fuプラグインは、:storageオプションを:db_fileにすると
db_filesテーブルに保存してくれるようだが、中を覗いてみると
バイナリがかなり欠損して、元ファイルの1/5くらいのサイズになっている・・・。
0121nobodyさん
2009/05/23(土) 01:34:50ID:???0122nobodyさん
2009/05/23(土) 07:49:36ID:???0123nobodyさん
2009/05/23(土) 09:42:19ID:???覚えるのは何ヶ月くらいかかるの?
0124nobodyさん
2009/05/23(土) 10:59:34ID:???0125nobodyさん
2009/05/23(土) 11:47:12ID:???いや、ローカルの開発サーバ…。
windowsなのが原因なのかもしれん。
とりあえずレスありがとう。
0126nobodyさん
2009/05/23(土) 15:56:37ID:???パッチ送った気がするけど、スルーされてたのか。。。
中で一時ファイルとかをFile.read(path)的に読んでるところがあったらそれをFile.open(path, "rb", &:read)に
書き換えればうまくいくのではないだろうか。
0127nobodyさん
2009/05/24(日) 01:42:02ID:xGQhsS/Xよくない例かもしれないのですが、
person.parents << parent = Parent.new
person.children << GrandParent.new(:grand_parent_id => parent.id)
person.save
みたいなことがしたいのですが、これだとChild.grand_parent_idがnilになってしまいます。
このような場合で、あるテーブルと、そのテーブルにhas_manyな関係のテーブル2つ(合計3つ)を同時にsaveするうまい方法があったら教えていただけないでしょうか??
ご教示頂けると幸いです><
0128nobodyさん
2009/05/24(日) 14:19:16ID:???少し面倒でも、トランザクションの中で1つ1つsave!するほうが確実だと思うよ。
トランザクションだから同時に保存するという要件も満たしているし。
begin
ActiveRecord::Base.transaction {
parent.save!
person.save!
children.save!
}
rescue Exception
end
0129nobodyさん
2009/05/24(日) 21:48:48ID:???例)
興味のある麺類を選んでください。
□ うどん
□ そば
□ きしめん
↑ユーザプロフィールと麺類を多対多で関連づける
最初はact_as_bitsで実装して上手く行っていたのだけど、要素の順番を保存できないのと
要素を動的に追加したいという要望がでてきてact_as_bitsでは対応できなくなったぽい
んで、代替策として多対多の関連を定義して対応することにしたんだけど、
railsのモデル更新系フォームヘルパが複数選択のチェックボックス(パラメータを配列で送る)に
対応してないじゃないですか!
仕方がないのでチェックボックスのname属性を自力で書き換えたり
モデルにチェック/非チェックを返すアクセサメソッドの定義を追加したりしたんだけど
なんだかすごいメンドクセーという次第でして
この辺を上手いこと解決できる方法やプラグインなどはないでしょうか?
要望としては、できればcheckbox_tagは使いたくないです
0130nobodyさん
2009/05/24(日) 22:03:09ID:???0131nobodyさん
2009/05/24(日) 23:13:20ID:???0132nobodyさん
2009/05/25(月) 00:14:50ID:???0133nobodyさん
2009/05/25(月) 00:44:27ID:???0134nobodyさん
2009/05/25(月) 00:54:00ID:???実物は集計する必要もない項目ですが、こっちの方がイメージしやすいかと思いまして
0136nobodyさん
2009/05/25(月) 13:45:02ID:???Windowsで動かしてみているのですが、redmine.batに以下を書いて、
ruby script/server -e production -p 2900
batを起動すると、DOS窓?が開いた状態になってしまうのですが、
これを開かないで実行しておくことはできないのでしょうか?
rubyw script/server -e production -p 2900
だと、タスクマネージャで見ているとrubywがすぐに終了してしまいます…
Portable化したいので、サービス化以外の方法で行いたいのですが…
0137136
2009/05/25(月) 14:21:47ID:???Railsスレの過去ログ見てたら解決策がありました。
バッチファイル化しなければよかったんですね…。
例えば、ショートカットを作って、
ruby script/server -e production -p 2900
を割り当てて、作業ディレクトリをredmineのものにしたら、窓ひらかずに起動できました。
ありがとうございました。
追加でお聞きしたいものなのですが、
このようにして起動した場合、タスクマネージャではプロセスruby.exeが載ってしまって、
他のRubyプロセスと区別がつかないのですが、区別を付くようにする方法ってないものでしょうか?
重いrubyアプリなどを動かした時に、redmineの方を間違って落としてしまわないかと心配です。
Ruby初心者スレの方で聞いたほうがいいのかな…。
0138nobodyさん
2009/05/25(月) 14:57:47ID:???ruby.exe を hoge.exe に別名でコピーして、
ruby script/server の代わりに、
hoge script/server とやる。
なんかダサイけど、これが一番手っ取り早い。
あるいは、Linux 版で mongrel 使っていると、
$RAILS_ROOT/log に mongrel.pid というファイルが出来るので、
その pid を kill すればいいけど、Windows でもそうなっていませんか?
0139136
2009/05/25(月) 15:46:00ID:???ありがとうございます。
おお、ruby.exeは名前変えても動くんですね!
findしてみましたけど、mongrel.pidは見つかりませんでした。logにもなかた。windowsのせいかな…
exeの名前を変えると言われて気づいたのですが、タスクマネージャのメニューから「表示」「列の選択」から、
「コマンドライン」をチェックすると、プロセス起動時に渡した引数を見ることができました。
これで見分けがつきます!
これはVistaの機能だと思うのですが、Windows XPなら Process Explorerとかを使えば同じことができるはずです。
ありがとうございます。助かりました。
て今気づいたけど、
>>136-137が実は解決していませんでした orz
窓がやはり出てしまいます。ショートカットのオプションで最小化していただけでした。
裏で動かすには、サービス化以外で何がいいんだろ…。
0140nobodyさん
2009/05/25(月) 15:48:11ID:OXJaCHfTscaffoldでモデル(member)とビューを自動で作ったのですが、
気になる点があるので質問させてください。
以下のどちらのURLでもメンバーID=1番の情報を表示できるのですが、
これはどこで定義されているのでしょうか?(showが省略できる)
http://localhost:3000/members/show/1
http://localhost:3000/members/1
members_controller.rbもroutes.rbにも見当たりませんでした。
indexとshowは特殊なアクションでrails内部で既に定義されているという
ことなのでしょうか?
(railsのバージョンは2.3.2です。)
0141nobodyさん
2009/05/25(月) 15:53:56ID:???そいつが指定されるとそうなる。
0142nobodyさん
2009/05/25(月) 15:58:47ID:OXJaCHfTすばやい返事ありがとうございます。
ちょっとmap.resourcesについて調べてみます。
0144138
2009/05/25(月) 16:14:38ID:???Rails ではなく Windows の話になるけど、
hoge.exe を ruby.exe のハードリンクとした場合、
hoge.exe を消すと ruby.exe も消されてしまわない?(WinXP)
http://www.atmarkit.co.jp/fwin2k/win2ktips/982hardlink/hardlink.html
いまやってみたら、消そうとしたら「アクセスが拒否されました」と言われて、そもそも
ハードリンクで作った hoge.exe が消せなくなった。
(再起動したら消せるかも知れないが、めんどくさくてやってない)
>>139
バッチファイルに、以下じゃダメかな?
start ruby scrit/server
0145136
2009/05/25(月) 16:30:14ID:???> バッチファイルに、以下じゃダメかな?
> start ruby scrit/server
実は、
start /B ruby scrit/server
とか
cmd.exe /k start /B ruby scrit/server
とか色々試したのですが、うまくいかず、結局、wshのjscriptを使って起動させることにしました。
----------redmine_start.js-----------
shell = WScript.CreateObject("WScript.Shell");
shell.Run("ruby.exe script/server -e production -p 3500", 0);
----------------------------------
Runに 0 を指定するとウインドウを非表示で起動してくれるみたいです。
参考:
Run メソッド
http://msdn.microsoft.com/ja-jp/library/cc364421.aspx
Windows Script Programming: バッチファイル、コンソールアプリなどを非表示で実行する。
http://scripting.cocolog-nifty.com/blog/2006/10/post_c77d.html
無事解決した模様です。ありがとうございました。
0147nobodyさん
2009/05/25(月) 18:08:00ID:???レスありがとう。まさにそんな感じだった。
バイナリデータが、一部がごそっと欠損するわけじゃなくて、
途中途中のデータが消えてスカスカになる感じ。
まさに、バイナリデータを文字として開いているような・・・。
結局、指摘の方法をやってみたけどもだめで、素直にlinuxでやることにした。
(やりかたが間違ってたら申し訳ない。)
しかし新たな問題が発生。。。
今error_message_forを使ってエラーメッセージをだしているのだけども、
attachment-fuのvalidates_as_attachmentをつかって検証すると、
添付ファイルが無いときに
Content type can't be blank
Size can't be blank
Size is not included in the list
Filename can't be blank
と上記のような、ユーザーには関係ない内部的なエラーが表示される…。
今は、controllerの添付ファイルアップロード用メソッドに、
添付ファイルがpostされなかったら@モデル名.erros.addに「添付ファイルが無い」旨の
エラーメッセージを詰めて、処理を中断するようにしてるけど・・・
このプラグイン使っている人は、ファイルが選択されずにpostされたときは 、
どこで検証して、メッセージを表示してるんだ?
0148nobodyさん
2009/05/25(月) 18:21:59ID:???> hoge.exe を消すと ruby.exe も消されてしまわない?(WinXP)
> http://www.atmarkit.co.jp/fwin2k/win2ktips/982hardlink/hardlink.html
Explorerにそういうバグがあるの?
リンク先にもそんな記述はないようだけど。
> いまやってみたら、消そうとしたら「アクセスが拒否されました」と言われて、そもそも
> ハードリンクで作った hoge.exe が消せなくなった。
そりゃhoge.exeが動いてるんじゃね?
0149138
2009/05/25(月) 18:53:30ID:???>> hoge.exe を消すと ruby.exe も消されてしまわない?(WinXP)
>> http://www.atmarkit.co.jp/fwin2k/win2ktips/982hardlink/hardlink.html
>Explorerにそういうバグがあるの?
>リンク先にもそんな記述はないようだけど。
失礼、ジャクションと勘違いしていた。
>> いまやってみたら、消そうとしたら「アクセスが拒否されました」と言われて、そもそも
>> ハードリンクで作った hoge.exe が消せなくなった。
>そりゃhoge.exeが動いてるんじゃね?
こっちについては、hoge.exe は動いていなかったが、なぜかはわからん。
Who Lock Me で調べても出てこなかったが、ファイルサイズも小さいし気にしないことにする。
0150nobodyさん
2009/05/25(月) 23:46:56ID:???0151nobodyさん
2009/05/26(火) 00:16:03ID:???報告ですが、linuxだとできますた。
自分は最近やっとこさVMとかlinuxとか動かせるようになったひよっこだが、
オープン系の人ってwindows嫌いなんだろうかw
0152nobodyさん
2009/05/26(火) 00:43:30ID:???「オープン系」はメインフレームの一社でのまるごとシステム提供に
対してUNIXやWIndowsでいろいろなメーカーのを使うことを指す用語。
嫌いというか、 Windowsに興味がない人は多い。
UNIX畑の人が優勢な世界だしね。
MacはOSXになってUNIX寄り(定義上はUNIXそのもの)になったから
まだましだが。
0153nobodyさん
2009/05/26(火) 01:01:38ID:???0154nobodyさん
2009/05/26(火) 01:21:20ID:???「Windowsしか使えない奴」なら同意してあげる
0156nobodyさん
2009/05/26(火) 07:31:40ID:???sshで全部の設定が出来る訳じゃないし、鯖用途で使われてるのは、ほぼ皆無。
まだLinuxのほうがUNIXに操作方法が近い。
CUIとrubyみたいなスクリプト系の相性の良さは異常だしな。
GUIのためにスクリプトの手間が増えるのは萎える。
0158nobodyさん
2009/05/26(火) 11:29:07ID:2daPE8kx主キーとしてそれぞれbookid, itemidが設定されています。
それぞれのモデルに
set_table_name "book"
set_primari_key "bookid"
has_many :items
set_table_name "item"
set_primari_key "itemid"
belongs_to :book
を設定しています。
script/consoleを使用して以下のようにしています。
b = Book.find(1)
b.items
ですが、b.itemsの行で以下のようなエラーが出ます。
ActiveRecord::StatementInvalid: PGError: ERROR: column item.book_id does not exist
itemテーブルのbook_idを探しているようなのですが、itemテーブルの外部キーはbookidなので
エラーが出ているようです。
railsがbookidでitemテーブルを検索するようにするためにはどうしたらよいのでしょうか?
0159nobodyさん
2009/05/26(火) 15:11:42ID:???スクリプトへの変更はすぐに反映されますか?それともサーバの再起動が必要?
0160nobodyさん
2009/05/26(火) 17:41:24ID:???0161159
2009/05/26(火) 19:04:33ID:???ありがとうございます
0162nobodyさん
2009/05/26(火) 20:00:03ID:???もし自分がはまったとき、
みんなソースをどうやって追いかけているの?
全部見ていく訳じゃないんでしょう?
0163nobodyさん
2009/05/26(火) 20:06:28ID:???0164nobodyさん
2009/05/26(火) 20:25:56ID:???0166nobodyさん
2009/05/26(火) 22:07:08ID:???定義箇所をgrepで探す。
Railsはとくに動的に定義されるメソッドが多いからそれだけじゃ
どうにもならなくなるんだが。
その場合、method_missingあたりから追うことになるな。
エラーなら、とりあえずログに出てくるバックトレースを見る。
0167nobodyさん
2009/05/26(火) 22:41:14ID:nc85Zu/kたとえば /usr/local/foo 以下が RAILS_ROOT だとして、RAILS_ROOT で mongrel 等を使って
ruby script/server で起動すると、アプリの URL は
http://myhost/ 直下になりますよね。
開発環境では、これで開発しています。
本番環境が、Passenger を使って http://myhost/foo/ 以下で運用することになりました。
Passenger 等を使うと、/*** はいくらでも httpd.conf で自由に定義できると思いますが、
アプリの view で image_tag("icon.png") とすると、
<img src="/images/icon.png">
とレンダリングされてしまい、/image ディレクトリは web サーバのトップにあることが前提となってしまいます。
Passenger 等で、http://myhost/foo/ にアプリケーションを展開した場合、
image_tag("icon.png") は、
<img src="/foo/images/icon.png"> となってくれるのでしょうか?
※Java Servlet の HttpServletRequest#getContextPath() みたいなのを内部でやってくれるのかどうか
0168nobodyさん
2009/05/26(火) 22:44:39ID:???config/environments/production.rb
config.action_controller.relative_url_root = '/foo'
とかやったらどうなる?
0169167
2009/05/26(火) 22:46:23ID:???早速レスどうもありがとうございます。
実はこれから Passenger をビルドしようとしているので、
まだ Passenger で動かしたことない。
というか image_tag() が出力する HTML タグは、
Passenger か mongrel/webrick かで、出力結果が変わるのですか?
0170158
2009/05/26(火) 22:52:37ID:2daPE8kxset_primari_key "bookid"
has_many :items, :foreign_key => :itemid
set_table_name "item"
set_primari_key "itemid"
belongs_to :book, :foreign_key => bookid
とすることでうまく動作するようになりました。
>>165さんありがとうございました。
0171nobodyさん
2009/05/26(火) 22:57:13ID:???image_tagなんかの出力は actionpackのasset_tag_helperで定義
されているが、ActionController::Base.relative_url_root の値が
頭に付く。この値は環境変数でデフォルト値を変えられるので、
呼び出すプロセスが変更すればその影響を受ける。
Passengerがそこをどうしてるかは知らないけど。
0172nobodyさん
2009/05/26(火) 23:29:44ID:???「10時15分」
とか数字で表示させたい場合
どんな手法がいいですか?
あと、一緒にカウントダウン表示も行いたいのですが。
0173nobodyさん
2009/05/27(水) 00:13:56ID:???要件によるが
というかRails関係ない
0175127
2009/05/27(水) 02:11:16ID:jIlGcikVむーんやはりそんな感じですか・・
ありがとうございましたm(_ _)m
0176167
2009/05/27(水) 03:42:10ID:???>>171 さんのそういう情報も聞きたかったでした!!
こちらの環境:
・CentOS 5.1
・Apache 2.2.3(httpd-2.2.3-22.el5.centos)
・ruby 1.8.5 (2006-08-25) [i386-linux]
# gem list
actionmailer (2.1.1)
actionpack (2.1.1)
activerecord (2.1.1)
activeresource (2.1.1)
activesupport (2.1.1)
cgi_multipart_eof_fix (2.5.0)
composite_primary_keys (1.0.10)
daemons (1.0.10)
dcov (0.2.2)
fastthread (1.0.7)
gem_plugin (0.2.3)
haml (2.0.9)
mongrel (1.1.5)
mysql (2.7)
passenger (2.2.2)
rack (0.9.1)
rails (2.1.1)
rake (0.8.4)
rcov (0.8.1.2.0)
rspec (1.1.12)
rspec-rails (1.1.12)
0177167
2009/05/27(水) 03:43:18ID:???http://redmine.jp/tech_note/apache-passenger/ にあるように
VirtualHost 形式でやってみたところ、Passenger で Rails アプリは動いた。
これは問題なし。
つぎに http://rubyist.g.hatena.ne.jp/Ubuntu/20080729/1217336403 のように、
VirtualHost を使わず、
# ln -s /usr/local/foo/public /var/www/html/foo
として、httpd.conf に以下を追記した方式で、
RailsBaseURI /foo
Rails アプリを http://myhost/foo/ でやってみた。結果としてうまく動いた。
アプリの view の中で image_tag("icon.png") とすると、
<img src="/foo/images/icon.png">
というように /foo が付加された。
また <%= @controller.request.relative_url_root %> とすると、
/foo が出力された。(*1)
ということで問題ないようです。
ちなみに >>168 にあるように、 config/environments/production.rb に
config.action_controller.relative_url_root = '/foo'
は書いていません。
production.rb をいじらなくても目的は達成できたけど、以下を追試した。
0178167
2009/05/27(水) 03:43:45ID:???production.rb に >>168 を書いて Apache を再起動し、http://myhost/foo にアクセスすると、
Rails アプリが立ち上がらない。Passenger の HTML が出て、
Ruby on Rails application could not be started
Error message:
undefined method `relative_url_root=' for ActionController::Base:Class
というのが出る。
もし書くとしたら、どう書くのが正しいのだろうか?
○追試2( >>171 を見て):
(*1) の時、view で <%= @controller.request.relative_url_root %> の代わりに以下のように書くと、
<%= ActionController::Base.request.relative_url_root %>
以下のようなエラーになった。
ActionView::TemplateError (undefined method `request' for ActionController::Base:Class) on line #?? of index/index.html.erb:
これも同じ問題かな?
0179nobodyさん
2009/05/27(水) 14:03:41ID:???素朴な疑問なのですが、
通常データベースの最初の作成って、どんな風におこなっているもんなんでしょうか?
rake db:create だと mysqlのroot ユーザみたいなあらかじめ権限あるユーザでないと作れないし、
というかdevelopmentとかtestはrootでも別にいいかって感じなんですけど(と、Railsによるアジャイル本P26にあった)、
productionの場合、さすがに root まんまってのも変だし…
結局、mysql コマンドでroot で
create database 'my_project_production' default character set utf-8;
grant all privileges on my_project_production.* to my_project@localhost identified by (パスワード)
みたいにDB作ってユーザー作成ってことをするのも、他の開発者とか、テスト環境とかで
毎回やってたらあれなんで、テキストに書いて、
myslq -u root -p < create_db.sql
みたいにやってもらう、ってことになるかと思うのですが、
その辺、スマートな方法ってないもんでしょうか?
0180nobodyさん
2009/05/27(水) 17:58:08ID:???0181nobodyさん
2009/05/27(水) 18:25:31ID:???0182nobodyさん
2009/05/27(水) 19:04:52ID:???0183nobodyさん
2009/05/27(水) 19:11:52ID:???なぜunixの権限設定の話になるの?データベースユーザの話でしょ?
ちなみにおれはマイグレーション機能を使っていない、
が元レスに対する回答かなあ
0184nobodyさん
2009/05/27(水) 19:27:27ID:???バージョンあげてもっとひどい目に遭いたくないから躊躇してしまう。
0185nobodyさん
2009/05/27(水) 20:07:31ID:???create database は、MySQL にログインして実行しているけど、
そこからさきのテーブルを作るところは、rake db:migrate でやっている。
>他の開発者とか、テスト環境とかで 毎回やってたらあれなんで、テキストに書いて、
別にあれというほどの作業でもないと思うが。
チームに人が増えたら、DB 担当者に「佐藤さんが今日から入ったので、satou スキーマを作ってあげてください」
でいいんじゃないの?
>>184
どう不安定なのか知りたい。
0186nobodyさん
2009/05/27(水) 21:25:43ID:???アパッチごと落ちるとかインターナルサーバーエラー。
落ちるのはやめてほしいが1日に1回くらいかな。
知りたいってことは安定してるの?
0187nobodyさん
2009/05/27(水) 21:33:39ID:???Passenger2.2.2使ってるけど、特にApacheが落ちるという事はないな。
環境が違えば、結果も変わると思うので、ここで聞いても仕方ないのでは?
テスト環境作って、そこで最新版のテストをしてみる事をお勧めします。
0188nobodyさん
2009/05/27(水) 22:34:45ID:???sendmsg()がEBADFで失敗するところまでは追いかけたけど、なんで失敗するのか
さっぱりわからん。
0189nobodyさん
2009/05/27(水) 23:27:55ID:???ふ〜む、サーバーのメモリが足りないのだろうか。
ちょっと開発環境でバージョンあげてテストしてみる。
mongrelの方がよかったかもと後悔中。
0190187
2009/05/28(木) 00:12:48ID:???ところで、このあたりの値ってどうしてます?
PassengerMaxInstancesPerApp
PassengerMaxRequests
自分は今このくらいで動かしてる。
PassengerMaxInstancesPerApp 8
PassengerMaxRequests 15
ちなみにサーバのメモリは4GB。
以前、PassengerMaxRequestsを設定しなかったら
passenger-statusで表示される1個あたりのProcessedが500とかになってて大変な事になってた。
アクセスが多すぎてApacheが落ちる?という事があり得るなら
PassengerMaxInstancesPerAppとPassengerMaxRequestsを調整してみるといいかも。
確証はないけど。
0191nobodyさん
2009/05/28(木) 01:17:36ID:???ありがとう。
おれの方は個人、といっても趣味ではないんだけど、
VPS(メモリ200Mくらい)を使って立ち上げた卵サービス。
パラメータは、
PassengerMaxPoolSize 2
しか設定してない。
マニュアルを見ると「2」でも少しきついかもなんだけど。
アクセスは重なっても瞬間3リクエスト/秒くらいだから、
悔しいけどアクセス過多というのはあり得ないんだよね・・・orz
mongrelの方が消費するメモリが少ないみたいだから、
これくらいの小っちゃい規模ならmongrelの方がいいのかなと思った。
0193nobodyさん
2009/05/28(木) 10:51:19ID:???NO
>>183
そです。
>>185
うん、まあそんなもんかー。それくらい手間じゃなかろう、というスタンスですか
参考になりました。サンクス
0194nobodyさん
2009/05/28(木) 11:13:37ID:???passengerかmongrelか迷うな〜。
passengerはVMにいれて動くとこまで確認したけど、いいのか悪いのか
わかんねー。
0195nobodyさん
2009/05/28(木) 13:20:08ID:???そもそも、開発者は production 運用時のパスワードとか知る必要はないんじゃね。
ウチはそこんとこ、deployスクリプトでよろしくやってる。
0196nobodyさん
2009/05/28(木) 14:52:22ID:???Processed とはどういう意味でしょうか?
こちらでは、開発チーム4人、テスト環境で passenger を使っていて、ホストしている web アプリは1つ、という状況。
ラッシュテストではなく、make/UT フェーズの後で、ブラウザをぽちぽち触っている程度。
あと httpd.conf では、おきまりの追記する 3行と、RailsBaseURI /foo しか定義していない。
----------- Domains -----------
/home/******/rails:
PID: 10322 Sessions: 0 Processed: 111 Uptime: 23m 26s
PID: 15097 Sessions: 0 Processed: 80 Uptime: 7m 33s
Core2Duo E8400、メモリ3GB、CentOS 5.1(32bit)です。
0197nobodyさん
2009/05/28(木) 15:57:18ID:???あ、すまん。もう少し詳細に。
まず、負荷を抑えるために静的ファイルにできるものは全部静的にしてるから、
そのアクセスすべてがRailsのコントローラーを通るわけじゃない作り。
Railsのコントローラーを通るリクエストは全体のうち10〜20%くらい。
瞬間3リクエスト/秒というのは1日1回あれば上等で、1日平均2000〜4000リクエストくらい。
1つ上のプランにしようか検討中(メモリが倍くらいになる)。
0198nobodyさん
2009/05/28(木) 19:46:53ID:???1つのRailsインスタンスが処理しているプロセス数だと認識している。
初期値では無制限になっているから負荷が高い時は
PassengerMaxRequests 50
など少ない数値を指定すると良いかも。
こうすると、各インスタンスのProcessedの値が最大50に制限される。
0199nobodyさん
2009/05/28(木) 21:57:11ID:???俺はとりあえずキャッシュとか一切考えないで作って、
支障でてきたらメンテナンスしようかなってくらいなんだが・・・
結構しんどそう。
0200nobodyさん
2009/05/28(木) 21:58:30ID:???0201nobodyさん
2009/05/28(木) 22:02:19ID:???0202nobodyさん
2009/05/28(木) 23:27:35ID:???0203nobodyさん
2009/05/29(金) 03:17:14ID:2GV35QJ0外部キーの定義にt.references :userを使わずt.integer :user_idを使っています。
なぜなんでしょうか?
0205nobodyさん
2009/05/29(金) 21:04:19ID:???ヘルパで定義したメソッドから、別のヘルパに定義されているメソッドを呼び出そうとしたら
上手く呼び出せないんだ
なぜかActionView::Helpers::JavaScriptProxy のインスタンスが帰ってくる
どうすればいい?
0206nobodyさん
2009/05/29(金) 21:43:02ID:???0207nobodyさん
2009/05/29(金) 23:19:50ID:???0208nobodyさん
2009/05/29(金) 23:23:02ID:???去年は会場が広かったせいかわりと余裕があったが今年はどうだろうね。
0209nobodyさん
2009/05/30(土) 01:57:19ID:???0210nobodyさん
2009/05/30(土) 02:36:46ID:???チケットは瞬殺してしまうものなのでしょうか?
0211nobodyさん
2009/05/30(土) 02:41:08ID:???映画ラストエンペラーでアカデミー音楽賞とった人?
0213nobodyさん
2009/05/30(土) 10:29:12ID:???東京から遠かったせいか、もっとゆっくりだったと思う。
0214nobodyさん
2009/05/30(土) 17:53:01ID:???アクティベーション用につかってたんだけど、とづぜんおくれなくなった。
気になるのは、GMAILにログインして送信済みトレイをみるとそのメールは
送ったことになってる。
なお普通にメールは送れる。
なんか同じような手形式のメールばっかりやってたから、迷惑メールのサーバーとして
利用してると勘違いされて、ブロックかけられてるような気がするのだが・・・。
0215nobodyさん
2009/05/30(土) 18:19:50ID:???0217nobodyさん
2009/05/31(日) 15:45:27ID:???Google Apps の Gmail は2,500だったような気がする。
Gmail アカウントを10コ取得、アカウントをランダムで
回してメール送信すれば OK。
0218113
2009/06/02(火) 12:05:26ID:???production環境でもdevelopment環境みたいに
エラーが発生した時に詳細を出したいんですがどこで設定したらいいですか?
また、Controllerのメソッドを特定のアドレスからのみ実行させたいんですが、
これってrailsの設定でできます?
(ENV['REMOTE_HOST']を取得して分岐させた方が早いですか?)
0219nobodyさん
2009/06/02(火) 12:12:45ID:???0220nobodyさん
2009/06/02(火) 18:37:29ID:???作者メンテ終了ってきいて不安…
0221nobodyさん
2009/06/02(火) 21:31:58ID:???http://www.infoq.com/jp/news/2009/03/ruby-deploy-roundup
Capistrano の後継は vlad というのかな?
もっとも自分は、デプロイは、ローカルで tar.gz つくる→転送する→サーバ側で
Passenger の touch restart.txt する
という原始的なことしかしてないけど(笑)
Capistrano は評判いいらしいが、使ったことない。
0222nobodyさん
2009/06/02(火) 21:35:02ID:???ある程度使っている人がいるだろうから
なにかあってもなんとかなりそうじゃね?
0223nobodyさん
2009/06/02(火) 21:37:41ID:???aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
</div>
で、firefoxだとdivの枠線を突き抜けてしまう現象についてなんだが・・・。
今はrubyで<wbr/>タグを文字と文字の間にはさみこんで対処してるんだが・・・
これってみんなどうしてんの?
転送量増えるし、出来ればこの方法はとりたくないなぁ。
0225nobodyさん
2009/06/02(火) 21:40:31ID:???0227nobodyさん
2009/06/03(水) 03:54:32ID:???さっくり商用ソフト使ってサポート契約しておくのが安心。
0228nobodyさん
2009/06/03(水) 11:48:06ID:???0229nobodyさん
2009/06/03(水) 22:26:10ID:???びぎんっ!れすきゅー!
0230nobodyさん
2009/06/04(木) 19:17:08ID:???svnなどのバージョン管理ツール経由でデプロイする場合は、
リポジトリサーバーを公開しておく(デプロイ先からアクセス可にしておく)必要があるわけでしょうか?
リポジトリが公開サーバーからアクセスできない(例えばローカルネットワークやファイヤーウォール内にあるなど)
場合は、どうしたものでしょうか?
また、svn等SCM経由でデプロイする利点というのは何があるのでしょうか?
0231nobodyさん
2009/06/04(木) 19:25:16ID:???set :deploy_via, :copy
set :copy_remote_dir, "/tmp/tmp2"
0232nobodyさん
2009/06/04(木) 21:27:28ID:???ルーツはネットの掲示板が普段言えないこと=反良識だったところだろうね。
で、良識と左派思想に近いものがあったのが原因かと。
多分今のネットの言論の遡った先って、大昔のあめぞうとかUG系の掲示板で話されてた
中二病的な会話だったと思う。
「うぜえ、氏ね」とか「ハッキングが問題なんじゃねえ、ちょっとつついたら入られる
くらいセキュリティもちゃんとせずにネットやるほうが悪いんだよ」とか「殴られても
やりかえすな、ヘラヘラしてろってかw」みたいな。
表によろしい発言かというとそうじゃないけど、まあちょっと良識に反発しようと
思って考えずに口にだす暴論、みたいな。
それが2chになって、2chが巨大化して一般人も流入して、セコウ工作が……となっていくうちに
「ヘイトスピーチ」「自己責任」「9条破棄」と変質していったと。
でも確かにほんとうざいな、右翼コメ。
雑談スレで何かっつーとそういうネタ持ってくる人とかもうね。
0234nobodyさん
2009/06/04(木) 23:27:36ID:???0235nobodyさん
2009/06/05(金) 01:44:35ID:???:if とか :unless とか上手く使えばスマートに書けるのだろうか・・・。
それとも Model 内で 呼び出し元の action 取得できるような機能ってあったりする??
0236nobodyさん
2009/06/05(金) 01:51:08ID:???どこでそんなのが必要になるのかさっぱりわからんが、
新規作成時と既存レコードの更新時で変えたいなら方法はある。
0238nobodyさん
2009/06/05(金) 06:58:11ID:???なんか意味が分からない。
validate_on_create、validate_on_update、validate
をモデルに定義するだけじゃ足りないの?
0239235
2009/06/05(金) 08:46:49ID:???>>238
そんなに意味がわからない程珍しいシチュエーションかなー??
DB上は一つのテーブルだから一つのModelなんだけど、カラムによって登録・更新する画面がいくつかに分かれてしまった場合とかってそれなりにあると思うんだが・・・。
ttp://blog.masuidrive.jp/index.php/2008/02/23/rails_valid_columns/#
ttp://www.fraction.jp/log/archives/2008/02/29/Rails_de_Wizard
この辺の記事にもあるけど、ウィザード形式の入力フォームとか。
「じゃあ記事の方法でいいじゃん」って事かもしれんが、上の記事の方法だと一回全部 validate が実行されるし、
下の記事は API ドキュメントにある方法だけど、明示的に Controller からどの画面かを渡してるのが微妙だな、と思って、
他になんか方法がないかなー、と。
0240nobodyさん
2009/06/05(金) 09:22:02ID:???bodyが2画面目で入力されるとして、
class Entry < ActiveRecord::Base
validates_length_of :body, :if => :_body_required?
def _body_required?
!!self.body
end
end
みたいに普通にやれば良いだけじゃないの?
1画面目ではvaildation走らない。
0241nobodyさん
2009/06/05(金) 09:24:07ID:???その値によって入力する内容が変わったりするってことか?
どういうものかイメージがわかないのだが、複数の画面で登録するってことは、
1つのテーブルにまとめてること自体がおかしいというわけではないの?
0242nobodyさん
2009/06/05(金) 10:23:57ID:???自分なら、モデルではなく、バラのセッションデータとして属性値を持ち回って、
ウィザードの最後でモデルを作るという形にすると思う。
0243nobodyさん
2009/06/05(金) 10:30:16ID:???validationをどうするかって話でしょ。
ウィザードの最後でvalidationするの?
0244nobodyさん
2009/06/05(金) 10:42:09ID:???0245235
2009/06/06(土) 00:39:58ID:???みんないろいろなレスありがとう。
とても参考になります。
>>240
確かにシンプルでいいんだけど、最終的に body が必須(validates_presence_of)の場合だと駄目だよね?
実際ちょっと困ったのが、後の画面では必須なのに前段階の画面には入力欄の無いパターンなんだ。
>>241
選択によって入力させる内容が変わるというよりは、入力項目が多い画面なんかで、「次のステップ」みたいに画面分割された感じ。
テーブル設計のミス、と言われればそれまでなんだけど、画面が開発後半になって分割されたりしたから、タイミング的にテーブルを分けるのは難しいんだ・・・。
>>242
確かに良くないとは思う。
ただその方法だと >>243 の指摘の通りで、入力画面が分かれてるから、最期にまとめて実行すると一部の項目が入力欄がないのにエラーメッセージが出てる状態になっちゃうんだよね・・・。
>>244
それって
ttp://blog.masuidrive.jp/index.php/2008/02/23/rails_valid_columns/#
ここの人がやってた validatoin 一旦走らせて、不要な項目のエラーを errors から取り除く、ってことかな??
確かにこの方法使うとコード自体はすっきりしそうなんだけど、毎回全部の validation が一度は実行される、ってのは微妙な気がしてる。
例えば Java の Struts なんかだと ValidatorActionForm みたいに、同じ ActionForm でも パス毎に異なる検証ルールを適用できるよね?
そういう方法が Rails にも用意されているのかと思ったんだけど・・・。
そういう事やるためのプラグインとかってあったりする?
0246nobodyさん
2009/06/06(土) 01:13:48ID:???↓(valid_for_B?)
入力ページB
↓(valid_for_C?)
入力ページC
↓(valid?)
確認
↓(valid?)
完了
って感じで遷移するんだよね、きっと。
controllerのprivateにでもvalid_for_XX?みたいなのを作ってしまえばどうでしょう。
遷移の都合なんだから直書きでもいいかもしれない。
def valid_for_B?(record)
record.valid?
return !(errors.on(:body) || errors.on(:title))
end
昔validate_attributesってプラグインを使ったことがある。
validateするカラムをonly/exceptで指定できる。
検索してどこのリポジトリのが使えそうかおしえてちょ。
最近はgithubでforkされまくるからどこのが良さそうか迷うわな。
0247235
2009/06/06(土) 02:00:03ID:???errors.on(:body) で特定カラムにエラーがあったかどうかチェックできるのか・・・これは知らなかった!
この書き方だと確かにシンプル且つ画面との結合がControllerだけに押さえられそうだね。
valid? 呼んじゃってるから validation が一旦全部実行されちゃう、ってのを無視できる箇所ならこれで良さそう。
validate_attributes ってプラグインがあるんだね。
検索してみたら日本の人が作ったのがあるみたい。
ttp://blog.imishin.com/projects/ruby/validattributes/#
ttp://github.com/kusakari/valid_attributes/tree/master
今年5月くらいにも更新入ってるようなので、メンテはされてそう。
サイトを見る限りなかなか良さそうなので、時間見て触ってみるよ!!
0248nobodyさん
2009/06/06(土) 02:42:03ID:???NetBeans 6.5でRailsアプリケーションのテスト駆動開発を:企業IT部門の変革を支援するエンタープライズ実践情報サイト EnterpriseZine
http://enterprisezine.jp/article/detail/910?p=3
NetBeans 6.5でRailsアプリケーションのテスト駆動開発を:企業IT部門の変革を支援するエンタープライズ実践情報サイト EnterpriseZine
http://enterprisezine.jp/article/detail/910?p=4
Productクラスにフィールドの値を検証するコードを追加しています。
Productクラスにインスタンスメソッドvalidateメソッドを実装すると、saveメソッドの直前に実行されます。validateメソッドの中で、
不正な値を見つけ出したら、errorsオブジェクトのaddメソッドを使って、エラーを登録します。このメソッドは第1引数にフィールドの名前、第2引数にエラーメッセージを取ります。
1行目と2行目は、test_should_create_productとほぼ同じですので、3行目から見ていきましょう。
assert p.errors.invalid?(:price)
priceフィールドでエラーが生じていることを確認しています。これは一種のイディオムとして覚えてください。
0249nobodyさん
2009/06/06(土) 05:57:25ID:???cap deploy:setupが無事に終わり、cap deploy:cold しようとするのですが、
リポジトリからチェックアウト時にこけてしまいます。
config/deploy.rbは
set :repository, "svn+ssh://my_server/my_program/trunk"
set :deploy_to, "/home/www/#{application}"
set :deploy_via, :copy
みたいにしてあるのですが、
ローカルでの実行結果を見ると、
svn checkout -q -r13 "svn+ssh:\\my_server\my_program\trunk" c:\cygwin\tmp
になってて、権限がない、とかでエラーになってました。
試しに
svn checkout -q -r13 "svn+ssh://my_server/my_program/trunk" c:\cygwin\tmp
とすると問題なく実行されました。
svnに渡されるパス区切りが何故かバックスラッシュになっているみたいです。
(すいません、細かいログはちょっと忘れました。後でまた書きます)
Windowsのせいなのかな…
環境
・Windows XP SP3
・cygwin + ssh + ssh_agent
・svn, バージョン 1.5.3 (r33570) plink.exeとpageantでssh鍵接続
0250nobodyさん
2009/06/08(月) 08:19:40ID:???比較的日本語のせつめいもあるからね
0251nobodyさん
2009/06/08(月) 10:27:16ID:???0253nobodyさん
2009/06/08(月) 11:11:23ID:???0254251
2009/06/08(月) 11:27:36ID:???252 的なつまらん回答としては
xrea に Rails や、GAE を JRuby on Rails とかかなぁ。
0255nobodyさん
2009/06/08(月) 11:29:14ID:???can't activate gettext (= 1.93.0, runtime) for [], already activated gettext-2.0.4 for []
と出ます。gettext は 1.93.0 と 2.0.4 が入っています。
エラーメッセージから推察するに 1.93.0 を指定する必要がありそうな感じなのですが、
どうしたらいいでしょうか。
0257nobodyさん
2009/06/08(月) 14:42:45ID:???0259nobodyさん
2009/06/08(月) 14:47:37ID:???Morph AppSpaceだ。
PaaS, the leader in Platform as a Service :: Morph Labs
http://mor.ph/
Java/GrailsのWebアプリを無料クラウド環境で動かす (1/3) - @IT
http://www.atmarkit.co.jp/fjava/special/appspace/appspace_1.html
0260251
2009/06/08(月) 14:57:16ID:???DB 5M までなら今も無料です。
ただ、5M は小さすぎて。
ttp://heroku.com/pricing#blossom-1
>>259
ありがとうございます。
DB も MySQL/PostgreSQL が用意されていてすごいですね。
0262249
2009/06/08(月) 15:59:55ID:???謎をとくべく、リポジトリのパスが何故バックスラッシュが円記号になってしまうのか、該当箇所が見つからず困ってます…。
リポジトリのパスが lib/capistrano/recipes/deploy/scm/base.rb の repositoryメソッドで
repositoryという設定から読まれていて、
cap deploy:coldによって、
lib/capistrano/recipes/deploy/strategy/base.rb の Capistrano::Deploy::Strategy.deploy! から、
lib/capistrano/recipes/deploy/scm/subversion.rb の checkout でrepositoryメソッドが呼ばれているまではわかりました。
円記号への変換ルーチンが見つからないよヽ(`Д´)ノ ウワァァン!!
0263249
2009/06/08(月) 16:31:58ID:???if RUBY_PLATFORM =~ /win32/
cmd.gsub!('/','\\') # Replace / with \\
というようなコードがあり、置換されているようでした。
本家でも確認されたこちらの問題のようです。
#76 Invalid subversion url - Capistrano - capistrano
https://capistrano.lighthouseapp.com/projects/8716/tickets/76-invalid-subversion-url
[Capistrano] Problem with :deploy_via, :copy and windows
http://www.mail-archive.com/[email protected]/msg05626.html
パッチあたるバージョンが出るまで、
置換されないように、/ 渡す方法ってないもんでしょうか?
Ruby一般な問題な気がするので、本スレの方で聞いてみます。
0264nobodyさん
2009/06/09(火) 00:32:39ID:???これってファイルを更新したくなったらどうするんですか?
ユーザ1人1人に顔アイコンをuploadできるような仕組みを考えてて、
userモデルはphotoモデルをbelongs_toしてる。
photoモデルはhas_attachmentして、uploadされたデータをファイルとして保存してる。
こんな感じで保存してるんだけど
@photo = Photo.new(params[:uploaded_data])#ファイルフィールドからのポスト含む
@photo.save
User.update(ユーザID, [{:photo_id => @photo.id}]
これで新しい画像をアップロードしたときどうすればいいんだろうか・・・と悩んでいるのだけれど・・・。
User.photo.destroy if User.photo
@photo = Photo.new(params[:uploaded_data])
@photo.save
User.update(ユーザID, [{:photo_id => @photo.id}]
こうすればいけるのはわかるのだけど、
@photo = Photo.find(params[:id])
@photo.update_attributes(params[:photo])
こういう風に更新するのが正しいような気がするのですが・・・
0265nobodyさん
2009/06/09(火) 16:21:04ID:???全体像がつかめません。
どうしたら、どのファイルが必要であるかわかったり、
ファイルごとの関連性がわかるなど
全体像をつかむことが出来ますか?
0266nobodyさん
2009/06/09(火) 18:01:27ID:???I/O BOOKSの「はじめてのRuby on rails2」がおすすめ。
慣れるとまったく読むことの無い本になるけど、
非常に簡単に説明してくれるので、まずつまづくこと無くサンプルアプリが組めるはず。
学習の最初に火種にいい本だと思ってる。
他はレシピブックが個人的には神だった。
Ruby on rails Webアプリケーションスーパーサンプルは駄目だった。
0267nobodyさん
2009/06/09(火) 18:40:55ID:???今まさにこれで勉強してる訳だが(´;∀;)
0268nobodyさん
2009/06/09(火) 18:45:52ID:???あ、すまん。つい
0269nobodyさん
2009/06/10(水) 00:00:25ID:???ごめん、「駄目」って言い方悪かった。
最初にその本から始めたんだけど、俺の頭が悪くて理解不能だった。
「はじめてのRuby on rails2」は、相当ハードル下げてくれてるから
(その分進みが遅くて内容が薄い)、俺でも理解できた。
> Ruby on rails Webアプリケーションスーパーサンプル
は、バージョンが1.3なのがマイナスだけど、ある程度理解した状態で読んだら
普通にいい本だったよ。
0270nobodyさん
2009/06/10(水) 01:15:45ID:???has_attachment :content_type => :image, :storage => :file_system,
validates_as_attachment
モデルにこの設定でも、exeとかdllとかでもupできてしまう・・・
has_attachment :content_type => :image,
:storage => :file_system,
:path_prefix=>"public/image/d/",
:max_size => 3000.kilobytes,
:resize_to => '130x100'
validates_as_attachment
この設定でなんでもuploadできるし、3M超えても普通にアップロードできる・・・。
:storage => :file_systemだから?。。。
自分でファイルサイズとかのvalidate作らないとだめなんでしょうか。
他にいい画像アップロードのプラグインないでしょうか。
0271nobodyさん
2009/06/10(水) 06:36:31ID:???やりたい事がアップロードできるファイルの種類の制限(画像のみ)やファイルサイズ
だけなら、簡単そうだからプラグインのソースを直接修正すればいいと思うよ。
0272nobodyさん
2009/06/10(水) 10:51:34ID:???0273nobodyさん
2009/06/10(水) 11:08:18ID:???一回アップロードされるのはRailsのプラグインだと、
いまのところ仕方ないこと。
アップロード後にvalidationかけてはじく。
仕事で使うとどうしても確認画面入ってくるから、
そういう場合はいまだfile_column一択になってしまう。
0274nobodyさん
2009/06/10(水) 11:22:05ID:???仕事で Rails 使っている人発見!
入力→確認→登録の流れをどう実装していますか。
登録画面にも確認画面を表示しているならその方法や、
確認→登録の hidden は何か特別なこととかしてるかとか。
0275nobodyさん
2009/06/10(水) 11:47:43ID:???確認画面JavaScriptでやれとかいう人もいるけど、
ちゃんと画面つくってる。
無理にRESTにこだわる必要なし。
JavaScriptでやると、登録まできちんとしたvalidationできないし。
値はsessionで持ち回し。まぁ、他の言語でも普通な方法。
hiddenだと、確認→登録の時にもvalidationしなきゃいけないので。
0277nobodyさん
2009/06/10(水) 13:04:17ID:???どうもです。
↓とりあえずこれでファイルの種類特定するようにしますた。
validates_inclusion_of :content_type, :in => ["image/pjpeg", "image/jpeg", "image/gif", "image/png"]
ファイルサイズもsave前に取れる(windowsだと取れません。)のでこれでいこうかとおもってる。
しかし、windowsだとアップロードファイルのsize取れなくて、わざわざlinuxでテストしないといけない・・・。
こういうの続くと、開発環境をlinuxしたいな〜って思うようになってきたんですが、
慣れればwindows並の作業効率出せるもんなんでしょうか。
今のwin環境は秀丸+grepツール+windows付属品。
0278nobodyさん
2009/06/10(水) 13:34:23ID:???なんか違う意味でのバリデーションなんだろうか。
0279nobodyさん
2009/06/10(水) 13:53:55ID:???入力→確認→登録、というテンプレートないものかな。
0280nobodyさん
2009/06/10(水) 14:04:01ID:???ネット系なら確認画面は必須だが。
0281nobodyさん
2009/06/10(水) 14:19:46ID:???入力→確認 のときにvalidationかけてセッションに入れる。
エラーが出たら、入力に戻す。
確認→登録 のときは、すでにvalidationが通ってるから大丈夫。
登録から入力に戻すってのは、一画面余計に通ることになるので避けたい。
0282nobodyさん
2009/06/10(水) 15:32:42ID:???まあ、そう単純じゃない場合も良くあるんだよねえ。
すると、テンプレにしてもプラグインにしてもすべてのケースを網羅
できそうもないわけですね。
> 登録から入力に戻すってのは、一画面余計に通ることになるので避けたい。
redirect_toするだけじゃないの?
0283nobodyさん
2009/06/10(水) 15:43:46ID:???入力→確認→登録(エラー)→入力
よりは、
入力→確認(エラー)→入力
の方が、余計な確認画面とおらなくて良いって話でしょ。
0284nobodyさん
2009/06/10(水) 16:25:24ID:???<% if 入力画面 %>
<%= f.text_field :foor %>
<% else %>
<%= params[:foo] %>
<% end %>
0285nobodyさん
2009/06/11(木) 00:59:09ID:???当然、テンプレートも別。
デザインも別で上がって来るし、別の方が楽。
0286nobodyさん
2009/06/11(木) 11:11:55ID:???入力と確認に手を入れないといけないのが DRY じゃなくて何か嫌。
YAML からでも入力と確認画面を自動生成する仕組みがあるといいのだけど。
0287nobodyさん
2009/06/11(木) 14:27:20ID:???結局は手動で直すしか…。
仕事でやってると、デザイナの上げてきたデザインはめるのが辛い。
0288nobodyさん
2009/06/11(木) 14:43:46ID:???あとサーバ不要でpartialできる仕組みを各ブラウザに持たせてデザイナの
成果物をそのまま使えるようにできないものだろうか。
<include partial="./footer.html" />
それか、Rails実行環境とSVNクライアントを
ブラウザのプラグインレベルで提供。でざいなさんもerbやってもらう。
0289nobodyさん
2009/06/11(木) 15:13:57ID:???そんなに複雑なロジックをテンプレートに埋め込んでるの?
0290nobodyさん
2009/06/11(木) 17:25:37ID:???Railsだとフォーム関連のタグが全部ヘルパになってるし、
タグにclass一個付けるにも引数にしなきゃいけないので
その辺でダメだったみたい。
他にも便利な独自ヘルパ作ってる場合(ビューの一部がヘルパに行ってる)や、
Ajaxでコントローラ内にRJSを入れていて、
そこにHTMLが入って来たりすることもある。
別にテンプレートにロジックが入ってる訳じゃなくても
デザイナには難しいみたいよ。
0291nobodyさん
2009/06/11(木) 18:31:40ID:???あと、たとえやってくれても、
erb のタグとか消してしまっていて、
確認をしないといけないから
開発者の手間があんまり変わらないし。
0292267
2009/06/11(木) 19:47:21ID:???悩んでたんだけど2.0から変わってたのね・・・情報古いわ・・・
0293nobodyさん
2009/06/11(木) 20:12:53ID:???ところで、RESTfulな編集系actionって
http://guides.rubyonrails.org/routing.html#crud-verbs-and-actions
によると
new/create
edit/update
destroy
だけど、
確認画面が必要となると
new_1
new_2
new_confirm
new_commit
edit_1
edit_2
edit_confirm
edit_commit
delete_confirm
delete_commit
とかしたくなりませんか?
new
new_confirm
create
がいいのかなあ。
皆様どうしてますか?
0294nobodyさん
2009/06/12(金) 00:58:46ID:???DWで対応してるPHPのほうが、まだ抵抗が少ない。
いまやHTMLと画像が用意出来れば十分な時代でもないのに。
0296nobodyさん
2009/06/12(金) 09:02:22ID:???相手が理解できないならまず自分の教え方に問題がないか振り返らないと
代入のやり方とヘルパーの機能をまとめたものを渡せばある程度なんとかなるんじゃないだろうか
あとは分岐と繰り返しだけど、繰り返しは自動生成されるやつそのままでいけるだろうし
分岐も何回かやれば、簡単なIF文は身につくような
まあ、デザイナーに教えたことないから完全に脳内シミュレーションで
実際はイライラするのかもしれないけど
0297nobodyさん
2009/06/12(金) 12:39:20ID:???>>290 みたいにデザインすべき要素があちこちに分散していて
全体の把握がしずらいみたい。
開発側でデザインはめて、はめた後のものを少し修正ならできた。
あと開発側としても、デザイナにerb触らせて動かなくなったりするのが
怖いというのがある。
0298nobodyさん
2009/06/12(金) 13:04:00ID:???ほんとに。Smartyわかってもダメなのか。
ヘルパーって調べるのとか結構時間がかかって
面倒とか思ってるのはおれだけだろうか。
でもあると使いたくなるし、後で使ってないところを見つけると直したくなる。
いっそごそっとなくなってくれれば楽なのかもとたまに思う。
相当役に立つやつは残してほしいが。
0301nobodyさん
2009/06/13(土) 03:57:58ID:???HTMLのタグとかも理解せずにDW弄ってる奴らだし。
ちゃんとALTタグ設定してるの見た事無い。orz
0302nobodyさん
2009/06/13(土) 05:18:17ID:???0304nobodyさん
2009/06/13(土) 21:38:32ID:eLQY8eGW0305nobodyさん
2009/06/13(土) 22:13:41ID:???lib/string_ext.rb
かな。
0306nobodyさん
2009/06/13(土) 22:51:14ID:???vendor/plugins/string_ext/init.rb → (require 'string_ext'って書くだけ
vendor/plugins/string_ext/lib/string_ext.rb → Stringの拡張処理
0307nobodyさん
2009/06/13(土) 23:08:45ID:???「初期化」じゃないからきっと行儀が悪い気がする。
0308nobodyさん
2009/06/13(土) 23:35:49ID:???おれならたぶんそこに置く。というか実際置いてる。
使うときに何の宣言もいらないし。
初期化って「本処理が始まる前にやっておくべきもの」だから、
それほど行儀が悪いということはないんじゃないだろうか。
0309nobodyさん
2009/06/15(月) 11:54:46ID:???はやくしてくれ〜
0312nobodyさん
2009/06/15(月) 14:08:27ID:???3.0 系列になったら、またごっそり変わるのか・・・・
0313nobodyさん
2009/06/15(月) 14:09:49ID:???自分は、config/environment.rb に、
class << String
〜
end
みたいに再定義していたんだけど、この方法はお行儀悪いでしょうか?
0314nobodyさん
2009/06/15(月) 14:16:41ID:???おれは歓迎だけど。ただ1.9.1が出て少したったし、
Railsも3で少し落ち着いてほしいな。もうかなり充実してるし。
0315nobodyさん
2009/06/15(月) 14:28:22ID:???# Rails 3.0のRuby 1.9対応がひどい件
0316nobodyさん
2009/06/15(月) 14:53:49ID:???http://weblog.rubyonrails.org/2008/12/23/merb-gets-merged-into-rails-3
> The probably-overly-optimistic goal is to have at least a beta version ready
> for RailsConf 2009 in Las Vegas.
probably-overly-optimistic
beta
なお、RailsConf 2009 in Las Vegas は5月アタマだった。
0317nobodyさん
2009/06/15(月) 16:53:13ID:???environmentの意味を考えれば、
行儀が悪いというよりやってはいけないんじゃないだろうか。
それだったら最初に読むファイルは1個でいいように思う。
0318nobodyさん
2009/06/15(月) 18:48:13ID:???Capistranoのwin32での円記号が置換される問題ですが
結局、以下のようにパッチあてました。(全角空白を半角空白に置換してください)
--- base.org.rb 2009-06-08 17:12:53.187500000 +0900
+++ base.rb 2009-06-08 17:13:44.515625000 +0900
@@ -50,7 +50,12 @@
def system(*args)
cmd = args.join(' ')
if RUBY_PLATFORM =~ /win32/
- cmd.gsub!('/','\\') # Replace / with \\
+ parts = cmd.split(' ')
+ parts.collect! do |part|
+ part.gsub!('/','\\') unless /\/\// =~ part # if the string has // is probably a url, don't change.
+ part
+ end
+ cmd = parts.join(' ')
cmd.gsub!(/^cd /,'cd /D ') # Replace cd with cd /D
cmd.gsub!(/&& cd /,'&& cd /D ') # Replace cd with cd /D
logger.trace "executing locally: #{cmd}"
余裕があったら、githubでリクエストしとけばいいのかな…。
つかCapistranon メインの開発リポジトリってどこなんでしょ?たぶんgithubのどこかだとは思うのですが…
0319nobodyさん
2009/06/15(月) 18:59:00ID:???複数行のmysqlコマンドを実行したいものなのですが…
とりあえず、思いついたのは、ファイルにいったん出力する方法です。
sql = <<-
(sqlいろいろ)
EOF
put sql, "#{shared_path}/db/tmp.sql"
run "mysql hage_db -u hoge -p unkopass << #{shared_path}/db/tmp.sql"
見たいにする方法です。
しかし、何かスマートじゃないような…。
もっとスマートな方法はないものでしょうか?
0320319
2009/06/16(火) 07:26:15ID:???ごめんなさい。
x run "mysql hage_db -u hoge -p unkopass << #{shared_path}/db/tmp.sql"
o run "mysql hage_db -u hoge -p unkopass < #{shared_path}/db/tmp.sql"
でした。
よく考えたら、<<で後ろに文字列つければいけるのかな…
0323nobodyさん
2009/06/16(火) 15:34:20ID:???こんなに便利だとは・・・。
今までajaxやるときは鯖からxml返して、ブラウザ側でxmlをパースしてたよ・・・。
0325nobodyさん
2009/06/16(火) 18:39:01ID:???*_before_type_castを使うとデシリアライズされているかどうかによって
動作が変わってしまうのが気持ち悪いです。
Loading development environment (Rails 2.3.2)
>> User.create(:data=>{:a=>1}); u=User.last; u.data_before_type_cast.class
=> String
>> User.create(:data=>{:a=>1}); u=User.last; u.data; u.data_before_type_cast.class
=> Hash
シリアライズ後のサイズを見たいのです。
0326nobodyさん
2009/06/16(火) 19:21:35ID:???マイクロソフト涙目w
0327319
2009/06/16(火) 19:25:39ID:???runメソッドの2番目の引数のハッシュで :data で指定してやればいいみたいでした。
ソースのドキュメントに記述がありました。
( lib/capistrano/configuration/actions/invocation.rb の Capistrano::Configuration::Actions::Invocation.run)
task :hello do
s = <<-EOF
show databases;
exit
EOF
run "mysql -u root -pfuckmyhead", :data => s do |ch, stream, out|
STDOUT.print out
STDOUT.flush
end
end
0328nobodyさん
2009/06/16(火) 20:30:24ID:???↓こちらのサイトではtmp/restart.txtを生成して再起動しているのですが、必要ないものなのでしょうか?
PassengerとcapistranoでのデプロイTips - diaの備忘録
http://d.hatena.ne.jp/DianthuDia/20080829/1219969683
0329nobodyさん
2009/06/16(火) 20:35:03ID:???capistrano は使ったことがないので知らないが、
生(?)で Passenger を使っている。
ソースを更新したとき、Passenger は、Apache の再起動はいらないけど、
RAILS_ROOT/tmp/restart.txt を touch してタイムスタンプを変えておく。
すると、次回の http request 時に、ソースを再読み込みする。
>>328 のページを斜め読みしたけど、なかで touch tmp/restart.txt をやっているようだけど?
0330nobodyさん
2009/06/16(火) 20:43:09ID:???unserializeを通ると@attributesの中身自体が差し替えられてしまう。
で、読み取り系はことごとくunserialzieを通ってしまう。
そうなる前に
u.instance_variable_get(:@attributes)[:data]
でどうか。
行儀よくないけど。
0331nobodyさん
2009/06/16(火) 21:58:34ID:???バックアップとかも同時に出来るの?
0332nobodyさん
2009/06/16(火) 22:20:53ID:???というディレクトリに配置され、currentという名前で最新バージョンに
シンボリックリンクが張られる。
で、rollbackというタスクで前のバージョンに戻せる。
まー、これで不足ならタスク書けばだいたいのことはできるよ。
0333nobodyさん
2009/06/17(水) 10:23:35ID:???「再起動はいらない」ってapacheの再起動のことなんですね。
Passengerは touch tmp/restart.txt で再起動させるようにしてみます。
0334nobodyさん
2009/06/17(水) 16:39:38ID:???ruby script/generate migration AddAsToBsId b_id:text
すると、rake db:migrate で bs_id というテーブルに追加しようとします。
どのように書けばいいでしょうか。
0335334
2009/06/17(水) 16:53:33ID:???ruby script/generate migration AddBsIdToAs b_id:text
と書くべきでした。
0336nobodyさん
2009/06/17(水) 18:16:17ID:???You have a nil object when you didn't expect it!
You might have expected an instance of ActiveRecord::Base.
The error occurred while evaluating nil.[]
テーブルを削除せず、うまくやる方法はないものでしょうか。
0337nobodyさん
2009/06/18(木) 10:58:31ID:???WEBアプリケーションの開発を楽にしてくれるだけで
基本的にRubyなんですか?
rubyに出来ないことはRailsにも出来ないということでしょうか?
Railsはjavascriptとかajaxとか
ウェブアプリを開発する上で
rubyとほかの言語も一緒に書くように出来るプラットフォームみたいな物なのでしょうか?
rubyという言語がjavascriptとかの言語も一緒に使える物なのか?
それとも
railsがほかの言語も使えるようにプラットフォームが整備されている物なのか
どうなんでしょうか?
0338nobodyさん
2009/06/18(木) 11:02:06ID:???0339nobodyさん
2009/06/18(木) 11:23:55ID:???0340nobodyさん
2009/06/18(木) 14:48:28ID:???関連するモデルが存在する場合に、モデルの削除を禁止したのですが何か方法はありますか?
例えば、自分のモデルのデータを削除したい時、関連相手が自分に対してbelongs_toしている場合は
削除できないようにしたいのです。
0341nobodyさん
2009/06/18(木) 14:53:02ID:???DBの制約でいいならDBMSを追記・・・というかDBスレへ
アプリの制御なら普通にIFじゃダメなのか?
0342nobodyさん
2009/06/18(木) 17:02:39ID:ZZEBh1ddシステムを更新するたびに、面倒くさい思いをするんだけど、みんなどう更新してるの?
俺は今FTPサーバを構築して、サーバのファイルをそのまま上書きuploadしてるw
そしてapache再起動(passengerです。)
tracとかsvn使ったことないんだけど、ブラウザ上でソース変更して、保存してapache再起動したら
OK!みたいなことできるんだろうか。
0344nobodyさん
2009/06/18(木) 17:18:35ID:???ActiveRecordの機能としてあるかどうか知りたかったんです。
削除対象のオブジェクトに関連しているモデルの存在チェックを行ってから
何も無ければ削除するようにしたいんです。
0345nobodyさん
2009/06/18(木) 17:27:31ID:???ffmpegを使いたいのですが、ffmpegのパスを定数として
MyFfmpeg::BIN = '/usr/local/bin/ffmpeg'
このように設定したいのです。
これをどのファイルに書けばいいのですか。
initializers の下に ffmpeg_helper.rb を作ってそこに書いてみたのですが
test のときはいいのですが development ではロードされませんでした。
0346nobodyさん
2009/06/18(木) 17:32:31ID:???ググってみた。
Railsアプリケーションをデプロイしようとするとさまざまな問題が生じるため、
Railsアプリケーションの開発は好きだけれどもデプロイは嫌いという技術者は少なくありません。
本書はアプリケーションのデプロイ時に技術者が直面するさまざまな問題の解決策を体系的にまとめた
Railsデプロイガイドです。
本書ではまずRailsアプリケーションのデプロイを家探しにたとえて解説します。
そして、一連のデプロイ処理の中で、Railsアプリケーションのホスティング方式の選択、デプロイの自動化、
サーバ管理、クラスタリング手法といった高度なトピックについて詳しく解説します。
3000円。
欲しいな〜これ。でもデプロイに1冊の本はやや大げさなきもするなぁ。
0347nobodyさん
2009/06/18(木) 18:14:38ID:???その行の id を取得するにはどうしたらいいでしょうか?
0348nobodyさん
2009/06/18(木) 18:28:09ID:???has_many と belongs_to が適切に設定されていれば、
categories(1) - items(N)だとすると
category.itemsでモデルの配列を取得できるはずだけど
itemsがあまりにも膨大なレコードの場合は気をつけてね
has_many の before_removeと組み合わせるといいのかも
と思ったら、has_many に :dependent => restrict っていつの間にか増えてるな
これでできるんじゃないだろうか
教えたのだからもし試すのなら報告を義務としたい
そうすることでスレが良くなるから
>>346
おれはそれ買ってデプロイしてるよ。
薄い本だけど3000円は安いと思う。
Subversionなんて古いというやつは少し価値が落ちるかもしれんが。
あとMongrelが中心な感じかな。
0350nobodyさん
2009/06/18(木) 19:31:33ID:???0351nobodyさん
2009/06/18(木) 22:26:17ID:???デプロイ面倒なら
クラウドコンピューターでもつかえよ
googleとかaptenaとかamazonとか
アップロード先の設定をしなくてもいいクラウド技術があるだろ
0352nobodyさん
2009/06/18(木) 22:44:49ID:???言ってる意味がわからん。
クラウドって、WebAPIでシステム間を繋ぐような、そんなイメージなんだが・・・。
0353nobodyさん
2009/06/18(木) 23:21:25ID:???ちょっと違う。
Web API でシステムをまたいで、ひとつの大きなシステムをかんがえたときに、
たとえば、システムA とシステムB とシステムC を、SOAP なりの web API で連携するが、
すべて社内の自鯖の場合(社内じゃなくてもいいけど):
→これは、web API でつないでいるけど、クラウドとは言わないよね。
クラウドとは、
・自分で作ったプログラムを、自鯖じゃないところで運用できる
→駅前探検倶楽部の API とか楽天の API を呼び出すのは、クラウドとは言えないの?
→この場合、自分で作ってリリースしたプログラムを呼び出しているのではなく、
他の人が作ったサービスを呼び出しているだけなので、
Web 2.0 的とは言ってよいが、クラウドとは言えない
・運用をホストしているところが、特にこちらがなにもしてくれなくてもスケールしてくれる。
→レン鯖を借りて、そこでプログラムを動かすのとは違うの?
→レン鯖を借りて、自分が作ったプログラムをリリースして動かせるが、
そのプログラムの負荷が大きくなっても、基本的にレン鯖業者は台数を増やしてくれないし、
お金を払って増やしてくれたとしても、それを活かすにはこちらがプログラム改修が必要。
→クラウドコンピューティングの場合、データストアが Bigtable など、もともとサーバが増えたら
自動的にスケールしてくれるような仕組みがある。
0354nobodyさん
2009/06/18(木) 23:41:49ID:???Subversionはあると便利だよ。
1. 開発環境でテストを十分にやってからコミット。
2. 本番環境でsvn up→touch tmp/restart.txt
個人でやる分にはこれで十分な気がする。
サーバの台数も少ないだろうし。
0355nobodyさん
2009/06/19(金) 01:37:02ID:???オプションはないんだろうか。
数字のIDは味気ないからユーザアカウント名にしたいんです。
パスは/users/:nameで、
link_to(h(@user.name), @user)
としたときに
link_to(h(@user.name), :name=>@user.name)
と同じ結果になるイメージです。
/users/newはどうするんだって問題があるのか・・・
0356nobodyさん
2009/06/19(金) 02:06:18ID:???class User < AR::Base
alias to_param name
end
でどうだろう。
0357nobodyさん
2009/06/19(金) 06:54:41ID:???GitかMeなんとかを覚えた方がいい
0358nobodyさん
2009/06/19(金) 09:45:43ID:???0359nobodyさん
2009/06/19(金) 09:49:12ID:???実用的な理由でsubversionではとても不便な何かが改善されてるのか?
流行始めてるのはわかるが、流行で飛びつくのってもううんざりだし。
0360nobodyさん
2009/06/19(金) 10:07:37ID:???取得元に反映せずに済む。
# svk終了しちゃったしな。
0362nobodyさん
2009/06/19(金) 10:14:00ID:???う〜ん、おれとしては特に魅力を感じないなあ
結局なんだかんだCSVがSubversionに置き換えられたように、
gitだのマーシャル?だのになるんだろうが今はいいや
0363nobodyさん
2009/06/19(金) 10:18:15ID:???Mercurialのことなら、「マーキュリアル」(mercuryの形容詞形の名詞的用法)
でも普通は hg って表記する。
0364nobodyさん
2009/06/19(金) 10:50:03ID:???は
T.create data
と書けますが、PostgreSQL 8 からの
insert into t(c1, c2, c3) values('b', 'a', 'r') RETURNING id;
はどう書けばいいでしょうか。
( RETURNING id は、insert した id を返してくれます )
execute で SQL を書けば可能ですが、
Rails 風に短縮して書けると嬉しいです。
0366nobodyさん
2009/06/19(金) 12:31:56ID:???ttp://blog.tkmr.org/tatsuya/show/247-rails-37signals-url
これで妥協かも。
/users/123-tomo
って感じで「数字-名前」になる。
数字だけよりだいぶましです。
0367nobodyさん
2009/06/19(金) 12:36:44ID:???ttp://d.hatena.ne.jp/chyk/20090211/1234362408
これでビンゴっぽい。
to_paramでnameを返すようにしておいて、
コントローラでは
User.find(params[:id])
のところを
User.find_by_name(params[:id])
で良さそう。
試してないけど。
>356 ありがとう。
0368nobodyさん
2009/06/19(金) 13:26:06ID:???ようわからんが、
model = TModel.new
model.c1 = 'b'
model.c2 = 'a'
model.c3 = 'r'
foo = model.create!
で、foo に insert した時のオブジェクトが入るから、
foo.id で取り出せばいいんじゃないの?
0369nobodyさん
2009/06/19(金) 13:31:36ID:???Subversion と Gitなどの分散バージョン管理システムの話が出ているが、
くわしくはム板の該当スレのほうが詳しいが、
別に Git/Mercurial は、Subversion の置き換えではない。
中央集中型のほうが便利なときもあれば、分散型のほうが便利なときもある。
個人で使うのだったら、Git の方が速いなどのという理由や、web 上でも取り上げられることが多くなってきたので
移行している人も多いけど、
大規模プロジェクトで、スキルレベルの低い人もいるような場合は、Subversion のほうがいい。
そんなひとが hg push とか hg pull とか絶対覚えてくれない。
だから要所要所で使っていけばよい。
0371nobodyさん
2009/06/19(金) 13:46:42ID:???結局、専任で必死にマージしてバージョン管理する人間が居たほうがうまく逝く罠。
二人以上がお互いに自分のソースの記述をマージし合って停滞したりもするし。
0372nobodyさん
2009/06/19(金) 14:08:46ID:???バージョン管理の場合はスキルレベルじゃなくて物事を整理する能力だと思う
それをスキルと言ってしまえばスキルなんだが
おれはPCのデスクトップがごちゃごちゃのやつに
バージョン管理システムはいじらせたくない
0373nobodyさん
2009/06/19(金) 14:20:03ID:???VCS を使わせて整理の大切さを教える派
0374nobodyさん
2009/06/19(金) 15:25:38ID:???■ books テーブル
id|title
--+-----
10|foo
11|bar
■ records テーブル
id|books_id|comment
--+--------+-------
20| 10|good!!
21| 11|bad...
model/record.rb に「belongs_to :book」を追加しました。
view/records/show.html.erb に
<%=h @memo[:title] %> とした場合は空欄だし、
<%=h book[:titl] %> やm
<%=h record[:title] %>
としてもタイトルが取得できず、
You have a nil object when you didn't expect it!
The error occurred while evaluating nil.title
と出ます。DB を見てもデータは入っています。
どうすれば title が引けるでしょうか。
0375nobodyさん
2009/06/19(金) 16:07:00ID:???3*3は何ですかと質問して
Subversionは3が3つだから3+3+3=9と答えて
Git/Mercurialは3*3=9と九九を暗記している
0376nobodyさん
2009/06/19(金) 16:24:48ID:???分かってるやつは理解できるのかもしれないけど
0377374
2009/06/19(金) 16:31:43ID:???@record.book.title でいけました。
0378nobodyさん
2009/06/19(金) 18:30:49ID:???それなのに git だの hgだのを学ばねばならぬとは楽しみなことだ。
CVSでも、考えてみれば、マージはワーキングコピーのdiff & patchで済ましていた気がする。
0379nobodyさん
2009/06/19(金) 18:45:42ID:???0381nobodyさん
2009/06/20(土) 01:21:31ID:???>>373
俺はデスクトップぐちゃぐちゃだがsvnリポジトリのコミット担当してるし
ソースは無茶苦茶きれいに整理するし、gitだって使えるぞ
ひどい偏見だw
0382nobodyさん
2009/06/20(土) 07:33:20ID:???そもそも、JavaScriptはRails関係なく使えます。他のフレームワークでも使えるでしょう。
AJAXサポートなど、楽に使える機能も提供されてますよ。
>>342
そういう作業を「デプロイ」といいます。
退屈な作業なので、機械任せにするために、定番どころではcapistranoを使います。
cap deployで一発デプロイできるようになると快感です。
あと、Passengerならapache再起動要らないですよ。
リモートに、touch tmp/restart.txt するだけでPassengerだけ再起動してくれます。
このためのcapistranoの設定(capistrano文脈ではレシピといいます)も、
ネットで検索すればでてきます。
注意したい点は、capistranoは公式ページのドキュメントがなかなかに不親切なため、
ネットのブログに散見される設定(レシピ)を読んだり、ソースを読むかしないと挙動がイマイチわからない点があります。
ただ、Railsをやっている人にはできない作業ではないでしょう。
ぜひ、調べてみてください。
0383nobodyさん
2009/06/20(土) 07:46:09ID:???tracですが、元々はバグトラッキングシステムというくらいですので、バグ管理のものでありましたが、
今ではプロジェクト管理ツールというように広い意味で使われています。
チケット(プロジェクト管理ツールでの問題やタスクの登録単位)を登録することで、
問題やタスクを管理することができます。
複数人でのプロジェクトや他の人に問題などを公開する必要のある場合に効果を発揮するでしょう。
(私は一人プロジェクトでも使ってますが)
また、Subversion、git、Mercurialなどのバージョン管理ツールと連携して、
webでソースを閲覧したり、チケットと
バージョン管理のコミット(切りのよいソースの変更単位)を関連付けて、
お互いをリンクしたり、コミット時に自動的にチケットを終了させる、なんてこともできます。
最近では、チケット駆動開発といって、タスクのようなものをツールに登録していって、
管理ツールでプロジェクトのタスクも管理していく方法も広まってきました。
私はRails製のRedmineというツールを使っています。
Redmineは予想時間や経過時間の記録や集計、
予定日付の指定によるガントチャートの自動作成などができるため、
仕事のプロジェクトや、さらには自分のローカルにインスコしてタスク管理にも使ってます。
0384nobodyさん
2009/06/20(土) 07:50:25ID:???さて、svnとデプロイですが、(これは、gitやmercurialでも状況は同じ)
svnなどで管理しておくと、capistranoからもデプロイしやすいです。
svnの特定リビジョン(バージョン)を常に本番鯖に一発でデプロイする、とかの指定も思うがままです。
そうなると、svnを外部から参照できるように公開しておかなくてはいけないのか?という疑問がわいてきますが、
そうでなくてもcapistranoではデプロイできます。
set :deploy_via, :copy
という設定で検索してみてください。ローカル(やローカルからアクセスできる)svnリポジトリから、
単純なコピーのような感じで、リモートにデプロイできます。
0385nobodyさん
2009/06/20(土) 07:51:24ID:???特定ブランチ、最新バージョン
といったほうがいいですね。訂正
0386nobodyさん
2009/06/20(土) 11:10:15ID:???くわしくありがとうございます。
デプロイじゃなくてソース管理の話になってしまうけど、今サーバー専用マシン(に見立てたVM)に
svnサーバーいれて、apache連携させて、windowsからTortoiseSVNで操作してみました。
これは便利ですね〜。
capistranoとの連携も試してみようと思います。
ここにいる人たちにとってはスライムレベルの話しかもしれませんが…。
0387nobodyさん
2009/06/20(土) 11:13:16ID:???0388nobodyさん
2009/06/20(土) 11:35:02ID:???0389nobodyさん
2009/06/20(土) 14:08:03ID:???客は何で作るかには興味なくて、欲しいシステムと性能が得られれば文句はないわけなんだよね。
PHPで作れっていうお客さんってどういう感じなのかな?
0390nobodyさん
2009/06/20(土) 14:36:33ID:???受注したやつを回すところもあるから。
自分とこのエンジニアが対応できる言語となると、
数としてはPHPの方がずっと優勢じゃないだろうか。
0393nobodyさん
2009/06/20(土) 16:37:53ID:???0394nobodyさん
2009/06/20(土) 17:43:57ID:???使う言語を
RubyからJRubyに変えてあるだけで
何か特別な事って必要ないの?
0395nobodyさん
2009/06/20(土) 21:07:01ID:???redmine、インストールしてみますた。
これはわかりやすくいいですね。
svnと連携できて、感動しました(ただ、必要かはわかりませんが(笑)
うちの会社、進捗管理はエクセル、ソース管理はvssなんですよねぇ。
会社の改善会議で提案してみようかしら(=ω=)
チケットの最低単位が「日」なのがちょっと痛い。
0396nobodyさん
2009/06/22(月) 21:42:29ID:ashzWp6sscript/console のログをdevelopment.logに出力したいんですが、どうすればよいでしょうか??
教えていただきたく><
0397nobodyさん
2009/06/22(月) 21:53:23ID:???0399nobodyさん
2009/06/23(火) 10:26:24ID:???0400nobodyさん
2009/06/23(火) 10:49:30ID:???girl.boy_friend = Boy.find(俺)
girl.save
これが失敗します><
girl.boy_friend = Boy.find(池面)
girl.save
これだと成功するんです!
idが俺のレコードもちゃんとあるんです!
原因がわかりません><
0401nobodyさん
2009/06/23(火) 11:07:23ID:???Railsすごいな
0402nobodyさん
2009/06/23(火) 11:22:36ID:???マジレスすると、save じゃなくて save! にすると、失敗した場合に例外が出るから、そのスタックトレースを眺めるとか。
0403nobodyさん
2009/06/23(火) 16:58:51ID:???Four Days on Rails 2.0(日本語)を公開します
http://rails.to/articles/2008/05/05/4-days-on-rails-2-0-released
http://localhost:3000/items/ から 一覧の編集アイコンより
http://localhost:3000/items/14/edit に飛んでちゃんとItemが編集できます。
Railsは通常、/Controller/Action/id のようになっていると思っていたのですが、
上記の例だとURLが/Controller/id/Action/ になっているようです。
これってどういうことなんでしょうか?
該当リンク元は以下のようになっていて、( app/views/items/_index_stripes.html.erb )
<td><%= link_to show_image('edit'), {:controller => 'items', :action => 'edit', :id => index_stripes.id} %></td>
コンロトーラーは以下のようになってます。 app/controllers/items_controller.rb
# GET /items/1/edit
def edit
@item = Item.find(params[:id])
end
config/routes.rb は、以下のような感じ。(必要なところのみ記述)
ActionController::Routing::Routes.draw do |map|
map.resources :notes
map.resources :items
map.resources :categories
map.root :controller => "items"
map.connect ':controller/:action/:id'
map.connect ':controller/:action/:id.:format'
end
というか、ほとんど、今見たら、scaffoldしたままですね…。
環境: Rails 2.3.2, Ruby 1.8.7, Windows XP SP3
0404nobodyさん
2009/06/23(火) 17:19:47ID:???>Railsは通常、/Controller/Action/id のようになっていると思っていたのですが、
>上記の例だとURLが/Controller/id/Action/ になっているようです。
Rails 2.0 から RESTfull なかんじにかわったかんじ
0406nobodyさん
2009/06/24(水) 21:02:35ID:???passengerじゃオチまくって話にならん!
0408nobodyさん
2009/06/24(水) 22:37:00ID:???それ、おれと同じところのVPSじゃないだろうか、
おれは180Mだが数百ユーザーで落ちまくりだった。
悲しい対処でがんばってるが、360Mでもダメか。
PassengerのMAXインスタンスはいくつにしてるの?
おれは2だけど。
なんかメモリの少ないVPSあたりだと、
Mongrelの方がいいような気がする。
Railsデプロイのアドバイスに従ってればよかった。
このスレでPassengerじゃないと古いとかいうやつがいるから、
と人のせいにしてみる。
0409349
2009/06/24(水) 22:50:30ID:???それはおれのことかな?(笑)
もしそうだったとして、自分は VPS 等でなく、占有できる PC でしか動かしたことがないので、
あなたのレスは参考になるから、もっといろいろ書いてほしい
0411nobodyさん
2009/06/24(水) 23:46:13ID:???linodeだよ。
mongrelで4つくらいプロセス立ち上げて、バランサで振り分ける
ようにしたら普通に動くようになった。
0412nobodyさん
2009/06/24(水) 23:56:05ID:???メモリ4Gの専用サーバーの人?
前にそういう書き込みがあったように記憶してる。
その人は安定してるってことだったから、
それくらいがっつり積んでれば安定するのかなとうらやましく思った。
Rubyも1.9.1だしPostgreSQLは8.4βだし不安定要素がありすぎて、
Passengerの問題だけではないようにも思うけど。
遊びではないけど自分だけの責任で済むから、
ちょっと野心的にやりすぎた。
>>406のRubyのバージョンが知りたいなあ。
>>410
おれはCPIだよ。
いろいろ検討したけどあそこが一番いいように思った。
バカみたいに通信が発生すると別途相談らしいけど、
基本どれだけ通信しても追加料金かからないし。
運が良かっただけかもしれないけど、
電話で問い合わせたとき担当者もいい感じだった。
0413412
2009/06/24(水) 23:57:43ID:???> ようにしたら普通に動くようになった。
まじかよ・・・
0414nobodyさん
2009/06/25(木) 00:10:11ID:???マジ。5000↑ユニークでもいけた。
http://d.hatena.ne.jp/shohu33/20071121/1195650627
> mongrelで4つくらいプロセス立ち上げて、バランサで振り分ける
> ようにしたら普通に動くようになった。
↑なんか自分でやったかのような書き方してるけど、↑のURLのやり方
参考にしただけ。
HTTP部分をApacheに任せられるものすばらしい。
0415nobodyさん
2009/06/25(木) 00:16:11ID:???おお、サンクス。Apache併用方式か。
おれはモバイルだからIPで判別してPCからのリクエストをはじきたいんだよね。
Mongrelはそのへん分からなかったけど、Apacheに任せればいいか。
1.9.1はMongrel Clusterのインストールに問題があったのも躊躇した理由だが、
いろいろ試してみるよ。
0416409
2009/06/25(木) 01:29:57ID:???> >>409
> メモリ4Gの専用サーバーの人?
いや、ちがいます。
Passneger を動かしているのは、職場や客先での業務イントラだけ。
もちろん専用のサーバなので、メモリも2GBとか4GBとか。
だけど同時アクセス数は少ないけどね
0417nobodyさん
2009/06/25(木) 08:40:07ID:???>>412
サンキュー、参考にします。
>>414のブログの記事ってもう一年半も前のなんだけど、
いまだにこれがベストプラクティスなの?
0418nobodyさん
2009/06/25(木) 09:53:42ID:???Ruby は言語が綺麗でも実用的じゃない。書生論。
0419nobodyさん
2009/06/25(木) 13:30:58ID:???そういうもともと論から始めるのも、いかにも書生論って感じだよね。
まぁGoogle App Engineで、Pythonでも始めたら?
信頼と安心のGoogleブランド
0420nobodyさん
2009/06/25(木) 14:42:40ID:???古いけど実績はある。
枯れてるサーバーはそうそう急激な変更はしないよ。
サーバーは安定しなきゃ話にならないし、適材適所じゃないだろうか。
0421nobodyさん
2009/06/25(木) 16:43:20ID:kFfq4IDXBazaarなら中央も分散もどちらの運用も可能ですよ!
0422nobodyさん
2009/06/25(木) 22:36:23ID:???0424nobodyさん
2009/06/26(金) 05:06:56ID:???0425nobodyさん
2009/06/26(金) 07:25:25ID:???遅レスですが、メモリ4Gの専用サーバの人です。
1台でWebとDBの両方を動かすとメモリを食ったり、
IO周りで足を引っ張るのでmongrel、Passengerのどちらでも厳しいですね。
という事で、Webサーバ(Passenger)+DBサーバ(PostgreSQL)の2台構成で
動かしていて、1日平均50万アクセスくらい処理できてます。
今後もアクセスが増えていくと思うので、状況次第で
Webサーバは2台、3台と増やしていってDNSラウンドロビンで振り分ける予定です。
DBのほうは、今のところ余裕があるのでそのまま。
0426nobodyさん
2009/06/26(金) 10:27:30ID:???バランサーといっても、
>>414の場合はハードのロードバランサーを使うんじゃなくて、
Apacheのバランシング機能を使うだけだよ。
大規模でそれなりにお金がかかるのは間違いないと思うけど。
>>425
おお、サンクス。
専用2台って最低でも月4〜5万かかるよね。
ゆとりある組とかつかつ組のノウハウは別にためないときついね。
おれはPostgreSQLのキャッシュを10Mにして抑えてるよ。
データはためてないようにしてる。
しかし50万を2台ってやるなあ。
それだとピークタイムは20アクセス/秒以上もあり得るよね。
おれも静的コンテンツにできるものは徹底的に静的にしたりがんばってるのだが。
バッチやプチクローラー(対象は数百くらい)もあるから、メモリ360Mにあげようかな。
rsyslogとかも引きずられて落ちたりするし><
0427nobodyさん
2009/06/26(金) 14:57:27ID:???サーバー室はミニ冷蔵庫w
0428nobodyさん
2009/06/26(金) 17:32:18ID:???比較の問題だが安心と安全を金で買うようなものだ
24時間監視とか個人じゃ無理だし
0429nobodyさん
2009/06/26(金) 17:47:11ID:???0431nobodyさん
2009/06/26(金) 18:15:21ID:???サイト名やページ名のように、デフォルト値を共通に設定したり、
viewなどで使いまわしたい場合は、Railsではどうするのがよいのでしょうか?
・共通コントローラーを作って、継承させる
・ヘルパーを作る
共通コントローラーだと、全部のコントローラーをそれから派生するように決まりつくらないとあかんですよね。
手間も面倒くさい、とかいったらいかんよなあ…
0433431
2009/06/26(金) 18:55:09ID:???0434nobodyさん
2009/06/26(金) 19:04:45ID:???なんでもコントローラーでやろうとする方が初心者の考えだと思う。
どうしても変数でほしいならconfigでやるべきじゃないだろうか。
0435406
2009/06/27(土) 00:21:23ID:???ちょっと無責任な書き込みしてしまったので、訂正。
メモリ360mのVPSでpassengerじゃ落ちると書いたんだけど、passengerのせいじゃなかった。
mysqlがメモリ不足で落ちるのが原因で、メモリ不足が起きる原因がapacheのチューニング不足だった。
(メモリ不足で落ちると断定したのは、mysqlがmallocに失敗してたから。確かCのメモリ確保関数だった気が…。)
今はapache + mongrel * 3 構成で50kPV/日が平気。
今は安定してるのでpassengerに戻す気は無し。
ちなみにvpsはここ。
http://www.linode.com/
0436nobodyさん
2009/06/27(土) 00:31:47ID:???俺の場合は、共有レイアウトファイルを作って、それに共通メニューとか
サイトロゴを書き込んで、コントローラの先頭にlayout "common"みたいな
感じで共通レイアウトファイルを使用するよう設定してる。
content_forつかえば、ビューのソースからレイアウトファイルへの出力も
できるから、あんまり不便だとおもったことない。
0437nobodyさん
2009/06/27(土) 00:33:52ID:???だと思った。
Passengerのメモリ管理はかなり優秀で、一定期間アクセスがないとアプリケーション
サーバ側のプロセスは消滅してメモリ占有量はほぼゼロになるとどこかで読んだ覚え
がある。
あとMySQLは少ないメモリ量で効率よく動くのが苦手で、その点ではPostgreSQLの
ほうが優れてるらしい。
それでも300MB程度でMySQLやPostgreSQLを動かすのは自殺行為だと思う。
そのメモリ容量でどうしてもDBを使いたいならFirebird一択じゃないか。
0438406
2009/06/27(土) 01:15:51ID:???…FirebirdというDBを初めて知った。
ちょっと勉強してみる。
mysqlを選んだのは、phpMyAdminでGUI操作できるという動機…。
0439nobodyさん
2009/06/27(土) 04:40:58ID:???> あとMySQLは少ないメモリ量で効率よく動くのが苦手で、その点ではPostgreSQLの
> ほうが優れてるらしい。
初めて知った。
MySQL は Postgres よりも軽くて、必要なメモリも少ないものだと思っていた。
あと組み込みDBといったら sqlite とかじゃないの?
sqllite が、MySQL みたいに排他制御してくれるかどうか知らないけど
0440nobodyさん
2009/06/27(土) 06:34:04ID:???> メモリ不足が起きる原因がapacheのチューニング不足だった
kwsk!
>>437
Firefirdを勧めるやつ初めてw
もともと商用だしsqliteあたりよりいいのかもしれないけど
ちなみに300Mと言ってもOSが使う分は含まれてないと思うぞ
自殺行為というほどじゃないような
0441437
2009/06/27(土) 07:27:54ID:???同時にアクセスが来ると、しばらくテーブルにロックがかかってエラー
起きまくることがある。
まあ、うちのサーバで起きたんですけどね。
1日1,000アクセス程度でそういう現象が出るようになった。
0442nobodyさん
2009/06/27(土) 08:18:35ID:???DBだけ動かすんなら自殺行為じゃないかもね。
Apache+Railsアプリ+DBなら、それはやばいでしょって話で。
またRubyそのものもけっこうメモリを食う。
Enterprise Rubyにするとかなり節約できるようになるという話なので、
試してみる価値はあるんじゃないだろうか。
http://d.hatena.ne.jp/rx7/20090608/p1
0443nobodyさん
2009/06/27(土) 08:52:58ID:???1鯖で、アパチもルビもDBもってのは大規模では無理が有る。
0444nobodyさん
2009/06/27(土) 15:30:33ID:lkILxYvh(遅いのは承知の上でcgiのみです。まずは基本からということで)
環境はOSX10.5 ruby 1.8.6 Rails 2.3.2 Apache 2.2.9で何れもプリインストールのままです。
プロジェクトは/Users/Rails/myproに配置して,scaffoldでmytestを作ってます。
パーミッションはmypro以下全て755にしてあります。
script/serverでは当然http://localhost:3000/mytestで問題なく起動してます。
でhttpd-ror.confを次のようにしてhttpd.conf内でロードしてます。
Alias /mypro /Users/Rails/mypro/public
<Directory /Users/Rails/mypro/public>
Options +FollowSymLinks +ExecCGI
AddHandler cgi-script .cgi
AllowOverride all
Allow from all
Order allow,deny
RewriteEngine On
RewriteBase /mypro
RewriteRule ^$ index.html [QSA]
RewriteRule ^([^.]+)$ $1.html [QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ dispatch.cgi [QSA,L]
</Directory>
http://localhost/myproではWelcome abordがきちんと表示されます。
http://localhost/mypro/505でもpublic内の505.htmlがきちんと表示されます。
ところがhttp://localhost/mypro/mytestがダメです。
Not Found:The requested URL /mypro/dispatch.cgi was not found on this server.
の表示がでるだけです。
dispatch.cgiがよくわかりません。URLのリクエストをクラスのメソッドに割り当てているはずなのですが
アドバイスをよろしくお願いします。
0445nobodyさん
2009/06/27(土) 15:38:59ID:???参考になります。
しかし、
>>437
ということは、Passengerだともっとパフォーマンスがあがるのかもね。
>>442
REEなんて初めて知ったよ。
37Signalsが使ってるならRailsは大丈夫そうだね。
PHPからRailsに乗り換えて、サービス公開しようとしてるんだけど、
作るのは手早くできても、個人レベルだと公開するのがとにかく大変だね。
なやましいなぁ。
0446nobodyさん
2009/06/27(土) 16:07:32ID:???> dispatch.cgiがよくわかりません。
RewriteRuleに自分で書いてるじゃん。振り分けを行う起点だよ。
今時のフレームワークは名前こそ違え、大抵ディスパッチャで振り分けをしてる。
基本から学びたいならフレームワークのソースから読んだ方がいいよ。
0447nobodyさん
2009/06/27(土) 17:49:50ID:???メモリはOS+アプリで360MB。
月19.95$だし、たぶん1万人/日(!=pv)くらいなら耐えれそう。
あと安いサーバーのがかえってチューニングのスキルがあがる気がしたw
個人サイトで専用サーバは、俺は金がもったいないと思うな。
というか貧乏なので無理(くやしいのう!)
メモリ不足でmysqlが落ちる問題は、apacheへの接続人数とmysqlの
メモリ上限を下げたらなおった。
接続人数絞っても快適なのは、おそらく1アクセスの負荷が低いから。
今まで落ちてたのは、短短期間に偶然多くのリクエストが発生したとき
だと思う。
RailsはSQLキャッシュが有効になるように組んでるし、アクセス頻度の
高いコンテンツはページキャッシュを使ってる。
0448nobodyさん
2009/06/27(土) 17:52:47ID:???これができる環境を1人で作り上げるだけで、1つのプロジェクトを終えたような
気分だ・・・w
0449nobodyさん
2009/06/27(土) 18:06:12ID:???ひと月あと10ドルくらいケチケチすんな。
0451nobodyさん
2009/06/27(土) 19:14:19ID:???すげーわかる。
負荷を半分に減らせるとすると、
仮に大ヒットしてサーバーが10台必要になるところが5台。
個人レベルのこじんまりしてるものなら月数千円の違いだが、
いろいろ苦労して損はない気がする。
リソースをじゃぶじゃぶに使うのってキリがないしな。
0452nobodyさん
2009/06/27(土) 19:40:08ID:???「冗長化」の意味すらまともに知らない素人が他人のスキルにケチつけるとか
ちゃんちゃらおかしいわ。
10年後に出直してこい。
0453444
2009/06/27(土) 19:43:10ID:???RewriteRuleの部分は理解できてます。(リクエストのパスを書き換えてるということ)
READMEのとおりにしているのですが、dispatch.cgiというファイルはプロジェクト内を探しても見当たらないし,READMEの通りなのにうまくいかない原因が分からず,よって対処法もわからないのです。
0454nobodyさん
2009/06/27(土) 20:34:12ID:???cgiでやったことないけど、
MongrelとかPassengerはその辺を勝手にやってくれると認識してる。
今見てみたが、READMEファイルの近くにdispatchersってディレクトリがあるから、
そこからコピーするんじゃないだろうか。
0455445
2009/06/28(日) 11:16:18ID:???絶対必要、あったら便利、個人的におすすめ、
というようなプラグインを教えてください。
環境はRuby1.9.1 Rails 2.3です。
よろしくお願いします。
0457nobodyさん
2009/06/28(日) 20:27:12ID:???つ ブラウザ、テキストエディタ
0459nobodyさん
2009/06/29(月) 11:01:30ID:???Mr.1.8.7はブログあたりで主張しろよ
プラグインはページャーものが定番だろうけど、
acts_as_listは便利だと思った。
DBにpositionカラムを追加すると表示順を手軽に管理できる。
deleted_atカラムを追加して論理削除を管理する、
acts_as_paranoidも便利そうだ。どれも有名だろうけど。
Railsの仕事が入ったからいろいろ試してみたい。
0461nobodyさん
2009/06/29(月) 13:02:17ID:???http://rubyonrails.org/download
We recommend Ruby 1.8.7 for use with Rails.
Ruby 1.8.6, 1.8.5, 1.8.4 and 1.8.2 are still usable too,
but version 1.8.3 is not.
だそうですよ。
0462nobodyさん
2009/06/29(月) 13:04:44ID:???0463nobodyさん
2009/06/29(月) 13:37:25ID:???予定ではね。今でも動かしてるけど。
2.3で1.9対応はされてるし、まあまあ動く。
ActiveResourceはダメだったけど。
アプリ開発者が創り出すバグの方がよほど問題になるくらいまできてると思う。
0464nobodyさん
2009/06/29(月) 14:18:08ID:???>Mr.1.8.7はブログあたりで主張しろよ
何で?
>>455のような人には、現状の1.9.1はおすすめしない。
1.8.7の方が、参考になる本も多いので使いやすいと思う。
0465nobodyさん
2009/06/29(月) 14:32:53ID:???「あっちに行ってください」と言われるもんだぞ
0466nobodyさん
2009/06/29(月) 14:55:37ID:???どんなアプリを作るかによってまったく違うんだし、
Ruby 1.9.1 だと動かないプラグインやライブラリもあったりするからね。
0467nobodyさん
2009/06/29(月) 21:00:50ID:???0468nobodyさん
2009/06/29(月) 22:16:53ID:???携帯サイトを作るならjpmobileがおすすめ。
ただし、gemで入る最新の0.0.4ではrails2.3で動かない。
githubにある開発版なら動くかもしれない。
0470455
2009/06/29(月) 22:33:03ID:???ありがとう、みてみます。
ページャー物の定番もおすすめがあったら教えてください。
>>464
Ruby1.9はそんなに互換性に問題があるの?
>>466
どんなアプリを作るにも便利なものってあると思うから聞いたんだけどね。
妙な質問に妙なレスか。
>>468
サンキュー。
携帯対応も考えてます。
github
0471nobodyさん
2009/06/29(月) 22:35:31ID:???自己レス、途中で送ってしまいました。
>>468
サンキュー。
携帯対応も考えてます。
github使ったことないけど、読み方はギットハブでいいのかな。
とりあえずgitいれてみる。
0472nobodyさん
2009/06/29(月) 22:44:38ID:???ページングならwill_paginateがお手軽。
これもgithubに移行しちゃったから、gem install will_paginateでは最新版が入らない。
インストールする場合は、↓
gem sources -a http://gems.github.com
gem install mislav-will_paginate
でも、gem install will_paginateで入るバージョンでも特に困らなかったりする。
0473nobodyさん
2009/06/29(月) 23:04:55ID:???>>>464
>Ruby1.9はそんなに互換性に問題があるの?
「対応した」ということになってるけど、地雷が多いのでお勧めしない。
ruby-listでは1.9.2まで待て、という声もあるくらい。
ttp://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/45870
ということで、いまは1.8.7が無難じゃないかな。
0474nobodyさん
2009/06/29(月) 23:46:52ID:???どこで指定すればいいのやら。
0475nobodyさん
2009/06/29(月) 23:54:59ID:???そんなのここにくるやつは大抵チェックしてるからいらんよ
0476nobodyさん
2009/06/30(火) 00:15:37ID:???partialじゃなくて、DB(SQLite3)に入ってる文字列のほうがASCII-8BIT
になってました。
0477nobodyさん
2009/06/30(火) 08:55:35ID:???基本と思っているかもしれないが、RailsではCGIは基本じゃないよ。
練習したいだけなら、webrickかmongrelでいいだろうし(script/server)
そうじゃなかったら、つまりちゃんとサーバーとして稼動させたかったら、重くてまともな速度で動かずイライラするだろう。
RailsではCGIの出番はないよ。
>>448
俺も最初、それですげー満足した気分になったわww
ちょっと弄ってコミット→一発deployで満足ww
0478nobodyさん
2009/06/30(火) 10:38:44ID:???gem sourcesとか初めて知った。
ありがとう。
>>473
なるほど、ようやく合点がいきました。
確かにpostgresqlのライブラリがgemで入らなかった。
ググったら解決策を書いてる人がいたから、
そのとおりにCのヘッダファイルをいじったりしたよ。
とりあえず爆死するくらいの地雷を踏むまでは1.9.1で使ってみる。
0479nobodyさん
2009/06/30(火) 11:43:13ID:???「postgres」のgem使ってない?
0480nobodyさん
2009/06/30(火) 12:50:34ID:???今は pg がいいの?
0481nobodyさん
2009/06/30(火) 13:58:52ID:???ありがとうございます。
バグや問題があったら報告するなりブログに書くなりしてください
0482nobodyさん
2009/06/30(火) 14:33:48ID:???postgres-prって開発止まってるんじゃなかったっけ?
最終的な手順しか残してないから詳細は忘れたが、
1.9.1だとpostgres-prじゃ(たしか)動かないし、
ポスグレのadapterではpgがデフォルトになってるはず。
0484nobodyさん
2009/06/30(火) 15:33:33ID:???paperclip つかってモデルでサムネイル作るとき
:thumb => ["100x100", jpg]
でjpegじゃないファイルはjpegに変換したいんだけど
epsとbmp(今のところこの2つだけ確認)をアップロードすると
できたサムネイルがモノクロになるんですよ。
ImageMagickで直接convertするとカラーで変換するのに・・・
paperclipのrb全部呼んでもカラー設定の記述が見あたらないし。
0485nobodyさん
2009/06/30(火) 16:22:32ID:???Rails 2.xからはRESTfulがやけに前面に押し出されているのですが、なるべくこれに沿ったほうがよいのでしょうか?
例えば、本屋みたいなアプリを作るとして
「カテゴリ 12 の 4 番目の本」みたいにアクセスできるをURLを作りたい場合、
map.resouces の has_manyオプションを使うと、
/categories/12/books/4
みたいにURLを構築できるわけですが、
本屋の場合、ユーザーにはeditとかupdateなどのメソッドは必要ないのです。
(本の編集はそもそも管理ページからやりたい)
この場合、scaffoldなんかでばんばんコントローラーやビューなどを生成していくと、
いらない編集系のメソッド(editやupdate、createなど)ができるのですが、削除しちゃったりしていいものでしょうか?
そうすると、それってRESTじゃないような?という気がします…。
URLのルーティングの解説みると、map.resoucesとかでネストする方法なんかが、充実というか楽だったりするのですが、
上記のような例の場合は、1.xのころ?にあったmap.connectでシコシコ書くのがよいのでしょうか?
0486nobodyさん
2009/06/30(火) 16:29:30ID:???Http の PUT/GET/POST/DELETE メソッドで行うことであり、
URL を /categories/12/books/4 というように見せることとはちょっと違うと思うのだが。
んで、>>485 さんの場合、自分の作るアプリケーションが、他のツールから REST クライアントで
呼び出されることを想定しない場合、削除しちゃっていいんじゃないの?
0487485
2009/06/30(火) 16:47:48ID:???あらら、そうしたら、>>485の例だとREST全然関係ない感じですね…。
PUT/GET/POST/DELETEを全然考慮するつもりなかったので…。
ここみたら、map.connectの記述もそんなに難しくないみたいですので、
map.connect で書いてみます。
ヽ( ・∀・)ノくまくまー(2005-07-25)
http://wota.jp/ac/?date=20050725
一般的なRESTクライアントがどういったものかよくわかっていないのですが、
RESTは一種のapi的に使うことも考慮している、という感じなんでしょうかね。
railsとFlashをRESTで連携、見たいな記事を見たことはあるくらいなのですが…。
0488485
2009/06/30(火) 18:38:34ID:???下記のサイトなどを読んでいたところ、部分的にもRESTを使用できるみたいで、
Close to the EDGE Rails 2.2でroutesの不要なresourcesを消すには
http://blog.dio.jp/2008/11/22/only-and-except-in-routes-for-rails22
下記サイト読むに、RESTはそれほどやっかいなものではない?という感じがしました。
まっつんチャレンジ 4: Ruby on Rails によるポテトバーガー注文アプリケーションの実装 第 3 回 | ITEMAN Blog - アイテマンブログ
http://iteman.jp/blog/2009/06/-4-ruby-on-rails-3.html
せっかく、RailsがREST狂大歓喜的な感じになってきているので、RESTに挑戦して組んでみようと思います。
失礼しました。
0489nobodyさん
2009/06/30(火) 22:18:49ID:???ビンゴ。
postgres-0.7.9だった。
gem install pg
とやったらすんなりインストールできたよ。
ありがとう。
>>488
なんでRailsGuideを真っ先に読まない?
以下にすごく詳しく書いてあるよ。
http://guides.rubyonrails.org/routing.html
0490nobodyさん
2009/07/01(水) 06:20:03ID:Q9Au53lLhttp://oldmoe.blogspot.com/2008/01/restful-pagination-in-rails.html
map.paged_users ← この記述がよく理解できない。
0491nobodyさん
2009/07/01(水) 16:02:49ID:???あんまり突き詰めて考えることはないんじゃないだろうか
0492485
2009/07/01(水) 16:40:32ID:???サンクス。真っ先に公式文章を読むべきでした。
で、読んでいてつまづいたのですが、
"Rule of thumb: resources should never be nested more than 1 level deep. "
という注意事項(経験的法則)があり、「1レベル以上(を超える?)ネストすべきでない」ってことなんですが、
これだと、>>485の /categories/12/books/4 みたいな例は、Railsではできるが、
やめた方がよい、ということなのでしょうか?
下記でもそのことが触れられています。
the { buckblogs :here }: Nesting resources
http://weblog.jamisbuck.org/2007/2/5/nesting-resources
0493nobodyさん
2009/07/01(水) 17:01:14ID:???/categories/12 はネストなし。
/categories/12/books/4 はネストレベル1。
で、more thanは比較対象を含まない。
つまりここでは1より深い(深さ2以上)という意味。
1以上だったら、1 level or more みたいな表現になる。
まあ、いずれにせよ引用されているフレーズを見る限り経験則に過ぎないんで、
自分で不都合がないなら金科玉条のごとく看做す必要はないと思う。
0494nobodyさん
2009/07/01(水) 17:08:48ID:???categories/12?book_id=4
とやってしまうなあ。
クエリーストリングを使わないことにすると、
すごく大変なんじゃないだろうか。
0495nobodyさん
2009/07/01(水) 17:15:55ID:???>>494のような場合だったら本を特定するURLを割り当てるのだろうな。
フォームで条件を指定すると該当するものの集合が得られる、
というURLはどう表現すればいいかよくわからん。
検索結果をリソースとみなして、フォームから条件をPOSTして、
検索結果リソースを新規作成後にステータス 201 Createdでリダイ
レクトだろうか。
0496485
2009/07/01(水) 17:53:46ID:???ああ、 more than ってそれを含まないのですね。
しかも、ネストレベル1の意味を取り違えてました。最初のエンストした段階がネストレベル1なんですね。
感謝!
>>494
たぶん、検索など、たくさんのパラメータを持つ場合、クエリーを使うことになると思います。
ただ、これだと、bookのidが4のカテゴリーの1つ(カテゴリid=12)みたいなニュアンス(カテゴリー12のbookというよりは)
な感じがします。
>>495
たぶん、本来ならなるべく一意で特定できるURLをってことなんでしょうね…。
/categories/12/books/4 というより、
/books/13 ←/categories/12/books/4のbookをあらわしたもの 13=idそのもの
>>492の一番下のリンク先読んでてそういう感じがしました。
0497nobodyさん
2009/07/01(水) 18:05:12ID:???タグ「railsネスト論」を含む新着エントリー - はてなブックマーク
http://b.hatena.ne.jp/t/rails%E3%83%8D%E3%82%B9%E3%83%88%E8%AB%96
気軽に聞いてしまったけど・・・
0498nobodyさん
2009/07/01(水) 20:18:11ID:???それって適当な例えだと思ってた。
もしあるbookを特定するためにそのURLになるんだったら、
テーブルの設計を見直す必要があるんじゃないだろうか。
代替キー(大抵意味のない連番)なしで自然キー(意味のあるキー)だけだときついよ。
自然キーは一意のデータを取得するために、いくつもカラムが必要になる可能性があるから。
内部的に自然キーを使うのは当然なんだけど、
URLとかデータを一意に特定したい場合は代替キーのみがいいと思う。
気持ち悪いって人もいるけど、その代償として工数がかさむしバグも多くなる。
0499nobodyさん
2009/07/01(水) 20:55:32ID:???0500nobodyさん
2009/07/01(水) 22:46:35ID:???ほとんど知らないけど、ASINとかいうやつも自然キーっぽいのだが。
0501教えてください ◆Mn5mzn8hAQ
2009/07/01(水) 23:07:32ID:???Railsもインストールしたくて、試みたのですが、下記のようにエラーになります。
どうしたらうまくいきますか?
C:\Documents and Settings\boku>gem install trails
ERROR: While executing gem ... (Zlib::GzipFile::Error)
not in gzip format
0504nobodyさん
2009/07/01(水) 23:16:14ID:???OneClick Installerは使ったことないけど、スペルミスってことはないの?
×trails
○rails
0505教えてください ◆Mn5mzn8hAQ
2009/07/01(水) 23:21:10ID:???試してみましたが、同じエラーになります。
このコマンドは、Rubyのディレクトリに移動してやってみてもダメでした。
0506nobodyさん
2009/07/01(水) 23:35:41ID:???エラーメッセージ
>ERROR: While executing gem ... (Zlib::GzipFile::Error)
>not in gzip format
で検索すると対応策が出ているね
0507nobodyさん
2009/07/01(水) 23:36:48ID:???zlibを入れればいいじゃん。
おれは今確認したら1.1.4.1を入れてるな
0508nobodyさん
2009/07/01(水) 23:37:10ID:???いや入ってるよ?
さすがに全てのディストリで必ずとは言わないが、CD1枚のUbuntuにすら
入ってる。ましてやDebian、CentOSをやだ。
元の話題に戻るが、あの程度自力で解決できないような素人が、Windows
でRails開発とか地雷を踏むもんじゃない。
0509nobodyさん
2009/07/01(水) 23:40:33ID:???0511nobodyさん
2009/07/01(水) 23:57:07ID:???zlibの入ってないディストリでも探して1人で悦に入ってろよ。
0512nobodyさん
2009/07/01(水) 23:59:44ID:???そういうWindowsから離れられない素人はRailsに手を出すべきじゃないと
言っておこう。
だってMatz自身がWindows?何それおいしいの状態だし。
0513教えてください ◆Mn5mzn8hAQ
2009/07/02(木) 00:06:12ID:???そのうち原因も分かると思うので、とりあえず、Railsなしではじめます。
レスをしてくれた方々、ありがとうございました。
0514nobodyさん
2009/07/02(木) 00:08:00ID:???そもそもエラーメッセージが丁寧に教えてくれてるのに、
ひょっとして英語だからって読んでないの?
0515教えてください ◆Mn5mzn8hAQ
2009/07/02(木) 00:18:36ID:???gemというのをインストールしていませんでしたw
0516nobodyさん
2009/07/02(木) 00:38:54ID:???オフィス並みにメジャーアプリなら、ウィンドウズ使ってる丸の内OLにモテモテなのに。
0517nobodyさん
2009/07/02(木) 00:40:48ID:???0518nobodyさん
2009/07/02(木) 02:17:57ID:???この人は基本的に自分の好きなことしかやらないし
ドキュメント書くのも面倒くさいって言ってるし
0519nobodyさん
2009/07/02(木) 06:22:59ID:???やっぱりウィンドウズ使ってる丸の内OLだろう。
0520nobodyさん
2009/07/02(木) 09:56:03ID:???解決したのならそれはそれで良いんだけど、一寸気になったので一言。
もしかして普通にコマンドプロンプトから実行したんじゃない?
すべてのプログラム -> Ruby-186-???? -> RubyGems -> RubyGems Package Manager
で起動されるコマンドプロンプトからやってみた?
0521nobodyさん
2009/07/02(木) 10:45:55ID:???0522nobodyさん
2009/07/02(木) 11:52:26ID:???この俺様がハイブローな質問をしてやるから、誰か答えてみやがれ。
さあ、いくぜ。
「Railsで一定時間ごとにある処理を実行するにはどうしたらいいんだ」
フフフ、どうだ答えられまい。
どうだ、誰か答えられるものなら答えてみろ。
てゆうか、教えて。
お願いします。
0523nobodyさん
2009/07/02(木) 12:42:55ID:???0524nobodyさん
2009/07/02(木) 13:11:18ID:???0525nobodyさん
2009/07/02(木) 13:56:17ID:???・Rubyの起動周りがとにかく遅い(rake、script/generate、gemコマンド等日常作業がイラライする)
・gemsで特有の罠あり(ネイティブDLLが提供されてないとか)
・結局、Unix系で動かすなら近い環境の方がいい
IDEほしいなら、NetBeansとかRadRailsは他の環境でも動く品
1番目が特にガンだわ。
デプロイ先のLinux(Ubunut)でRubyコマンドの起動がメチャクチャ早くて、腸びっくりした。まさに瞬時。
Windowsだと、そこそこスペックあっても(Core2Quadマシンだけど)もっさりもっさり…。
マジVMWareかandLinuxか何か導入したくなってる
0526nobodyさん
2009/07/02(木) 14:05:48ID:???0527nobodyさん
2009/07/02(木) 14:11:26ID:???日本国内からアクセスしたときの遅延はどのくらいでしょうか。
0528nobodyさん
2009/07/02(木) 14:47:35ID:???Linuxで実際にGUI開発環境使ったことある?
おれはVirtualBoxでCentOS入れて開発してるけど、
ことGUI周りに関してはWindowsのよさを痛感すると思うよ。
0529nobodyさん
2009/07/02(木) 15:23:03ID:???0530今日は曇り ◆twZ04DwX3o
2009/07/02(木) 15:25:05ID:w8jxLyuc0532nobodyさん
2009/07/02(木) 18:08:14ID:???ホップ数とか、ラウンドトリップの時間なら手元で調べられるんじゃない?
他に何が知りたい?
単純にHTTPとかアプリサーバの反応の軽い重いとかだとサーバのロードも関係してくるしなぁ。
0533nobodyさん
2009/07/02(木) 18:54:23ID:???gemからRailsをインストールするのにFWが邪魔して、できないこともある。
うまくいかない人は、FWを一時的に無効にして再挑戦w
0534nobodyさん
2009/07/02(木) 19:53:19ID:???使ってて一番大きいのは反応じゃないだろうか。
遅いというのもあるけど、反応にばらつきがある。
細かい動作の完成度もバカにならない。ペーストが変なところに貼り付いたりとか。
なんだかんだ見た目もWinはかなり配慮されてるし。まあ、これは個人的な印象。
かけてる金がすごいだろうから、当然と言えば当然だけどね。
0535nobodyさん
2009/07/02(木) 21:23:46ID:???それとWindowsを比べてどうすんだ。
比べるならUbuntuだと思うが。
0536nobodyさん
2009/07/02(木) 21:27:12ID:???現状が気に入らないならスキル次第でかなり深いところまで変更
することができる。
初心者から上級者まで一律お仕着せのMacとそのマネのWindows
とはそこが違う。
0537nobodyさん
2009/07/02(木) 21:33:39ID:Ot61hTL30538nobodyさん
2009/07/02(木) 21:55:27ID:???> 遅いというのもあるけど、反応にばらつきがある。
これLinux関係ないな、メモリが少なくてスワップ発生、
HDDは遅いけどディスクキャッシュが効いてるから速くなったり遅かったり、
て事でしょ?Windowsでもなるよ
コピペとかはまあ、操作体系の違いだから慣れるしかない
WindowsのGUIライブラリは基本的に一つしか無いから
その辺がまとまってるのは優れてるといってもいいか
0539nobodyさん
2009/07/03(金) 01:21:53ID:???犬だとまだまだ使ってる香具師が少ないから洗練されてない。
鯖なら常時起動してるから、起動させっぱにすれば良いだけ。
perlもjavaも同じ。そのためにmod_rubyとか小細工してるし。
開発だとどこでも開発したくて、ノートとかに開発環境作ると、ウィンドウズの便利さを痛感する。みんながモバイルで当たり前に使ってるありがたさ。
その当たり前の機能が犬だとまだまだ不十分なのが現実。
0540nobodyさん
2009/07/03(金) 10:04:52ID:???フフン、思ったより骨がありそうだな。だが次の質問はどうだ。
今度は質問が長いぞ。
「現在時刻を知るにはどうすればよいか、と問えば Time.now と答えるだろう。
二時間前なら 2.hours.ago だ、と聞かれてもいないことまで答えるかもしれないな。
だが、それを一回のリクエストの間に何回も使う場合はどうするのだ。
毎回 Time.now では呼び出しのたびに、ちょっとづつ変わるわけだ。
だったら @time_now = Time.now として、二回目以後の参照は @time_now を使えばいい。
本当にこれでいいのかな?フフル、よく考えてみることだ。」
ねえ、どうかな、本当にこれでいいのかな?
何かRailsが用意してくれたリクエストされた時刻のようなものはないのでしょうか?
0541nobodyさん
2009/07/03(金) 10:20:07ID:???結局慣れとスキルの問題、と。
で、結局WinでRubyの起動がLinuxに比べて遅いのはガチ?
0542nobodyさん
2009/07/03(金) 10:44:56ID:???Railsに実装されているすべての機能を知ってるわけじゃないから確実ではないがたぶんないように思う。
リクエストの中で何度も使うならコントローラーの中で変数に格納する。
べた書きするんじゃなくてfilter機能を使う。
すべてのコントローラーで使いたいならApplicationControllerにfilterを入れる。
フレームワークを使うと「フレームワークで機能が提供されているなら何が何でも使わなければならない」
という強迫観念みたいなものにとりつかれるときがある。こうなると、
・今回のようにただ変数にセットすれば10秒で済むものを、何か機能がないか調べまくる(かえって時間が膨大にかかる)
・後でフレームの機能を使ってないことが分かると(または機能が追加されると)、すべて修正してきれいにしたくなる(きりがない)
などの強力な副作用が出てくる。
フレームワークで提供されてるものを無視しまくるのも問題だが。
まず提供されている核となる重要な機能はしっかり押さえるけど、
周辺の便利機能は逃しても仕方ないくらいでやらないと何も進まないぞ。
今回の場合だと、「コントローラーに実装→filterを使う」というのははずしちゃいけないと思う
(ほかにいいやり方があるかもだが)。
というわけで完全な答えじゃなくて申し訳ないが、次
0543nobodyさん
2009/07/03(金) 13:03:46ID:???ttp://guides.rubyonrails.org/
これが期待できそうだよね。
日本語訳が無いんだけど↓
ttp://honyaku.ssktkr.com/projects/docrails/documents
0544nobodyさん
2009/07/03(金) 13:25:36ID:???同じ画像を国内のレンサバとlinodeにおいて、
ブラウザからアクセスしたときのタイムラグがわかるとありがたいです。
ホップ数を測るというのはlinode.comに対してということでしょうか。
サービス用のインフラと、自社サイトのインフラが同じかどうかわからないと思うのですが。
0545nobodyさん
2009/07/03(金) 13:34:22ID:???本人?
これ手伝おうかと思ったけど、
一番下の
>http://github.com/takeru/docrails/tree/master
>最終的にはここに入れます。
を読んでやる気なくした。
何で全部個人の手柄なんだよ。
0546nobodyさん
2009/07/03(金) 14:00:42ID:???なんなら545が最終的なまとめをやってあげれば?手柄ゲットだぜ。
1行ずつ訳すって中学の英語の授業みたいだなw
おもろいっw訳がガタガタになりそうだが。
0547nobodyさん
2009/07/03(金) 14:13:25ID:???ってことは自分の手柄にするのが目的なんだろ。
0548nobodyさん
2009/07/03(金) 14:48:17ID:???共通な定数ってどこに書いたらよござんすか?
今は、コントローラーから参照するものはapplication_controller.rbに書いているんですが、
その他からも参照するようなときはどこに書いたものかと…。
0549nobodyさん
2009/07/03(金) 14:48:37ID:???親切な方がメールでこのスレで紹介されたと教えてくれました。
成果を独り占めする気はございません。
最終的には本家に入れば良いと思っています。
もちろん日本語版翻訳協力者のリストを付けるべきだと思っています。
0550nobodyさん
2009/07/03(金) 14:55:02ID:???Ruby on Rails のスレ が
http://pc11.2ch.net/test/read.cgi/php/1207425569/792-796
792 名前:nobodyさん[sage] 投稿日:2008/08/18(月) 22:54:04 ID:???
RAILS_ROOT/libが $: に含まれてるからそこにおけばいいんじゃない?
名前をお約束通りに付けておけばconst_missingを捕まえて勝手にrequireするし。
795 名前:791[sage] 投稿日:2008/08/19(火) 23:50:18 ID:???
>>792
>>793
レスありがとう。
今はlibの下に置いてApplicationControllerでincludeしてるんだけど、「お約束通り」の命名にすればそれが不要ってこと?
定数名にRailsの命名規約があるの??
796 名前:nobodyさん[sage] 投稿日:2008/08/20(水) 08:25:05 ID:???
定数というか、モジュール/クラス名がconst_missingのとき、
その名前をオール小文字/単語境界をunderscore化、ネストをディレクトリ
とみなしたファイルがrequireされる。
たとえば、いきなりinclude FooBar::Bazとか書いて未定義の定数を使うと、
require 'foo_bar/baz' される。
----------------
ということは、lib/以下に common.rb みたいなの置いてmodule Common内に定数を書き、
使うところで(ApplicationControllerとかで?)
include Common して、定義してある定数 Hoge を使うか、
Common::Hoge を直接使う、ということでいいんでしょうか?
0552nobodyさん
2009/07/03(金) 15:16:54ID:???そこまで規約に従う理由があるのか?
0553nobodyさん
2009/07/03(金) 15:54:42ID:???0554nobodyさん
2009/07/03(金) 16:34:28ID:???$RAILS_ROOT/lib にクラスとかモジュールの実装を置くのは普通だと思うが、なんで?
rubyはクラスもふつう定数だがクラスは動的に書き換えられるのでなんか混乱するな。
0555nobodyさん
2009/07/03(金) 16:42:35ID:???0556nobodyさん
2009/07/03(金) 17:24:33ID:???自分で定義したものはやっぱりapp以下に置くのが自然に思うけど
0557nobodyさん
2009/07/03(金) 18:01:42ID:???READMEに書いたある。
0558nobodyさん
2009/07/03(金) 18:37:16ID:???0559nobodyさん
2009/07/03(金) 18:47:47ID:???vendor/pluginsはプラグインとして使えるように作られたものを置くところ。
自分でプラグインを作ってもOKなので、外部製とは限らない。
app以下はやっぱり
app/models(ActiveRecord::Baseのサブクラス)
app/controllers(ActionControllerのサブクラス)
app/helpers(ヘルパとして使うmodule)
を置くところであって、それ以外はlib/でよいだろう。
もとの質問の定数定義についてだけど、定数の名前が重要で値自体にさして
意味がない(互いに異なりさえすればよい)場合は 定数の名前に使う予定の
ものに相当するシンボルを使うことも一考に値する。
0560nobodyさん
2009/07/03(金) 19:37:06ID:???RubyGemsで入るRaptというのを使おうとしたのですが、githubには対応してなさげ…
githubのものでgemが作られてるものは、RubyGemsで入れればいいんでしょうけど、
小さいプラグインだとないものもあります。
script/pluginで手動管理でしょうか?
0561nobodyさん
2009/07/03(金) 22:48:31ID:???個人的にはgemで用意されてるプラグインでも、汎用なものでなければscript/pluginでアプリケーションに個別に入れてる。
0562nobodyさん
2009/07/04(土) 07:23:40ID:???どっかからdispatch.fcgiをコピーしてくるのでしょうか?
ちなみに.htaccessもないもよう。
0563nobodyさん
2009/07/04(土) 11:26:40ID:???これっすかね?
Various files in /public that deal with CGI and FCGI dispatching are no longer generated
in every Rails application by default (you can still get them if you need them by adding
--with-dispatches when you run the rails command, or add them later
with rake rails:generate_dispatchers).
http://guides.rubyonrails.org/2_3_release_notes.html
Ruby on Rails 2.3 Release Notes
http://guides.rubyonrails.org/2_3_release_notes.html
0564nobodyさん
2009/07/04(土) 12:20:26ID:???0565nobodyさん
2009/07/04(土) 12:32:58ID:???0567nobodyさん
2009/07/04(土) 19:22:01ID:???0568nobodyさん
2009/07/04(土) 22:48:17ID:???DirectoryIndex index.xhtml
ってやってもきいてくれずに404エラーになる。index.xhtmlは間違いなくある。
VirtualHostとDirectoryの両セクションコンテナでやってみたのだが。
これどうにかならないだろうか。おれだけ?
0569nobodyさん
2009/07/05(日) 00:35:44ID:???0570nobodyさん
2009/07/05(日) 00:46:18ID:???0571nobodyさん
2009/07/05(日) 02:56:44ID:???0572568
2009/07/05(日) 10:36:21ID:???0574nobodyさん
2009/07/05(日) 11:38:01ID:???0575nobodyさん
2009/07/05(日) 12:38:44ID:???まあ、口だけなのはわかってるけどなw
0576nobodyさん
2009/07/05(日) 14:13:27ID:???入門でいいなら、
・逆引き本
・Railsレシピ
・定番のAgile Web Development with Rails 3版を見ながらわからないところは、2版の日本語版を見る
俺はこんな感じで進めている。
>>574
汚いっちゅーか、黒魔術つかいすぎだと思う
0577nobodyさん
2009/07/05(日) 19:27:05ID:???0578nobodyさん
2009/07/05(日) 23:56:06ID:???params = {
:hoge => [
{ :title => "タイトル1",
:items => ["項目1","項目2",…]
]
}
上手いやり方知らない?
これだと上手くいかない
<%= text_field_tag 'hoge[][title]' %>
<%= text_field_tag 'hoge[][items][] %>
0579nobodyさん
2009/07/05(日) 23:58:51ID:???こんなパラメタ受け取りたいんだけど
params = {
:hoge => [
{
:title => "タイトル1",
:items => ["項目1-1","項目1-2",…]
},
{
:title => "タイトル2",
:items => ["項目2-1","項目2-2",…]
},
…
]
}
上手いやり方知らない?
これだと上手くいかない
<%= text_field_tag 'hoge[][title]' %>
<%= text_field_tag 'hoge[][items][] %>
0580nobodyさん
2009/07/06(月) 00:46:11ID:???0582nobodyさん
2009/07/06(月) 10:19:10ID:???Rails 2.3.2 だと、インデントにTABを使っている(grep '^TAB文字' で判断)のは
actionpack-2.3.2/lib/action_view/helpers/form_options_helper.rb
activerecord-2.3.2/lib/active_record/fixtures.rb
activesupport-2.3.2/lib/active_support/vendor/builder-2.1.2/builder/xchar.rb
のみだった。
0583nobodyさん
2009/07/06(月) 10:20:51ID:???0584nobodyさん
2009/07/06(月) 14:29:53ID:???0585nobodyさん
2009/07/06(月) 15:02:08ID:???多少の違いはあるかもしれんが、
ほとんどのプログラマは「普通」の感覚があると思うぞ。
0586nobodyさん
2009/07/06(月) 15:21:41ID:???2文字じゃ困るって話じゃないかな
0587nobodyさん
2009/07/06(月) 17:07:12ID:???0588nobodyさん
2009/07/06(月) 18:09:23ID:???とくに年寄りにその傾向があるようだ
0589nobodyさん
2009/07/07(火) 03:00:09ID:???ソースはけっこう汚いこともあるよ(ロジックが汚いという意味ではない)
インデントとかコメントのルールとか、全然統一取れていないこともある
NTT 系の仕事だったら、NTT のやつらに絶対だめ出し食らうレベル
>>588
Linux(Unix)が開発環境となっている環境(CとかPHP/Rubyが多いかな)は、
・インデントはタブ
・vi なり Emacs で、タブ幅を4
を前提というかコーディング規約にしているところは多いね。
そういうのをWindowsのエディタや Eclipse で見ると崩れて見える。
(設定すればいいのだが)
んで、文句をいうと袋だたきにあう
どっちがいいか、というのではなく、文化というか習慣の問題だと思うが
0590nobodyさん
2009/07/07(火) 08:29:50ID:???# vim:set tabstop=2 shiftwidth=2 expandtab:
Rubyでviなら↑がデファクトスタンダードだと思うのだが。
0591nobodyさん
2009/07/07(火) 08:31:45ID:???0592nobodyさん
2009/07/07(火) 08:57:12ID:???0593nobodyさん
2009/07/07(火) 10:00:13ID:???Windows使ってるから特別にデフォルトでも4タブが崩れないようにしろって主張は、
ちょっと意味がわからない。
0595nobodyさん
2009/07/07(火) 18:06:15ID:???おきるエラーがあります。
1.8.6系の問題でよくトラブるので、サーバーも1.8.7にあげる予定なのですが、
原因を知っておきたくてご相談します。
下記ソースの
@sub_items = sub_items.all
のところで、ログ見ると↓見たいに言われてます。
LocalJumpError (no block given):
app/controllers/sub_items_controller.rb:5:in `index'
下記のようにすると問題なく動くのですが…。
@sub_items = @item.sub_items.all
以下、ソース
(config/routes.rb)
map.resources :items, :has_many => :sub_items
(app/models/sub_item.rb)
class SubItem < ActiveRecord::Base
belongs_to :item
end
(app/models/item.rb)
class Item < ActiveRecord::Base
has_many :sub_items
end
0596595
2009/07/07(火) 18:08:13ID:???class SubItemsController < ApplicationController
# GET /sub_items
# GET /sub_items.xml
def index
@sub_items = sub_items.all
respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @sub_items }
end
end
:
# フィルタで必ず実行させる
before_filter :must_item_present
private
def must_item_present
@item = Item.find(params[:item_id])
end
def sub_items
@item.sub_items
end
環境: Rails 2.3.2, 鯖: Ubuntu 8.04LTS Ruby 1.8.6, テスト環境: Windows XP SP3, Ruby 1.8.7
0597nobodyさん
2009/07/07(火) 20:24:32ID:???複数のfixtureで共通するERBコードをDRYしてどこかに書きたいものなのですが、
どこに置いたものでしょうか?
というか、fixture微妙につかいにくくないですか?
みなさん、どうしてます?
0598597
2009/07/07(火) 20:58:43ID:???factory girl使った場合、rake db:fixtures:load 相当はどうやったらいいいもんですかね・・・
0599nobodyさん
2009/07/07(火) 21:11:14ID:i/gOlMKPview:
<% for .... %>
<%= check_box_tag('hoge_id[]',hoge.id) %>
<% end %>
複数のチェックボックスを動的に生成しているこのチェックボックスを
一つは必須入力にしたいのだがvalidateがうまくいかない。。orz
model:
validates_acceptance_of :hoge_id
↑↓動作せず。。。
:model
def validate
if read_attribute(:hoge_id).nil?
errors.add("nilnil")
end
エラーをみるとparamは hoge_id で渡ってきているのだが
DBにhoge_idがないためチェックが通らない?
(DBにはho_idという名前にしてある)
hoge_id[] にするとNoMethodErrorだし。
助けて・・・m(__)m
0600nobodyさん
2009/07/07(火) 21:25:49ID:QCi36J2Stest環境作ろうと gemで autotest-rails を入れたんだが、
使ってみると、色も無い、ポップアップもなくて殺風景なんだが、
にぎやかに error 教えてくれるものないかな?
0601nobodyさん
2009/07/08(水) 09:57:29ID:???uri = URI("http://localhost:3000/funyafunya/")
res = uri.read
こんなふうにすると uri.read で止まっちゃうんすよね。
mongrel が一度に一コネクションしか処理してくれないからっすかぁ?
やっぱ、そうっすよねぇ。
どうやったらぁマルチにできますか?無理っすかぁ。
0602nobodyさん
2009/07/08(水) 11:14:05ID:???どーしてもHTTP経由がいいなら、mongrelを複数立ち上げてロードバランサを前に置くか、passengerにするか。
HTTP経由でなくてもいいなら、render_component とか。
render_component はプラグインになったんで注意な。
0603601
2009/07/08(水) 19:55:48ID:???0604nobodyさん
2009/07/08(水) 21:34:05ID:???0605nobodyさん
2009/07/09(木) 00:50:39ID:???いまは 2.3 で、トランザクションのネストができると聞きました。
質問です!
トランザクションってControllerでするのでしょうか?
それともModelでするのでしょうか?
2.3 以前と以降で話が違いますか?
ついでにもうひとつお願いします。
ttp://webtama.jp/series/railstips/articles/31
「そうでなければ、ネスト処理は単純に
親トランザクションの一部として振舞います(Rails2.2の動作)」
↑これって、どういうことなのかわかりやすく教えてください。
2回目のトランザクションの開始と終了が無視されて、
1回しかトランザクションが処理されていないという意味でしょうか。
0606nobodyさん
2009/07/09(木) 09:59:54ID:???ビューは画面表示、
それ以外はモデルだと思えばいいよ。
一つに二つの質問は面倒。
0607nobodyさん
2009/07/09(木) 17:41:28ID:???url_forやbutton_toなどを使おうとしたのですが、
どのように引数を記述したものかわかりません。
どなたか、ご助言いただけないでしょうか?
例えば、/items/14/sub_items/45 のような場合は、
button_to("hoge", [@item, @sub_item]) のように記述すればいいのですが、
/items/14/sub_items/45/hage のようなアドレスにアクセスしたい場合、
どのように記述したものでしょうか?
button_to("hoge", :controller => [@item, @sub_item], :action => hage)
また、この辺のことを script/console で試してみようと、
下記のように script/console でurl_forなどヘルパーを実行しようとするとエラーが起きてしまいます・・・
script/console内でヘルパーをテストする方法 - yamazのRails日記 - Rubyist
http://rubyist.g.hatena.ne.jp/yamaz/20060818
>> helper.url_for :controller => 'items'
NoMethodError: You have a nil object when you didn't expect it!
The error occurred while evaluating nil.url_for
from c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_view/helpers/url_helper.rb:85:in `send'
from c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_view/helpers/url_helper.rb:85:in `url_for'
from (irb):55
from :0
0608nobodyさん
2009/07/09(木) 17:52:22ID:???item_subitem_path(@item, @sub_item) # or _url
で。
consoleで使うには
app.item_subitem(以下ry
0609607
2009/07/09(木) 20:24:00ID:???ありがとうございます!
_path使って /items/10/sub_items/11 のようにはアクセスできるようになりました。
script/consoleでも動きました。
/items/10/sub_items/11/hage のようなアドレスですが、
Rails 2.3だと、:format指定でいけました。
item_subitem_path(@item, @sub_item, :format=>:hage)
ただ、
/items/10/sub_items/11.hage
というようなアドレスになってるんですが、大丈夫なのかなこれ…。
0610nobodyさん
2009/07/09(木) 21:51:02ID:???同じURLでも拡張子によってHTMLやJSONやXMLを返せるようにするためのもの。
hageの部分はそのままでは表せないので
config/routes.rb に
map.resources :items do |item|
item.resources :sub_items, :member => { :hage => :get }
end
と書くと
hage_item_sub_item_path(:item_id, :id)
で
/items/:item_id/sub_item/:id/hage
を表せる。
この場合、 SubItemsController#hageが、HTTP Getで呼ばれる。
0611nobodyさん
2009/07/09(木) 21:52:04ID:???○ .../sub_items/...
どういう規則が定義されているかは rake routes で。
0612nobodyさん
2009/07/09(木) 22:23:18ID:???RESTfulなルーティングからそろそろ外れてくるので、独自に書く必要が
出てくると思う。
item.myaction 'items/:item_id/sub_items/:id/:para',
:action => 'myaction', :controller => 'sub_items'
とか指定すれば
item_myation_path(item, sub_item, :para => 'hage')
#=> /items/:item_id/i/sub_items/:id/:para
0613nobodyさん
2009/07/09(木) 23:34:06ID:???0614nobodyさん
2009/07/10(金) 02:38:02ID:UisZbpVA原文ではなぜエラーにならないのか??
いまいちルーティングの書き方を理解できてない俺。
0615nobodyさん
2009/07/10(金) 05:02:00ID:???たしかに、
map.paged_users '/users/pages/:page'
だとエラーになる。
map.paged_users '/users/pages/:page', :controller => 'users', :action => 'pages'
みたいに書けば動く。
使うときは<%= paged_users_url(:page => 1) %>
(rails 2.2.2で確認)
0616nobodyさん
2009/07/10(金) 08:40:52ID:???サーバー起動して、
http://127.0.0.1:3000/
を表示させているんですが、
結構時間がかかります。
何かお手軽な方法はありませんか?
0617nobodyさん
2009/07/10(金) 10:33:57ID:???(config.cache_classes = false)ので、再起動の必要はない。
スタイルシートの狂いの視認とかでなければテストを書いて走らせるだけで済むかも。
0619nobodyさん
2009/07/10(金) 14:45:40ID:???0621607
2009/07/10(金) 16:58:44ID:???>>612-613
rake routesでも確認してみています。
少し疑問があるのですが、
ネストしていない状態で、コントローラーにメソッド hage を勝手に定義して、
:action => :hage, :id => @item
のような感じでurl_forなどに渡すと、>>612のように定義しなくてもちゃんとルーティングしてくるのですが、
これは、config/routes.rbの中の下記記述によるものなのでしょうか?
map.connect ':controller/:action/:id'
0622nobodyさん
2009/07/10(金) 18:26:18ID:???0623nobodyさん
2009/07/10(金) 19:26:54ID:???resourcesで定義したshow呼ばれない?
0624607
2009/07/10(金) 19:31:50ID:???以下のような感じでうまく行きました。下記は、
/items/:item_id/sub_items/:id/hage
のようにアクセスさせたい場合です。hage は getでアクセスするものとしてます。
(config/routes.rb)
# /items
map.resources :items do |item|
# /items/:items_id/sub_items
item.resources :sub_items,
# /items/:item_id/sub_items/:id/hage
:member => {:hage => :get}
end
(app/controllers/sub_items.rb)
:
# GET /sub_items/1/hage
def hage
respond_to do |format|
format.html { redirect_to(item_sub_item_url) }
format.xml { head :ok }
end
end
(app/views/sub_items/index.html.erb)
:
<% @sub_items.each do |sub_item| %>
:
<td><%= button_to("ハゲる", hage_item_sub_item_path(@item, sub_item), :method => :get) %></td>
:
わかっている人には当たり前のことだと思うのですが、今日という日は、みなさま本当にありがとうございました。
0625nobodyさん
2009/07/10(金) 20:14:06ID:???セッションについてお聞きしたいのです。
webアプリ自身あまり慣れていない者なのですが、
「Agile Web Development with Rails」(3版)では、
セッションに複雑なもの入れんな(とかいいつつ、チュートリアルではクラスのインスタンス入れてたりしますが)
とあったり、
「Railsレシピブック」では P83に
なお、Rails 開発チームの見解としては、セッションに入れるデータは、
ユーザーのID(整数)とflash メッセージ程度にとどめることが推奨されています。
などとあるのですが、この辺の開発チームの見解はweb上でどこかに記述がありませんでしょうか?
参考にしたいのですが…
0627nobodyさん
2009/07/10(金) 21:18:35ID:???0628nobodyさん
2009/07/10(金) 21:20:41ID:???DBにもできるが個人的にはクッキーが好き
0629nobodyさん
2009/07/10(金) 23:54:40ID:???当時のchangelogのこれかな。
Sessions typically contain at most a user_id and flash message;
both fit within the 4K cookie size limit. <snip>
If you have more than 4K of session data or don't want your data to
be visible to the user, pick another session store.
Cookie-based sessions are dramatically faster than the alternatives.
セッションにはせいぜいUIDとflashくらいしか入っていないのが典型。
これはクッキーの4K制限に収まる。
4K以上入れたいなら他のストアを使おう。
クッキー使うと他より断然速いよ。
0630605
2009/07/11(土) 00:14:10ID:???ありがとうございます
いつも疑問に思うのですが、コントローラーのメソッドAから
コントローラーのメソッドBが呼ばれることは少ないけど、
一方、モデルのメソッドCからモデルのメソッドDが呼ばれる
ことは多々あると思うんです。
それじゃあ、もしCがトランザクションを開始したかったら、
あらかじめDがトランザクションを開始していないことを
ソース追いかけて確認しないとダメなのでしょうか?
それに、Dだってさらに別のメソッドを呼んでいるかも…
C++でいう nothrow みたいに宣言できないのでしょうか?
notransaction とか?
0631nobodyさん
2009/07/11(土) 00:26:45ID:???・Ruby自体は習得済み
・インストールの方法をつらつらとコマンド並べて解説したりするのはいらない
・Webアプリの経験は無い
・HTMLは分かる
・1系を使う予定は無い
日本語じゃThe Ruby Wayがいいと思ったけどSimply Railsって良いのかな?
あんまし英語難しいのは勘弁だが洋書が良いなら有りかなとも思ってきた。
Agile Web Development with Railsとかもどうなんだろ?
0632nobodyさん
2009/07/11(土) 00:35:57ID:???http://guides.rubyonrails.org/
は駄目かしら。
0633nobodyさん
2009/07/11(土) 09:06:59ID:rxtHjZBVwindows osよりlinuxの方が不都合が少ないとかなんとか
0634nobodyさん
2009/07/11(土) 09:41:45ID:9PZL7n+00635nobodyさん
2009/07/11(土) 09:42:08ID:???0636nobodyさん
2009/07/11(土) 10:22:08ID:???ror作者はマカだったかな?
運用は要求レベル次第。動けば良いなら好きなのでおk。
0637nobodyさん
2009/07/11(土) 10:58:16ID:???0638nobodyさん
2009/07/11(土) 12:33:28ID:???無難にUbuntuでいいんじゃないの?
インストール簡単だし、デスクトップも一番洗練されてる。
sudo apt-get install ruby1.8 rubygems1.8
sudo gem install rails
だけで開発環境できちゃうし。
WinやMacと比べても拍子抜けするほど簡単。
0639nobodyさん
2009/07/11(土) 13:57:49ID:???0640nobodyさん
2009/07/11(土) 15:46:08ID:???ruby -Ku script/server
して文字コード指定しても立ち上がる mongrel 1.1.5のエラーメッセージがSJISになってしまうのですが、
これ何故なんでしょうか?
コマンドプロンプターには都合はよいと思うのですが、強制する理由(というか仕組み)がわからない…
UTF-8前提のIDEとかから立ち上げると、激しく化けたりして困る
0641nobodyさん
2009/07/11(土) 15:47:42ID:???Windows に vmwareでUbuntu入れるか、andLinuxかcoLinuxか、Portable Ubuntu入れるか
って、前も書いたようなキガス・・・
0642633
2009/07/11(土) 18:00:12ID:???vmwareでubuntuを使うようにします
0643nobodyさん
2009/07/12(日) 22:19:47ID:???オレが作ったアプリ軽く5Mオーバーだったw
無料じゃ仕えねぇ-w
0644nobodyさん
2009/07/12(日) 23:37:57ID:???0645nobodyさん
2009/07/12(日) 23:48:20ID:???ここはRailsのスレなのに、PHPの話を持ち出しても意味がないだろ。
PHPなんか使いたくないから、Rails(Ruby)を使ってるんだよ。
0646nobodyさん
2009/07/13(月) 03:35:00ID:Bzbq9kj30648nobodyさん
2009/07/13(月) 18:12:22ID:???rakeだか、rspecだか遅いrails絡みのコマンドを早くするコマンドがあったはずなんだけど、
忘れてしまった…
どなたか覚えていませんか?
後ろに立ち上げておく類のものだった気がするんですが・・・
rake 高速化、rspec高速化とかでぐぐっても出てこない(´・ω・`)
0649648
2009/07/13(月) 18:15:39ID:???dRubyですた。サンクス…
0650nobodyさん
2009/07/13(月) 23:04:16ID:???運用開始前に予め画像を入れておきたいのですが
script/runnerでPhoto.new({"uploaded_data" => open('hoge.jpg')})
するとattachment_fu.rb:343でuploaded_data= undefined method '[]'
してしまいます。
同じようなことをしたことがあるという方、おりましたら教えてください。
環境は
linux
ruby 1.8.7
rails 2.3.2
0651650
2009/07/14(火) 00:39:43ID:???0652nobodyさん
2009/07/14(火) 01:15:56ID:???ttp://www.oreilly.co.jp/books/9784873114163/
Railsで企業システムを扱うというのがテーマのようだ
さすがに基幹システムは無理だろうが、
部門システムくらいはJAVAのシェアを少し奪ってほしい
0655nobodyさん
2009/07/14(火) 07:55:01ID:???kwskも何も、今からxreaはねぇだろ。クラック以前に
ドメイン契約しても無償サーバ空いてないこと多いし、
鯖がダウソしてるのに放置、メールサーバは海外で
spam鯖指定されてたり、慢性的に落ちてたり。
0656nobodyさん
2009/07/14(火) 10:19:54ID:???プログラムを作るお前らには PHP で十分
0657nobodyさん
2009/07/14(火) 10:22:03ID:???どうしてそんなふうに他人を見下せるんだ?
金銭的な余裕のあるなしとRubyで開発をすることの間には何の関係もないのに。
0659nobodyさん
2009/07/14(火) 11:56:28ID:???年数千円、数万円が払えないのは負け犬。
0660nobodyさん
2009/07/14(火) 13:39:52ID:???0661nobodyさん
2009/07/14(火) 13:50:39ID:???数万も払えないヘボは PHP 使ってろ。
0662nobodyさん
2009/07/14(火) 14:01:37ID:???0663nobodyさん
2009/07/14(火) 14:06:43ID:???0664nobodyさん
2009/07/14(火) 14:19:55ID:???自前で有るから、構築技術の無い >>653 = >>656 = >>659 = >>661 = >>663
みたいに無駄な金を使わずに品質の良いものが提供できている。
0665nobodyさん
2009/07/14(火) 14:21:16ID:???0666nobodyさん
2009/07/14(火) 14:27:04ID:???数万円じゃ済まないことに気付け、低能。Ruby ユーザってこんなのばかりなの?
0667nobodyさん
2009/07/14(火) 14:37:40ID:???多少人気が出るときついのだが。
格安サーバーで事足りるのはうらやましい気がするが、少し気の毒でもあるな。
そういうことが分からないということはサービスを公開したことなんてないのだろう。
0670nobodyさん
2009/07/14(火) 14:46:12ID:???サービスすらはじめられない人が何を言っているんだ…
0671667
2009/07/14(火) 14:55:41ID:???書けば書くほどというのはおかしいだろう。
ID出ないから仕方ないが。あと連投ならやめれ。
0672nobodyさん
2009/07/14(火) 14:57:29ID:???0674nobodyさん
2009/07/14(火) 15:01:55ID:???PHPでもRailsでもどっちでもいいよ
俺は提供してるサービスなんて無いから無理
0675nobodyさん
2009/07/14(火) 15:06:13ID:???ばかか
0676nobodyさん
2009/07/14(火) 15:12:53ID:???一度、無料サーバで PHP でも Perl でも何でもいいからはじめてみろ。
月刊数十万アクセスは捌けるし、数千円から 1, 2 万円くらい行けるぞ。
0678676
2009/07/14(火) 15:16:07ID:???月刊→月間の間違えな。
1 年で 5 万円以上稼げれば
格安サーバ借りて、さらにアクセスさばければ
2, 3 倍稼げたりするよ。
ここでは URL 貼れない。
アフリを潰すような奴もいるし。
0679nobodyさん
2009/07/14(火) 15:17:13ID:???月に数十万もアクセスが来てくれるようなサイト、コンテンツを作れるかどうかが
問題なわけだが
0680nobodyさん
2009/07/14(火) 15:25:49ID:???そもそも Web サービスがはじめられないわけだが
0681nobodyさん
2009/07/14(火) 15:25:59ID:???アップローダ?ブログ?SNS?それとももっと先進的な何か?
0682nobodyさん
2009/07/14(火) 15:39:19ID:???Ruby ユーザって人格障害者多いね。
そんなことを気にしないで自分が作りたい
Web サービスを無料サーバを使ってどんどん作りなよ。
0683nobodyさん
2009/07/14(火) 15:44:25ID:???自分の好きなのや、興味のあるものを。
非 IT やオタクじゃないのをターゲットにすると
アフリをクリックする傾向あるね。
まずは無料で Web サービスをいろいろ作って
試行錯誤して経験値を積むのが重要。
PHP/Perl で作るのに飽きたので Rails で、
と思ったけど無料サーバのない現状にゲンナリ。
0684nobodyさん
2009/07/14(火) 15:45:49ID:???ただWebアプリで儲けてるって人がどんなサービス提供してるか気になってさ
で、どんなサービスなの?
0685nobodyさん
2009/07/14(火) 15:51:17ID:???0686nobodyさん
2009/07/14(火) 16:06:14ID:???みなさん使いますか?
どのバージョンならいいですか?
0687nobodyさん
2009/07/14(火) 16:15:12ID:???長期間運用すると、ユーザによって
バージョン変えるな、新しくしろ、と大変そうw
あと Passenger って何百日安定稼働!ってないよね。
毎日 cron で早朝リブートしてる…。
Passenger がもっと安定して、
省メモリ、高速になったらしい Rails 3.0 からが
運用側としてはいいのかなぁ。
0688nobodyさん
2009/07/14(火) 16:19:09ID:???PHP/Perl は Ruby に比べて互換性の問題が小さい。
あと、必要メモリも 1/2 〜 1/3 で済むのでサーバ提供者は無料提供可能。
なので現実的に Ruby 1.9 & Rails 3.0 が安定してからの提供になるんだろうな。
0689nobodyさん
2009/07/14(火) 16:53:09ID:???>バージョン変えるな、新しくしろ、と大変そうw
>それ以外に Ruby が 1.8 か 1.9 か、という問題があるよね。
各バージョン毎の無料サーバーが立ってて同時に複数借りられれば
問題なさそうですね!
0690nobodyさん
2009/07/14(火) 17:05:18ID:???> 問題なさそうですね!
> 問題なさそうですね!
0693nobodyさん
2009/07/14(火) 18:20:35ID:???0694nobodyさん
2009/07/14(火) 18:35:28ID:???裏を返せば市場が広がってるということなんで嬉しい話。
0695nobodyさん
2009/07/14(火) 18:42:42ID:???0696nobodyさん
2009/07/14(火) 18:55:19ID:???0697nobodyさん
2009/07/14(火) 20:04:16ID:???半角の前後にスペースがきっちり入ってるからわかりやすいな。
定期的に荒らすのはなんかのバイオリズムか?ちゃんと薬は飲めよ。
ぶつぶつ一人で会話して、ヒッチコックのサイコかよ。
0698nobodyさん
2009/07/14(火) 20:34:01ID:???無料じゃないと困る様なへぼサイトならみんなと同じphp使ってろと。
儲かる仕事作れないのに、高額のマク強請るマカみたいなスレだ。
0699nobodyさん
2009/07/14(火) 20:43:15ID:???それはスルー緑
0700nobodyさん
2009/07/14(火) 21:16:19ID:???初心者スレも本スレもこれで判定してたのに
おまえ・・・
0701nobodyさん
2009/07/15(水) 01:55:13ID:???無料サーバがない≠市場がない では?
無料鯖がないのは、Rails を動かす場合、
Passenger なり Mongrel なり、一アプリにつき一ポート使うからだと思う。
だからVPSなど、有料でroot権限もらえるとところだったら
Passenger や Mongrel を好きなだけ動かせるだろ。
(VPSだと、安いプランだとメモリが大変だけど)
Java だって Servlet を動かすには Tomcat などが必要だが、
一 Tomcat につき 一ポート使うから、無料サーバではやりにくいだけの話で、
Java による web アプリは、全然マイナーな技術ではないよね。
(レンタルサーバでやるようなものではないけど)
一方 perl や PHP は Apache の中に組み込まれるから(mod_perl、mod_php)、
各ユーザが PHP アプリを動かしてもポートは新たに消費しない。
だから無料鯖でも使われるわけで。
※
レンタルサーバで、あらかじめ Passenger がサーバにインストールされていて、
そのユーザのホームに .hoge (任意のファイル名) を置いておくと、
毎朝の root の cron で httpd.conf に RailsBaseUri の行を追加してくれ、そのあとは
http://{サーバ名}/~{レンタルサーバのアカウント名}/ で Rails アプリが動く、
なんてサービスがあったら、レンタルサーバでもポートを増やさずに
Rails アプリを動かせる、なんてことができていいかも。
0702nobodyさん
2009/07/15(水) 02:21:05ID:???Webな管理画面があればいいですよね。
Passengerけっこう落ちるって噂ですが。
1. フレームワークがでかいから潤沢なメモリが必要
2. Rubyがそもそもメモリを食う
3. PerlやPHPではでかいフレームワークつかわないから軽いだけ
どれなんですか。
勘で1かと思ってます。
0703nobodyさん
2009/07/15(水) 02:50:07ID:???0704nobodyさん
2009/07/15(水) 03:31:36ID:???4. 情報不足とそれに関連した使用者のスキル不足
5. まだあまり枯れてない
0705nobodyさん
2009/07/15(水) 08:10:03ID:???0706nobodyさん
2009/07/15(水) 08:14:05ID:???>Tomcat につき 一ポート使うから
無知乙。mod_jkとかAJP 1.3てな単語でまずググレ。
javaが無料サーバでやらないのはVMがメモリ食いすぎるのと
javaでは何でも出来てしまうから「共有サーバー」で導入しないだけ。
0707nobodyさん
2009/07/15(水) 10:21:44ID:???0708701
2009/07/15(水) 10:30:33ID:???>>Tomcat につき 一ポート使うから
> 無知乙。mod_jkとかAJP 1.3てな単語でまずググレ。
Java は長い間やってきているから、そこら辺は把握しているつもりです。
mod_jk とか mod_proxy_ajp をつかって外部には Apache の port 80 で公開していたとしても、
mod_jk は内部で動かしている Tomcat の port 8009 にスルーするだけだから、
結局、各ユーザごとの Tomcat のプロセスの起動が必要で、
それごとに 8009 (AJP を受け付けるポート)の bind が必要だと思いますが?
あとひとつの Tomcat に、各ユーザの webapp をデプロイする方法も考えられるが、
Passenger は、RailsBaseUri ごとに、動くユーザを変えられるが、
Tomcat は変えられない。
$CATALINA_HOME/webapp/foo アプリは foo ユーザ、/bar は bar ユーザで動かす、
ということができない。
> javaが無料サーバでやらないのはVMがメモリ食いすぎるのと
> javaでは何でも出来てしまうから「共有サーバー」で導入しないだけ。
ここは同意する。
0709nobodyさん
2009/07/15(水) 11:44:11ID:???0710nobodyさん
2009/07/15(水) 13:29:02ID:???perlやphpでも巨大なライブラリ使う事も出来るけど、もうそれはapacheごと重くなっても構わないって割り切りがあるから。
実際、phpとかperl使ってるサイトは重いし。
rubyは小賢くmod_rubyで重くなるほうに実装しなかっただけ。共用鯖で、はた迷惑になるのを覚悟でどんどん重い実装をしていけば、レン鯖でも通用するとは思う。
0711nobodyさん
2009/07/15(水) 16:51:55ID:???じゃあapacheは何故80番だけで多ユーザに対応出来るんだ?
MySQLも3306のみ、postgresも5432だけで多ユーザに
対応しているぞ。そこを考えろ。長いっつっても無駄に
長いとVBプログラマー(笑)と変わんなくなるぞ。
お前さんの根本的な間違いは、Tomcatは1ユーザに1ポート
与える必要がある、と考えていること。80から8009に流そうが、
外部に公開するのは80番だけでよいから、利用者はそこで
Tomcatが動いていると意識する必要はない。それと
TomcatはTomcat上でのマルチユーザー(Not UnixUser)に
十分対応している。なんでPassengerと比較するんだ?
共有PHP鯖でマルチユーザのWEBアプリが十分動いてるだろ。
0712nobodyさん
2009/07/15(水) 16:57:05ID:???ま、机上の空論で無理無理と考えてるから前進出来ない。
0713nobodyさん
2009/07/15(水) 20:16:06ID:???PHP使うとかマゾすぎんぞ
0715nobodyさん
2009/07/16(木) 01:33:33ID:???0716nobodyさん
2009/07/16(木) 15:59:36ID:4+d1h2nCPHP moduleの場合は企業向けプランだったり。
0717nobodyさん
2009/07/16(木) 16:12:37ID:???OLだった頃、会社で働いていた日本に超詳しいベルギー人が言ったことに納得してた。
日本文化は身内受けの凝り性文化だそう。
外国文化に負けまいとしているのではなく、
世に意図的にインパクトを与えようとしているのでもなく、
今ここにいる同じ価値観を共有する仲間からの喝采を浴びたいと考える。
その結果、同じものを志す者同士の「これすごいだろ、おもしろいだろ」合戦が始まり、
そこで生み出される物が自然と研ぎ澄まされていく。
でもその競争は、敵対的なものではなく、お互いを尊敬しあいながら、静かに深く進行していく。
そしてある日、偶然目撃した異文化出身の人間(外国人)から、
それがすごいものであることを知らされる。
ほとんどの日本人はその日が来るまで、自分たちが作り上げた物がすごいものとは知らない。
もろもろの伝統文化、芸能、電化製品、アニメ、他、みんな同じパターンで世界に広まっていった。
だから、日本がここまで発展してきたのも必然的なものだし、
この精神が衰えない限り、これからも日本は誰に頼まれることもなく、
知らないうちに勝手に世界にインパクトを与え続けていくだろうと。
0718nobodyさん
2009/07/17(金) 11:19:51ID:???0719nobodyさん
2009/07/17(金) 19:20:40ID:???0720nobodyさん
2009/07/17(金) 20:55:05ID:???そうだよな。
CGIでもまともに動く軽量フレムワがあればいい。
0721nobodyさん
2009/07/17(金) 22:00:28ID:???0722nobodyさん
2009/07/20(月) 17:22:47ID:???request.remote_ip などrequestの情報をコントローラーではなく、モデルから取得したいのですが、
どうしたものでしょうか?
コントローラー側から、引数で渡すしかないでしょうか?
モデル側からコントローラーのインスタンスにアクセスする手段がある?とか(そうするとテストがやっかいそうですが…)
Rails 2.3.2です。
0723nobodyさん
2009/07/20(月) 17:28:07ID:???それはありますよね。今だとSinatraでしょうか?
そもそも、Railsと比べるべきは、PerlやPHPなどの言語ではなく、フレームワークですよね
CakePHPとか十分重いですよね。もちろん、Railsよりもデプロイ等楽ですが、
無料レンサバのphpはCGI版という現実…
無料レンサバでRails動かしたいという人は、passengerついてるDreamhostのお試し期間で試してみたら、どうかな
Dreamhostも共有サーバーだけど、なかなかなしんどさで無料鯖でRailsやりたいという願望の非現実感が味わえますw
0724nobodyさん
2009/07/20(月) 17:46:00ID:???0725nobodyさん
2009/07/20(月) 18:25:13ID:???引数で渡すのが一番簡単だと思う。
あるいは、ApplicationControllerあたりでグローバル変数にrequestをセットするbefore_filterを定義とか。
0726nobodyさん
2009/07/21(火) 02:59:52ID:???おれも3日間いったが。
Javaから転校してきてまだ3ヶ月なんだけど、
Rails→超有名
Sinatra→次に有名、もはや珍しくない
まではわかったけど、ほかにも有名なものってあるの?
Java だと web フレームワークはたくさんあって選ぶのに困るぐらいだけど
(もちろん、フレームワークによって得意とする局面はいろいろあるけど)、
Ruby の web フレームワークもそんな状況なのか、
それとも Rail と Sinatra ぐらいなのか?
とりあえず merb と ramaze はRuby会議で知った。
0727nobodyさん
2009/07/21(火) 05:47:32ID:???板違いで申し訳ないんですが、以前から疑問に思っていたので便乗します。
> TomcatはTomcat上でのマルチユーザー(Not UnixUser)に
> 十分対応している。
というのは、tomcat-users.xmlで管理するという意味ですか?
だとするならば、それはUnixユーザー並みに、ユーザーごとに分離独立で
管理できるのですか?
それから、
> javaでは何でも出来てしまうから「共有サーバー」で導入しないだけ。
ということは、例えば、webapps下の別ユーザーが管理するアプリの
ディレクトリ下を書き換えたりできてしまう可能性がある、
ということですか?
上記等から、レンタルサーバ屋さんは基本的に1ユーザ1Tomcatであるべき、
と考えているということなんですか?
0728nobodyさん
2009/07/21(火) 15:42:40ID:rQ1yXsK1とあるテーブルのidが求められていた場合、
ある条件下(例えばデータ生成順)においてそのidのデータが何番目にあるのか?というのを求める方法はないものでしょうか?
また、ActiveRecordでそれはどのように書いたものでしょうか?
例えば、id=1234が :order => "created_at asc" という条件で検索した場合に何番目なのか?という話です。
Rails 2.3です。
0729nobodyさん
2009/07/21(火) 17:45:21ID:???ttp://codezine.jp/article/detail/460?p=2 を参考にすると、
1 + Model.count(:conditions => [ 'created_at < ?', Model.find(1234).created_at ])
だろうか。該当の値より小さい要素の数プラス1(先頭を1とする場合)
0730nobodyさん
2009/07/21(火) 22:41:56ID:fpo5xh0Mありがとうございます。
created_atが同じ場合に問題が出そうです…。
とりあえず、こんな風に書いてみました。かなり富豪的ですが、アクセスは少ないのでいけるかな?
item_id = 1234
item_number = Mode.find(:all, :order => "created_at asc", :select => "id").index{|x| x.id == item_id } + 1
穴がないか、心配ではあります。
0731nobodyさん
2009/07/21(火) 22:43:48ID:fpo5xh0Mですが、いきなり>>730の例は Mode.find(:all で富豪的すぎますが、
実際には、:conditions => ["hoge_id", hoge] みたいに、要素を絞って使ってますです。
0732nobodyさん
2009/07/21(火) 22:44:29ID:fpo5xh0Mx :conditions => ["hoge_id", hoge]
o :conditions => ["hoge_id = ?", hoge]
0733nobodyさん
2009/07/21(火) 22:49:39ID:???「たまたまそうなった」以上の意味はない気がする。
最後尾の位置は、比較を <= にして +1 なしにすれば求められるな。
0734nobodyさん
2009/07/21(火) 22:53:59ID:???だからな。順序という概念はあまり相性がよろしくない。
ORDER BYは列の整列というより取り出し順だし。
0735nobodyさん
2009/07/22(水) 18:51:56ID:???何となくYM4R/GMが良い気がしますが、ほかに何かある?
0736nobodyさん
2009/07/22(水) 19:27:20ID:???0737nobodyさん
2009/07/24(金) 00:02:40ID:???が機能しなくなりました。
gettextは利用しないほうがいいんですかね?
対応策があれば教えてください。
[環境]
rails 2.3.2
ruby 1.8.6-p287
Ruby-GetText-Package-2.0.4
0738nobodyさん
2009/07/24(金) 01:28:01ID:???script/console
>> helper.number_to_currency(1000)
=> "$10,000.00"
にはなるのだが……
number_to_currencyのようなヘルパはRails標準のI18nフレームワーク
を利用しているので相性が悪いとは思う。
gettext的にはビュー上は
<%=h(_('$%.2d') % price) %>
のように出力しておき、日本語なら '%d円' になるようにメッセージ
カタログを用意するのだろうね。
0739nobodyさん
2009/07/24(金) 01:29:34ID:???適当に脳内修正よろ。
0740nobodyさん
2009/07/24(金) 02:03:33ID:???ありがとうございます
う〜ん。悩みますね。
まぁ仕事で利用しているわけではないんで、
色々試してみます。ありがとうございました。
0741nobodyさん
2009/07/24(金) 02:13:28ID:???ということはきちんと初期化しれやればうまくいくはず……
0742nobodyさん
2009/07/24(金) 02:42:21ID:???$ rails _2.3.2_ testapp
適当なモデルを作ってレコードを作成。
$ ./script/generate scaffold Book title:string author:string price:integer
$ rake db:migrate
$ ./script/console
>> Book.create(:title => 'Untitled', :author => 'Anonymous', :price => 10000)
number_to_currencyを利用
$ vi app/views/books/show.html.erb
<%=h number_to_currency(@book.price) %>
GetTextの使用
$ vi config/environment.rb
config.gem 'locale'
config.gem 'locale_rails'
config.gem 'gettext'
config.gem 'gettext_activerecord'
config.gem 'gettext_rails'
I18n FWの初期化
$ vi config/initializers/locale.rb
I18n.supported_locales = %w(en)
I18n.default_locale = 'en'
でフォーマット出来た。
0743nobodyさん
2009/07/24(金) 02:55:25ID:???おお〜〜〜!!
やってみたら私もフォーマットできました。
これでgettextと併用できます。
ありがとうございます。
0744nobodyさん
2009/07/24(金) 06:22:36ID:???自分の場合は、i18nのほうが分かりやすいと思ってるので、i18n_generatorsでymlを生成してます。
0745nobodyさん
2009/07/26(日) 09:25:57ID:VPPSkKB9(Windowsスレでレスもらえなかったのでこっち着ました)
$ time script/runner "puts 'hello'"
hello
real 0m16.309s
user 0m0.015s
sys 0m0.015s
$ time script/runner "puts 'hello'"
hello
real 0m12.124s
user 0m0.000s
sys 0m0.030s
環境:Windows Vista SP2, Ruby 1.8.7 Rail 2.3.2, CPU Core 2 Quad Q6600, Memory 2GB
0746nobodyさん
2009/07/26(日) 10:05:05ID:???0747nobodyさん
2009/07/26(日) 15:17:17ID:???っつかマルチすな
http://pc12.2ch.net/test/read.cgi/tech/1216829388/
0748もうだめ
2009/07/27(月) 19:48:09ID:???rake aborted!
Multiple migrations have the name CreateBooks
#rake
/usr/local/bin/ruby -I"lib:test" "/usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake/rake_test_loader.rb"
/usr/local/bin/ruby -I"lib:test" "/usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake/rake_test_loader.rb"
Errors running test:units!
てな状況なんですが、ヒントくれませんかー?mysql ruby gems rails は最新verです
0749nobodyさん
2009/07/27(月) 21:18:52ID:???>Multiple migrations have the name CreateBooks
読める?
Migration classの名前を重複しないようにする。
おおかた XXXX_create_books.rb をコピーして、クラス名を変えずに
中身だけ変えたんだろう。
0751もうだめ
2009/07/27(月) 23:27:06ID:???ありがとう
0752nobodyさん
2009/07/28(火) 06:15:55ID:???0754nobodyさん
2009/07/28(火) 10:44:07ID:???Authlogicは大体↓exampleとか見て、大体組み込めたんですけど、
binarylogic's authlogic_example at master - GitHub
http://github.com/binarylogic/authlogic_example/tree/master
acl9のチュートリアルで詰まってます。
Tutorial: securing a controller - acl9 - GitHub
http://wiki.github.com/be9/acl9/tutorial-securing-a-controller
Third step: here comes the adminのところなんですが、
Userモデルにacts_as_authorization_object入れるという話なのですが、
↓こちらではSubject modelでacts_as_authorization_subjectを書くとかなっててどっちなの?という。
http://github.com/be9/acl9/tree/master
それと、結合テーブル作らないといけないみたいなのんですが、
migrationするroles_usersはモデルも作る必要あるんでしょうか?
そもそも、結合テーブル何で必要なのかわかってなかったりしますが…。
0755nobodyさん
2009/07/31(金) 16:31:29ID:???map.resources :payments
map.connect ':controller/:action'
map.connect ':controller/:action/:id'
map.connect ':controller/:action/:id.:format'
この場合、例えば http://localhost:3001/payments/list を GET でアクセスできないのでしょうか?
Couldn't find Payment with ID=list
というエラーがでます。
http://localhost:3001/payments/list/0
とやればアクセスできるようです。
0757nobodyさん
2009/07/31(金) 17:43:49ID:???で定義されるルーティングが先にマッチするからでしょう。
rake routes でルーティングを確認しましたか?
0758755
2009/07/31(金) 18:15:37ID:???ありがとうございます。
rake routes の結果より
payment GET /payments/:id(.:format) {:controller=>"payments", :action=>"show"}
が優先的にきいてるようです。
:action => "list" が存在しない場合だけ上記が適用されるようにしたいのですが、可能でしょうか?
0759nobodyさん
2009/07/31(金) 18:28:39ID:???の意味がよくわかりませんが、
map.resources :payments
より前に
map.connect '/payments/list' { :controller => "payments", :action => 'list' }
を書くというのが、やりたいことじゃないかと思います。
controller が payments だけじゃなくて、しかも list メソッドが定義されていない場合は
マッチしないでくれ、という場合は…
:id のフォーマットを正規表現で限定する機能が使えるかもしれません。
0760754
2009/07/31(金) 18:39:13ID:???> ↓こちらではSubject modelでacts_as_authorization_subjectを書くとかなっててどっちなの?という。
メインの関連するモデル(Authlogicの場合User)は acts_as_authorization_subject の方でいいみたいです。
> それと、結合テーブル作らないといけないみたいなのんですが、
> migrationするroles_usersはモデルも作る必要あるんでしょうか?
必要なかったです。
lib/ruby/gems/1.8/gems/be9-acl9-0.10.0/lib/acl9/model_extensions.rb などを見ればわかるのですが、
acts_as_authorization_subject で、
has_and_belongs_to_many :roles, :class_name => role
を呼んでおり、(Authlogicの場合)UserとRoleを多対多で関連付けているみたいです。
しかし、この多対多のhas_and_belongs_to_many ですが、下記サイトを見ると
Ruby on Rails - ActiveRecord - ? ありえるえりあ
http://dev.ariel-networks.com/articles/workshop/rails-activerecord
> * has_and_belongs_to_many (HABTM)
> :through 登場以降の存在がいまいち不明なので無視します。
とかあるのですが、これって今は使わないんでしょうかね。
とにかく、おさわがせしました。
ありがとうございました。
0761nobodyさん
2009/07/31(金) 19:15:26ID:???has_many :throughだと、テーブルの関連自体をオブジェクトとして
扱えるので何かと便利。
0762nobodyさん
2009/07/31(金) 20:33:56ID:TkoSwHP8paymentsって結構一般的なんかな。
0763755
2009/07/31(金) 22:15:57ID:???やはりそうするしかないですね
ありがとうございます
0764nobodyさん
2009/08/03(月) 08:55:54ID:OSViAr5uクッキーストアなセッションを盗聴もしくはXSSによって盗まれた場合、
そのセッションを無効にするには secret を再生成するしかないという理解なのですが、
あってますでしょうか?
0765nobodyさん
2009/08/03(月) 10:49:14ID:???番号札取られて順番待ちに横入りされまくってる状況をなんとかしないと。
0766nobodyさん
2009/08/03(月) 11:03:10ID:???そのセッションをと書いてあるだろ。xss気づいた時点で直すだろう。ただ直しても過去のセッションは生きてるから、過去のセッションを無効にしたいってことだろ。そもそも偉そうに言う前に答えてからにしろ。
で、答えは、私も解らん。
もちろんsecret変えれば、無効になるが、それ以外にないかって言われると…。
0767764
2009/08/03(月) 11:50:48ID:???レスありがとうございます。
secret を再生成するとログイン中のユーザーを強制ログアウトしてしまうので、
それ以外の方法はないのかなーと思いまして。
そもそもクッキーが盗まれないようにしろよって話なんですが
0768764
2009/08/03(月) 12:03:13ID:???XSS に対して => アプリ側で穴をふさぐ
盗聴に対して => 通信内容の暗号化 => 全面的にHTTPS
ということになると思うんですが、世の中見渡しても全面的にHTTPS な
Webサービスって少ないですよね。これって
そこまでせんでもええやろ
ってことなんでしょうか?
なんだか XSS に対してはやたらうるさく言われる割に、
盗聴されるとクッキー盗まれるからHTTPSにしなさいってのは(XSSと同じ被害が出る割に)
随分とトーンが弱い気がします。
0769nobodyさん
2009/08/03(月) 12:40:19ID:???アクセス数が超多い人気サイトだと、SSLアクセラレータを前に置いたりするが、
それでも処理が捌けなかったり、そもそもそんな金があるなら別のところに使いたい。
携帯サイトだと、毎回 Https のダイアログがあるのは嫌われる。
0770764
2009/08/03(月) 13:01:19ID:???> Https だと web サーバに負荷が掛かる
> 携帯サイトだと、毎回 Https のダイアログがあるのは嫌われる。
お金や個人情報を扱うクリティカルな処理でない限り
コスト・利便性が優先ってことでしょうか。
その辺のバランス感覚がよくわからんす。
盗聴のリスクを過大評価してるんですかね?>自分
0771769
2009/08/03(月) 13:07:16ID:???> お金や個人情報を扱うクリティカルな処理でない限り
> コスト・利便性が優先ってことでしょうか。
まさにバランスだが、そこら辺は難しい。
どこかのセミナーで聞いたけど、セッションハイジャックがおきても、
本当に致命的な情報は盗まれないように設計すべき、というのを聞いた。
たとえばヤフー(さらにたとえればヤフオク)は、入札する直前に、もう一度パスワードを入力させる。
パスワード変更画面へアクセスするときにもパスワードを入力させる。
つまり、攻撃者がクッキーを盗んでセッションに入り込んだら、何でも出来てしまうようではダメ
(ユーザの情報を、何でもセッションに入れてしまうようではだめ)ということ。
ちゃんと考えられたサイトでは、ログインとか決済画面は Https で包んでいても、そうでない画面は
Http だったりする。
0772764
2009/08/03(月) 13:43:20ID:???> ちゃんと考えられたサイトでは、ログインとか決済画面は Https で包んでいても、
> そうでない画面は Http だったりする。
自分が利用しているサービスは大抵そうなってますね。
そのことは実は前から気になってて、いくらログインが https でもこれじゃ
セッション乗っ取られるやんと思ってたのですが、これって仮にセッションが
乗っ取られても(被害0という訳ではないけれども致命的という訳でもない)
なんとかフェールセーフだからこうしますってことなんですね。
なんつーか、そういうもんなんですね、世の Webサービスというのは。
勉強になりましたっす。
0773764
2009/08/03(月) 14:37:17ID:???> クッキーストアなセッションを盗聴もしくはXSSによって盗まれた場合、
> そのセッションを無効にするには secret を再生成するしかないという理解なのですが、
> あってますでしょうか?
自己レス
ログインの度に更新されるトークンをユーザーのモデル属性に追加して、
それをセッションハッシュに含めるようにすれば、例えセッションクッキーを盗まれても
正規ユーザーのログインと同時に無効にできますね。
0774nobodyさん
2009/08/04(火) 00:02:32ID:???正規ユーザのログインを阻害しておけば、いつまでも取得したクッキーで成り済ませるというのもどうかと。
0775764
2009/08/04(火) 00:18:20ID:???> 正規ユーザのログインを阻害しておけば、いつまでも取得したクッキーで成り済ませる
パスワードとメールアドレスの変更さえ阻止できれば正規ユーザーのログインが
阻害されるということはないという認識なんですけど、この場合のログインの阻害とは
物理的にログインできない状態にさせるということですか?
つまり、クッキーを盗んだ犯人が正規ユーザーの知り合いかなんかで、言葉巧みに
しばらくそのサービスにログインしないように仕向けるとか
0777nobodyさん
2009/08/04(火) 16:17:56ID:???functional test はどうやればいいの?
0778nobodyさん
2009/08/04(火) 17:45:14ID:???0779755
2009/08/05(水) 00:30:31ID:???と、数字を20まで表示させたいのですが、ループなどを組んで指定するにはどうやったらいいのでしょうか?
0780nobodyさん
2009/08/05(水) 00:50:11ID:???opts = {}
(1..20).each {|i| opts[i] = i }
みたいな感じでハッシュを作ってそれを select に渡したら?
0781nobodyさん
2009/08/05(水) 01:20:19ID:???Hash[(1..20).map{|e|[e,e]}]
や
(1..20).inject({}){|r,e| r[e]=e;r}
なら、その場に書ける。
0784783
2009/08/05(水) 09:04:35ID:???ごめんなさい。
0785nobodyさん
2009/08/05(水) 11:05:53ID:???みなさまどうもありがとうございます
教えていただいた方法全て試したのですが、
<option value="16">16</option>
<option value="5">5</option>
<option value="11">11</option>
<option value="17">17</option>
のような結果になりうまくいきません。
なんか難しそうです。
0786nobodyさん
2009/08/05(水) 11:27:13ID:???select 'foo', 'bar', 1..20
でたぶんできます。
確かに select の第3引数は Enumerable なら何でもいいけど、
基本的には Hash じゃなくて Array の Array を渡すものと考えといた方が良いよ。
0787nobodyさん
2009/08/05(水) 11:33:58ID:NCOUlOL5バイト数の方がよかったんだけど・・
この仕様しらなかったせいでバリーデーション不備のまま本番にあげちゃってちょん切れたデータを多数テーブルに格納してしまった・・
0788nobodyさん
2009/08/05(水) 11:57:44ID:???0789780
2009/08/05(水) 12:16:04ID:???ごめん。ハッシュじゃそりゃダメだわw
>>786 みたいにするか
[[label1, value1], [label2, value2], ...]
な配列を渡すんだ
http://api.rubyonrails.org/
0791nobodyさん
2009/08/05(水) 16:35:58ID:???アクション(indexとかshowとか)に対して、before_filterで、実行予定のア
クションが
- コレクションのアクション(index, newなど)
- メンバーのアクション(show, destroyなど)
のどちらなのかを判断する方法はないでしょうか。
標準のscaffoldで作られるもの以外にも対応したいので、
- index/new/createならコレクション
- show/edit/update/destroyはメンバー
という判定は避けたいです。
idパラメータの有無で判断するのが簡便に思えますが、誤判定の可能性
はないでしょうか。
0794nobodyさん
2009/08/06(木) 04:44:08ID:???insertしたりとかでけんのですかね?
いろいろと試してはみたのですが。
insert_html 'hoge', :bottom, :js => 'fuga' とか。
0796nobodyさん
2009/08/06(木) 08:48:10ID:???それをどんどん判定条件に加えていけばいいような。
0797nobodyさん
2009/08/06(木) 11:23:04ID:???アクションの実際の動作によるとしかいえないので、アクションの動作を
調べないかぎり誤判定はありえるでしょう。
つまりはコレクションかメンバーかは規約によるので、restという規約なら
アクションは予め決まっているので、それをaction_nameで判断すればいいのでは
ないでしょうか。
restのアクション以外を実装するケースを判断するには、そのアクションの対象が
コレクションかメンバーなのかは実装者にしかわからないでしょう。
0798nobodyさん
2009/08/06(木) 13:22:51ID:???どうかと思ったが、その場でルーティング判定コードに変換されたらど
こにも残ってないな。
0799nobodyさん
2009/08/06(木) 19:37:35ID:???文字化けしないようにするにはどうしたらいいんでしょうか?
config/enviroment.rbにて、
config.action_mailer.default_charset = 'iso-2022-jp'
はすでに設定してあります。
下記サイトによると、2.3では大丈夫?みたいにあるのですが、大丈夫でないみたい・・・
Ruby on Rails - メール送信 - gendosuの企画開発室
http://gendosu.ddo.jp/redmine/wiki/1/%E3%83%A1%E3%83%BC%E3%83%AB%E9%80%81%E4%BF%A1?export=txt&version=14
環境:Rails 2.3.2 Ruby 1.8.7
0800nobodyさん
2009/08/06(木) 22:34:44ID:U5nTdGUe0801nobodyさん
2009/08/07(金) 01:36:44ID:???http://www.atmarkit.co.jp/fnetwork/rensai/netpro03/netpro01.html
0802799
2009/08/07(金) 04:13:16ID:???UTF-8になっているみたいでした…
>>801
よくよんでみます
ActionMailerのソースを見る限り、大丈夫じゃない感じだったので(元になったTMailはルーチンは残ってるんですが)、
下記サイトを参考に、gettext_rails入れてみます。
Rails2.3.2でiso-2022-jpのメールを送りつつテストも通るようにしてみた
http://doruby.kbmj.com/tn_on_rails/20090420/Rails2_3_2_iso-2022-jp_
2.3では大丈夫というのはどこの情報だろう…。リリースノートみても特に記述はない気がします
Ruby on Rails 2.3 Release Notes
http://guides.rubyonrails.org/2_3_release_notes.html
0803799
2009/08/07(金) 04:24:05ID:???日本語化はi18n使いたいし、メールのためだけにgettext入れるのもなんだかなーと思ってて調べていたら、
ActionMailerJaというのを見つけました。2.3にも対応しているみたいです。試してみようと思います。
ActionMailerで日本語のメールを送る方法 - yuum3のお仕事日記
http://d.hatena.ne.jp/yuum3/20090624/1245833142
ActionMailerJa - imishin.com
http://blog.imishin.com/projects/ruby/actionmailerja/
とりあえず、ありがとうございました。
0804nobodyさん
2009/08/07(金) 17:05:39ID:???form_forの
<%= f.error_messages :header_tag => :h3 %>
のようなこういったコードを共通化したいのですが、どうするのがスマートでしょうか?
ヘルパーに引数でfを渡すのも考えたのですが、できれば、既存の
<%= f.error_messages %>
で自動的に
<%= f.error_messages :header_tag => :h3 %>
相当を呼ぶようにしたいのですが、よいはっく方法はないでしょうか?
0805nobodyさん
2009/08/07(金) 18:18:25ID:???error_messagesを再定義するようなモジュールをmixinすればいいんじゃない?
0806804
2009/08/08(土) 10:15:54ID:???ありがとうございます。
うまいこと、再定義する方法ってないものでしょうか?
下記のようにすると、stack too deep?とか言われてしまいます。
module ActionView::Helpers
class FormBuilder
# デフォルトオプション付きの f.error_messages
alias :old_error_messages, :error_messages
def error_messages(option = {})
old_error_messages({:header_tag => :h3}.merge(option))
end
end
end
今はとりあえず、別名で定義してみてあります。(grep置換してしまえばいいと言えばいいのですが…)
module ActionView::Helpers
class FormBuilder
# デフォルトオプション付きの f.error_messages
def my_error_messages(option = {})
error_messages({:header_tag => :h3}.merge(option))
end
end
end
0807804
2009/08/08(土) 10:17:37ID:???以前のform_forを直接読んでやればよいのか…。
ちょっとやってみます。
0809nobodyさん
2009/08/08(土) 12:47:11ID:???class HogeHelper
module HogeBuilder
def error_messages options
super {:header_tag => :h3}.merge{option}
end
def form_for record_or_name_or_array, *args, &proc
super do |f|
f.extend HogeBuilder
yield f
(ry
というのを考えてたんだが。
0810nobodyさん
2009/08/08(土) 12:52:10ID:???0811nobodyさん
2009/08/08(土) 13:21:01ID:???それはそれでRuby的だよね
0812nobodyさん
2009/08/10(月) 15:53:57ID:???障害があったときにもう1台に切り替えるってできるのですか?
DBa, DBbで、普段はDBaのみに更新、参照し、DBaに障害があったら
DBbに更新、参照みたいな。
JavaのときはJDBCの接続のときに以下のようにするとできたんだけど、
Railsでもやりたいのです。
jdbc:mysql://DBa,DBb:3306/testdb
Properties prop = new Properties();
prop.put("autoReconnect", "true");
prop.put("roundRobinLoadBalance", "false");
prop.put("failOverReadOnly", "false");
....
0813nobodyさん
2009/08/10(月) 22:13:10ID:???0814nobodyさん
2009/08/11(火) 01:25:21ID:VNj7FetZRailsで扱えるDB(Mysql, PostgreSQL, Oracle, ...)が
812のいう機能をサポートしていればできる。
んで、大体のDBでできる。
0815812
2009/08/11(火) 11:43:12ID:???返答ありがとうございます。
MySQLでお互いをMaster&Slaveにして、デュアルマスタにしているのですが、
片方死んだ時に切り替えたく思っています。
スレ違いになりそうですが、813さんと814さんの言ってることは
バーチャルIPかなんか振っておけってことでしょうか(DBサーバに)?
0816nobodyさん
2009/08/11(火) 15:52:45ID:???・migrationに書く
・script/以下にスクリプト置いて、script/runnerで実行させる
migrationに書く方法だと、migrate後にdevelopment DBに db:fixtures:loadとかして開発用に初期DB入れようとすると、
migrationで入れたDBデータがぶっ飛んでしまいませんか?
0817nobodyさん
2009/08/12(水) 08:25:01ID:???fxck you の略?
0818nobodyさん
2009/08/12(水) 11:09:05ID:???GIMPのScript-fuあたりが嚆矢かな。
0819nobodyさん
2009/08/12(水) 11:50:53ID:???〃Λ_Λ
( ・∀・)
┏┓⊂ ⊂_)
`/ ̄ ̄ ̄ ̄ ̄ ̄/|
| ̄ ̄ ̄ ̄ ̄ ̄| |
|| ̄ ̄ ̄ ̄ ̄|| |
|| ┃┃┃ || |
|| ┃┗┫ || |
|| ┃ ┃ || |
||_____||/
└──────┘
0820nobodyさん
2009/08/12(水) 12:22:42ID:???ttp://www.catb.org/~esr/jargon/html/F/suffix-fu.html
直接の用法は「熟練の技」みたいな感じだが、
プラギンに使ってるのはおそらくノリというか面白半分だろうな。
0821nobodyさん
2009/08/12(水) 19:16:22ID:???db:fixtures:load RAILS_ENV=production
でいいんじゃないかと思います。
初期ユーザーなどは開発用にも必要なものだと思いますので、
それぞれの環境ごとに、しかし同じ方法でやるのがいいと思います。
0822nobodyさん
2009/08/15(土) 02:11:01ID:3etX9jN1Master 192.168.1.1, 192.168.1.2
Slave 192.168.1.3
こんな風にIP振っておいてクライアントは192.168.1.1にアクセスする。
SlaveがMasterの死を検出したら、
Slave 192.168.1.1, 192.168.1.3
ってする。クライアントは依然192.168.1.1にアクセスする。
ってやってるよ。
0823nobodyさん
2009/08/15(土) 04:41:01ID:???0824nobodyさん
2009/08/15(土) 21:07:23ID:Ioyu6DB3中の2バイト文字が全て?〜;の形式にエスケープされて出力されてしまいました。
このエスケープ処理を切るにはどのようにしたら良いのでしょうか。
よろしくお願いします。
0825nobodyさん
2009/08/16(日) 05:33:13ID:???あとIPアドレス振り直しは、ARPが書き変わるまでは通信不能。
デフォルトゲートウェイ設定の絡みで、同一サブネットだと、複数IP振っても特定のIPしか使われなかったりするけどな。
理論では、うまく逝きそうな仕組みも現実はそう簡単ではない事も多い。
0826nobodyさん
2009/08/16(日) 06:52:43ID:???kwsk (w
0827nobodyさん
2009/08/16(日) 11:37:26ID:???http://docs.komagata.org/4000
0828nobodyさん
2009/08/16(日) 12:59:03ID:U2+68uzWありがとうございます。助かりました。
0830nobodyさん
2009/08/18(火) 14:36:53ID:xQbi8Iqyconfig/environments/test.rbに
Rails.public_path = RAILS_ROOT + "/test/public"
を追加してテスト環境モードでサーバを起動して、
http://localhost:3000/foo
にアクセスしても、RAILS_ROOT + "/public/foo"のファイルが見えてしまいます。
何かいい解決方法はないでしょうか。
0832830
2009/08/18(火) 18:19:34ID:xQbi8IqyRAILD_ROOT + "/public"
を公開用ディレクトリとして認識してくれます。
んで、どこに設定されているんだろうかと調べていたら
Rails.public_pathという設定に行き着きました。
それだったらRails.public_pathに何か設定する方法があるだろうと思っています。
サーバ側の設定なんでしょうか?
仮にサーバだとしてRailsはいつRAILS_ROOTをサーバに渡すんでしょう。
0833nobodyさん
2009/08/18(火) 18:27:06ID:???0835830
2009/08/18(火) 20:26:23ID:xQbi8Iqy0836nobodyさん
2009/08/19(水) 00:27:33ID:???これに指定すればいけるんじゃないだろうか
時間がなくて試せないので、動作報告をくれるとうれしい
0837830
2009/08/19(水) 02:50:08ID:/4UU0U8gmongrelで--prefixを指定したときはブラウザがアクセスするときのURLが変化します。
例えば、--prefixなしの時
http://localhost:3000/order
等としてアクセスしますが、--prefix=/fooをつけると
http://localhost:3000/foo/order
という風になります。
私の期待しているfilesystem上のPATHを変化させる方法ではありません
0838816
2009/08/19(水) 12:32:09ID:???fixtureに書く方法だと、どうしてもテスト用のデータになっちゃうんで、
結局、新たにmigration1個作ってそこに書く方法でやっちゃた。
0839nobodyさん
2009/08/19(水) 13:22:08ID:???viewのedit.html.erbのform_for内で入れ子にしようと fileds_for を使ったところ、
Hoge expected, got HashWithIndifferentAccess とか言われてオブジェクトの更新ができません。
belongs_toで関連付けた Hoge.my_hage= に Hashがそのまま代入されているようなのですが、
どうしたらよいものでしょうか?
構成は以下のようになってます
model: hoge.rb
class Hoge < ActiveRecord::Base
belongs_to :my_hage, :class_name => "Hage"
view: edit.html.erb # /nested/hage/1234/edit
<% form_for([:nested, @hage]) do |f| %>
<%= f.error_messages %>
(略)
<% f.fields_for :my_hage, @hoge.my_hage do |hage_form| %>
<p>
<%= hage_form.label :name%><br />
<%= hage_form.text_area :name %>
</p>
<% end %>
<%= f.submit '更新' %>
<% end %>
0840839
2009/08/19(水) 13:22:50ID:???controller: nested/hage_controller.rb
def update
@hage = Hage.find(params[:id])
respond_to do |format|
if @hage.update_attributes(params[:question])
flash[:notice] = 'Nested::Hage was successfully updated.'
format.html { redirect_to(@hage) }
format.xml { head :ok }
else
format.html { render :action => "edit" }
format.xml { render :xml => @hage.errors, :status => :unprocessable_entity }
end
end
end
0841839
2009/08/19(水) 14:31:14ID:???class Hoge < ActiveRecord::Base
belongs_to :my_hage, :class_name => "Hage"
accepts_nested_attributes_for :my_hage
でOKでした。
以下が参考になりました。
Localization expected, got HashWithIndifferentAccess - Ruby Forum
http://www.ruby-forum.com/topic/184877
ありがとうございました。おさわがせしました。
0842nobodyさん
2009/08/19(水) 15:02:29ID:???うわ、すまんかった。
このオプションでいけるんじゃないだろうか。
--root PATH
Set the document root (default 'public')
0843nobodyさん
2009/08/20(木) 20:29:11ID:OSASGkcC遅レスですが、同じくWindows環境のattachment_fuで添付ファイルが壊れる現象起こりました。
で、対応としては>>126さんのアドバイスを参考にして
vendor\plugins\attachment_fu\lib\technoweenie\attachment_fu.rbの370行目辺り
File.read(temp_path)をFile.open(temp_path, "rb"){|f| f.read}に変更しました。
あと、メタデータのsizeが設定されたり、されなかったりという現象も起こったので
http://nonki.yoka-yoka.jp/d2009-07-09.htmlを参考にRuby\lib\ruby\1.8\tempfile.rbにも手を入れました。
以上で添付ファイルのDBへの格納、表示ともにうまくいっています。
0844nobodyさん
2009/08/20(木) 22:42:43ID:???0845830
2009/08/23(日) 04:36:10ID:vSt0R6A2mongrel_rails start -r test/public
でtest以下のpublicを読んでくれました。
0846nobodyさん
2009/08/23(日) 09:17:36ID:???0847nobodyさん
2009/08/23(日) 15:34:00ID:???0848nobodyさん
2009/08/27(木) 18:15:48ID:???他のモデルとコントローラー両方から参照したいあるモデル(User,UserSession)があります。
セッション情報やユーザー情報が何度も参照されるため、
下記のように簡易的にクラス変数でキャッシュみたいなことをしたのですが、
デプロイするproductionモードとローカルのdevelopmentでは全然違う挙動をします。
というか、productionモードではわけがわからない動作をします。
def self.current_user
return @@current_user if defined?(@@current_user)
current_user_session = UserSession.current_user_session
@@current_user = current_user_session && current_user_session.user
end
productionモードでは、クラス変数が初期化されたりしない?ということまではわかった(つまり、クラス変数が使いまわされる)
のですが、代替の方法がよくわかりません。
どのように対処したものでしょうか?
Rails 2.3.2です。
0849nobodyさん
2009/08/27(木) 18:21:54ID:???PHPみたいなことはや(ry
0850nobodyさん
2009/08/27(木) 18:24:52ID:???0851nobodyさん
2009/08/27(木) 20:24:29ID:???0853nobodyさん
2009/08/28(金) 06:03:30ID:???0854nobodyさん
2009/08/28(金) 06:51:07ID:???同意。
PHPは言語で、Railsはフレームワーク。
比べるなら、PHPとRubyを比較するべきだよな。
まぁ、>>>849はそれすら分かっていないのかもしれないが。
0855nobodyさん
2009/08/28(金) 10:44:15ID:???知っているのは伝聞のFUD
0856nobodyさん
2009/08/28(金) 11:31:52ID:???rubyはぶっちゃけ、過去のことなど放り投げちまう開発姿勢だから名、
互換性で比べたらphpに軍配上がっちまう罠、
比較対象として持ち出した奴が バ・カ
0857nobodyさん
2009/08/28(金) 15:27:38ID:???0858nobodyさん
2009/08/29(土) 14:58:31ID:???0859nobodyさん
2009/08/29(土) 15:02:17ID:???PHPで2ファイル以上のコード読みたくない><
0860nobodyさん
2009/08/29(土) 15:12:31ID:???0861nobodyさん
2009/09/02(水) 16:56:18ID:???0862nobodyさん
2009/09/03(木) 08:08:48ID:801E0K0+他のスレッドで質問したのですが、スレッド違いということで、
再度、ここに書かせて頂きます。
前の開発者がRuby Railsでサイトを構築しました。
今回、私が、別の機能を付け足すことになりましたが、
私はRuby Railsを知りませんので、/manage/フォルダ以下に、
PHPで開発することになりました。
/manage/以下に、.htaccessを設定したのですが、動かず、404ページが返ってきます。
自分なりに色々調べた結果、Passenger/mod_railsを使っているため、
/manage/の.htaccessが、それによって上書きされているようです。
RailsAllowModRewrite On
を使えば、なおるようなことを言われたのですが、
/manage/.htaccessでそのように設定しても、/manage/.htaccessに設定してあることが
有効になりません。
どなたか知っていたら教えて頂けないでしょうか。
よろしくお願いします。
0863nobodyさん
2009/09/03(木) 08:48:46ID:???0864nobodyさん
2009/09/03(木) 09:10:30ID:???普通Railsのアプリ一式が入っているディレクトリをRAILS_ROOTとすると、
ドキュメントルートはRAILS_ROOT/publicにするのだが。
Passengerを使ってるのなら、ApacheのDocumentRootディレクティブを調べてみてほしい。
0865nobodyさん
2009/09/03(木) 11:28:15ID:???5.8.3. RailsAllowModRewrite <on|off>
<略>
This option may occur once, in the global server configuration or in a virtual host configuration block.
<略>
ってことで、apache設定の最上位か、<VirtualHost></VirtualHost>の中に
しか書けない。
0866nobodyさん
2009/09/03(木) 11:52:21ID:???0867nobodyさん
2009/09/03(木) 14:10:11ID:???[Rails] ちょっとしたタイプをどこに置くか - capsctrldays(2006-05-30)
http://capsctrl.que.jp/kdmsnr/diary/20060530.html#p01
お聞かせ願いたいです。
具体的には、上記サイトにもあるのですが、
1:男性
2:女性
1:承認待ち
2:活動中
3:削除
のような定数とActiveRecordを使う上での兼ね合いといいますか。
・配列(Hashとかにしちゃう)
・テーブルにしちゃう
どちらがオススメでしょうか?
0868nobodyさん
2009/09/03(木) 14:16:09ID:???0869862
2009/09/03(木) 14:21:23ID:4G6aJPkU>>864
そうです。
分かりやすく言うために、public_htmlといいましたが、
実際は、RAILS_ROOT/publicになってます。
で、今回、RAILS_ROOT/public/manage/フォルダにPHPで開発することになり、
(私はPHP言語しか知りません)
RAILS_ROOT/public/manage/.htaccessを作成したのですが、
.htaccessが作動しないのです。
私がRuby Railsの知識が全くないので、どのような設定になっているか分からない状況です。
>>865
httpd.confの中では、<virtual></virtual>はコメントアウトになっています。
ただ、Include /etc/httpd/conf/lxadmin/lxadmin.confとかいてあり、
lxadmin.confの中には、いくつかのconfファイルがincludeしてあります。
そのうちの一つのdefault.confには、下記の<virtual>タグが記載されています。
<VirtualHost \IP address:80\>
DocumentRoot /home/lxadmin/httpd/default/
servername default
ServerAlias default.*
<Ifmodule mod_userdir.c>
Userdir "public_html"
</Ifmodule>
</VirtualHost>
この中にRailsAllowModRewrite <on|off> を記入すれば宜しいのでしょうか。
無知な者でご迷惑おかけします。
もし対処法をご存知な方がいらっしゃいましたら、お知らせください。
よろしくお願いします。
0870nobodyさん
2009/09/03(木) 14:43:27ID:???> 分かりやすく言うために、public_htmlといいましたが、
> 実際は、RAILS_ROOT/publicになってます。
間違った情報がわかりやすいわけないだろ。
逆の立場だったらわかりやすいと思うか?
おまえの中では勝手に同じものと処理してるかもしれんが、
他人がそんなことわかるわけないだろ。
質問するならちょっとは考えろ。無知とか関係ない。
> Passengerを使ってるのなら、ApacheのDocumentRootディレクティブを調べてみてほしい。
DocumentRoot /home/lxadmin/httpd/default/
こうなってるわけだが、ちゃんとレスを見たか?
RAILS_ROOT/publicはドキュメントルートとして機能してないと思うが。
「実際は、RAILS_ROOT/publicになってます。」
↑
これまでわかりやすく書いたのなら、
掲示板じゃわからんから周りの友達にでも聞け。
0871867
2009/09/03(木) 15:05:15ID:???おー、tableですか。
DB使わないスクリプトなんかだと、Hashなんかでやってしまい、その延長でついHashにしてしまいそうになるのですが、
テーブル使う利点ってなんなんでしょうか?
ActiveRecordを使えるから、ってことでいいんでしょうか?
あと、viewでcollection_selectがそのまま使える、とか。
0872862
2009/09/03(木) 16:46:48ID:Gs6kTm0Iご回答ありがとうございます。
DocumentRootがどこなのか、分かりませんでした。
/home/lxadmin/httpd/default/ の下に、
/home/lxadmin/httpd/default/manage/とやれば良いということでしょうか。
/home/lxadmin/httpd/default/phpinfo.php
を作成し、mydomain.com/phpinfo.phpとアクセスしたのですが、
404が返ってきました。
Ruby Railsの為、私の知っている通常のサーバーの設定でない為、よく分かりません。
私、海外の田舎でプログラマをやっている為、あまりこの分野の友達がいません。
もし、ご存知の方がいらっしゃいましたら、教えて頂けないでしょうか。
お手数かけて申し訳ございません。
よろしくお願いします。
0873862
2009/09/03(木) 17:04:03ID:Yl0KYuqm実際、色々動いてるファイルは、
/home/admin/vhosts/mydomain.com/public/
配下に設置してあります。
お手数かけましてすみません。
よろしくお願い致します。
0874nobodyさん
2009/09/03(木) 20:34:55ID:???マルチうぜぇ
ttp://pc12.2ch.net/test/read.cgi/tech/1249687283/488-491
ttp://pc12.2ch.net/test/read.cgi/tech/1249687283/554-555
htaccessかPHPのスレに行け。
0875nobodyさん
2009/09/03(木) 22:53:48ID:???データの多さに関係なく ActiveRecord で管理するのが一番融通が利くし楽でしょ。
だけど初心者の人はたいてい配列にしてマジックナンバーを撒き散らすよ
酷いのになると配列(の定数)すらない場合も。
0877nobodyさん
2009/09/04(金) 08:19:25ID:???でもActiveRecordになるとreadだけじゃなくてwriteもできるんだぜ。
定数ということを表現できてないじゃないか。
0878nobodyさん
2009/09/04(金) 12:52:12ID:???なんか良い感じのプラグインあればよさそうだけど。
これとかは?
http://d.hatena.ne.jp/fujisan3776/20080907/1221480262
0881867
2009/09/04(金) 16:59:50ID:???サンクス
ActiveRecordで管理した方が利点あるように感じました。テーブルでいってみます。
>>878
こんなプラグインあるんですね。ふーむ、用途的に違うようなきがしないでもない??
0882nobodyさん
2009/09/04(金) 17:06:45ID:???button_toヘルパーにてGETでパラメーターつきで、RESTのnew actionのボタン型のリンクを作ろうとしたのですが、
うまく行きません。
button_to(new_item_path(:hage_id => 1234), {:method => :get})
とすると、HTML上では、action="/item/new?hage_id=1234"となっているのですが、
<form>のせいか、実際にボタンを踏むと、/item/new? に飛ばされてしまい、
パラメータがなくなってしまいます(´・ω・`)
たぶんに、
<input type="hidden" name="hage_id" value="1234" />
みたいのを仕込まないといけない、というのはわかるのですが、ソース見る限りbutton_toではできないですよね。
一発ポンでできるヘルパーみたいなのってないもんでしょうか…?
0883nobodyさん
2009/09/04(金) 17:47:59ID:???ちゃんと書かれてれば
new_hage_item_path(:hage_id => 1234, {:method => :get })
で
/hage/1234/item/new
になる気がしないでもない。
# 複数形にするんだっけ……?
0884nobodyさん
2009/09/04(金) 18:05:22ID:???0885nobodyさん
2009/09/04(金) 22:23:08ID:???というかRailsやPHPとかの環境の選択ってプロジェクトと一蓮托生じゃないの?
混在とか今時当たり前なの?気色悪いとか思わんのかな。
0886nobodyさん
2009/09/04(金) 22:53:13ID:???けど残念なことに過去の資産を利用するためにRubyからPerl/PHPを呼ぶこともしばしば
0887nobodyさん
2009/09/04(金) 22:55:06ID:???ARで管理する場合はpositionカラムも一緒に入れてacts_as_listしておくとさらに後が楽。
完全に自分用のアプリで、順番は id や created_at 順でじゅうぶんっていうことならいらないけど。
0888nobodyさん
2009/09/04(金) 23:51:53ID:???Gender.findById("1").name //チンコ
Gender.findById("0").name //マンコ
やだよ。そんなのw
0889nobodyさん
2009/09/05(土) 00:23:06ID:???0890nobodyさん
2009/09/05(土) 00:26:27ID:???非難するような人っているよね。
0891nobodyさん
2009/09/05(土) 00:30:55ID:???0892nobodyさん
2009/09/05(土) 00:39:38ID:???言いたかったことは、相手の論点について反論するのではなく、
その人の性格、能力、過去などについての批判を加えるのは卑怯では
ないかということ。(そういうのってよくあるでしょ)
0893nobodyさん
2009/09/05(土) 00:44:28ID:???0895nobodyさん
2009/09/05(土) 00:45:28ID:???0897nobodyさん
2009/09/05(土) 01:01:21ID:???まともな開発者ならこの手のマスターデータを定数などにしない。
マスターデータの種類が増えたり変更が入るたびにプログラムの変更が入るから。
「男」や「女」なら増えないと思うかもしれないが、
この絶対に変わらないように思えるデータも「男性」「女性」にしたいなんてことが起こりうる。
「承認待ち」だの「活動中」あたりは言うまでもない。
この手の失敗はDBがここまで使われる前まではよくあって、
それこそ「男」を「男性」に変更するだけで、プログラム修正&追加料金なんてのはザラだった。
さすがに最近はあまりないと思うが。
だからこれはレスどおり「システムの作り方」を勉強すべきなんだよ。
そもそもActiveRecordパターンの目的から完全に外れてるしな。
>>888は「定数」という言葉を間違って使ってるんじゃないかとも思うが。
ちなみに>>893-896はおれではない
0898nobodyさん
2009/09/05(土) 02:06:10ID:???0899nobodyさん
2009/09/05(土) 04:20:22ID:???Brian Mastenbrook: How I cross-site scripted Twitter in 15 minutes, and why you shouldn't store important data on 37signals' applications
http://brian.mastenbrook.net/display/36
XSS Vulnerability in Ruby on Rails - Ruby on Rails: Security | Google グループ
http://groups.google.com/group/rubyonrails-security/msg/7f57cd7794e1d1b4?pli=1
0900nobodyさん
2009/09/05(土) 08:56:22ID:???パッチってどうやって当てるんだっけ?
0901nobodyさん
2009/09/05(土) 09:19:19ID:???0902nobodyさん
2009/09/05(土) 13:33:12ID:AlMjWjcWパッチを見て-の箇所はすべて消す。+の箇所は貼り付ける。
人間が手でやるのが一番確実だからきちんと手作業でやろう。
0904nobodyさん
2009/09/05(土) 22:13:08ID:???0905nobodyさん
2009/09/05(土) 23:01:18ID:WL9xF+Eh(新PCも旧PCも Windows 機)
何でもいいやって感じで適当にrubyインストールして、gemでraisインストールして…、
って感じで環境整えて、いざ開発中のアプリを動作させてみたら全く動作が遅いの。
Completed in 59313ms (View: 40359, DB: 18719) | 200 OK [http://localhost/...]
みたいな法外な速度でさ。
いろんな可能性を考えて、実行環境のバージョン変えたり、ベンチマーク取ったり、
OSを再インストールしたり…、とか3日ぐらい試行錯誤してたんだが、全く改善なし。
んで、ハードウェアに手をつける前に、ふと思いついて、"one-click ruby installer"でrubyを
インストールし直したら、一発で直ったよ…。
新PCで環境作るときに使ってたのは"ActiveScriptRuby"
理由はさっぱり分からないんだが、そういうことって有り得る?
0906nobodyさん
2009/09/05(土) 23:32:06ID:???http://74.125.153.132/search?q=cache:TX_nOz2k9hkJ:d.hatena.ne.jp/kusakari/+activescriptruby+%E9%80%9F%E5%BA%A6&cd=2&hl=ja&ct=clnk
ActiveScriptRuby すべてに問題があるわけじゃなさそうだな。失礼。
0907nobodyさん
2009/09/06(日) 06:53:37ID:???p72 は脆弱性の含まれる旧バージョンですので、実運用には利用しないようにしましょう。
arton さんが別途 p72 を置いてくれています。ActiveRuby-1.8.7-p72.msi
0908nobodyさん
2009/09/06(日) 10:54:10ID:???横からすまん。
後から変更される可能性の高いデータならテーブルで
管理するというのは分かるんだが、性別などその可能性
の低いものはモデルに定数として定義してしまってるな。
深い考えがあるわけではなく、感覚的に。
請負とかじゃなくて、自前で開発と運用してるので
プログラムに手をいれるのは比較的容易というのもある。
性別をテーブル(モデル?)にした場合、たとえば
女性のユーザーを検索するときはどんなふうに記述するの?
定数にした場合はこんな感じだよね:
User.find_by_sex(User.FEMALE)
0909nobodyさん
2009/09/06(日) 13:06:46ID:???ことがあったよ。事業譲渡を受けたサービス元が、会員の性別を管理
していなかった。でも、男が0で女が1と定数にしてたから、不明を
2なんて定義するのは影響が大きすぎるので、性別は0なんだけど、
会員IDがこのプリフィックスで始まるときは不明とみなす、っていう
処理を必要なところに入れる、汚らしい解決法を取った。
0910nobodyさん
2009/09/06(日) 13:28:59ID:???0911nobodyさん
2009/09/06(日) 13:36:19ID:???0912nobodyさん
2009/09/06(日) 13:55:42ID:2yjCPfLR0913nobodyさん
2009/09/06(日) 14:23:30ID:???本当だ。なんだこれ?
mswin32版のRuby 1.8.7-p160が遅すぎる件 - 那由多屋 開発日誌
http://d.hatena.ne.jp/nayutaya/20090601/1243848756
L'eclat des jours(2009-04-22)
http://www.artonx.org/diary/20090422.html
(コメ欄)
0914nobodyさん
2009/09/06(日) 14:29:31ID:???も結構いるのかな?
RoRのイメージって1,2人で1ヶ月開発ぐらいで
運用開始して、その後継続的にちょこちょこい
じっていくようなスタイルを想像してる。
0915nobodyさん
2009/09/06(日) 14:35:46ID:???これはまってれば2.2.3がリリースされるの?
皆さんはどうしてんの?
gemでインストールしてるんで直接パッチしたくないんだけど
いい方法ありますか?
アプリが複数ある場合はfreezeするときついし。
0916nobodyさん
2009/09/06(日) 17:16:02ID:???application_helperに置いて参照しようとしても、
uninitialized constant ActionView::Base::CompiledTemplates::DEFAULT_TEXT_AREA_WIDTH
みたいに言われるお…
0917nobodyさん
2009/09/06(日) 17:34:23ID:2yjCPfLRったくっ!
0918nobodyさん
2009/09/07(月) 07:26:47ID:???0919nobodyさん
2009/09/07(月) 09:33:12ID:???0921nobodyさん
2009/09/07(月) 14:22:34ID:???XSS Vulnerability in Ruby on Rails
==================================
There is a vulnerability in the escaping code for the form helpers in
Ruby on Rails. Attackers who can inject deliberately malformed unicode
strings into the form helpers can defeat the escaping checks and inject
arbitrary HTML.
0922nobodyさん
2009/09/07(月) 17:52:13ID:???お前らがRailsで作ったサイトにアクセスしたユーザから情報が盗まれたり
するってことだ
0923nobodyさん
2009/09/08(火) 02:30:57ID:hdImoFaT0924nobodyさん
2009/09/08(火) 07:07:52ID:???http://weblog.rubyonrails.org/2009/9/4/timing-weakness-in-ruby-on-rails
このパッチって git-am 形式ってものみたいだけど、これって Rails 本体を Git から落としてきてパッチ当てて、そのパッチ適用済み Rails と今動かしてるものを差し替え、みたいな事やらなきゃならないの??
誰か簡単な適用手順教えてくれ・・・。
0925nobodyさん
2009/09/08(火) 07:21:15ID:???リポジトリなしでも、git amコマンドで直接当てられないかな?わからんけど
gitスレで聞いた方がいいかも
0927nobodyさん
2009/09/08(火) 08:27:39ID:???0929nobodyさん
2009/09/08(火) 08:52:15ID:???ここのコメント欄良く読んでみたら
$ cd vendor/rails $ git apply <name-of-patch>
とか
cd vendor/rails patch -p1 < 2-2-CVE-2009-3009.patch
ってのが載ってるね。
試してみよ。
0931nobodyさん
2009/09/08(火) 10:30:13ID:???表示する文字が多いと線形に遅くなりそう。
0932nobodyさん
2009/09/08(火) 10:40:57ID:???どうすればいいのでしょうか。
link_to('ハウトゥス', '/howto.html')
http://myserver.examle.com/myapl/ のようにサブディレクトリ付きで
動作しているときの /myapl/ が付かないのです。
image_tag のように、この /myapl/ を付けるにはどうしたらいいんでしょうか。
0935nobodyさん
2009/09/08(火) 16:58:34ID:???$ suso gem update railsして、
$ rails -v
2.3.4
の状態で、
$ cd my_project
$ rake rails:update
$ grep RAILS_GEM_VERSION config/environment.rb
RAILS_GEM_VERSION = '2.3.2' unless defined? RAILS_GEM_VERSION
となっており、ruby script/serverでも2.3.2が立ち上がってしまいます…
どのようにしたものでしょうか?
環境 Ubunut 9.04(coLinux) Rails 2.3.2→2.3.4 Ruby 1.8.7
0936nobodyさん
2009/09/08(火) 17:24:08ID:???0937935
2009/09/08(火) 17:39:37ID:???config/environment.rbを
RAILS_GEM_VERSION = '2.3.4' unless defined? RAILS_GEM_VERSION
にして、
$ rake rails:update
したら、無事アップデートできました。
お騒がせいたしました。ありあgとごうざいmした。
0938nobodyさん
2009/09/08(火) 18:14:15ID:???Railsの開発で使用しているcoLinuxのcofsって、lockできない仕様?
ruby script/plugin install git://github.com/rails/acts_as_list.git
みたいなのが失敗する。以下、エラー
error: could not lock config file ~my_project/trunk/vendor/plugins/acts_as_list/.git/config
error: could not lock config file ~my_project/trunk/vendor/plugins/acts_as_list/.git/config
error: could not lock config file ~my_project/trunk/vendor/plugins/acts_as_list/.git/config
Initialized empty Git repository in ~my_project/trunk/vendor/plugins/acts_as_list/.git/
fatal: Not a git repository
Windows側でcygwinから使うと問題ないからまあいいんだけど。
0940nobodyさん
2009/09/09(水) 04:19:37ID:???最近railsの話題追ってなくて…
開発は順調なのでしょうか
0942nobodyさん
2009/09/09(水) 13:37:24ID:???調べてみた。
普通に動いてビックリ。
さて、JRubyとdRubyとの相性はどんなもんかのう...
0943nobodyさん
2009/09/09(水) 13:48:31ID:???rubyな帳票印刷ライブラリってのはないから
Javaなライブラリ使うためのJRubyonRailってこと?
0944nobodyさん
2009/09/09(水) 15:05:38ID:???Yes.
Rubyでなんかいいのある?
dRuby次第ではJVMのバックグランドプロセスににdRuby経由でPDF生成タスクを
投げて、アプリ自体はCRubyなRailsでいいかもとか夢想してるけど...
0945nobodyさん
2009/09/09(水) 20:29:44ID:d2cRtkfX「Ruby Printing Service」なんてのもある
0946nobodyさん
2009/09/09(水) 22:01:28ID:???似たようなことをやったけど、普通に使えます。
JRrubyからPOIを使ってExcelのワークブックを作る処理をdRubyのメソッドにして、CRubyのRailsから呼び出してます。
各セルの中身や装飾なんかは、配列やハッシュに数値や文字列を納めて、パラメータとして渡して、出来上がった
ワークブックのバイナリイメージを戻り値にして、クライアントにダウンロードさせています。
拡張ライブラリのオブジェクトは試してみてないですが、基本的なオブジェクトは普通にやりとりできてますよ。
0947nobodyさん
2009/09/09(水) 22:41:01ID:???YAMLが微妙でてをひいたよ
0948nobodyさん
2009/09/09(水) 23:07:44ID:???0949nobodyさん
2009/09/10(木) 14:40:06ID:ciwTQ8pm既存のテスト結果に続けて
Loaded suite /usr/bin/rake
Started
Finished in 0.000451 seconds.
0 tests, 0 assertions, 0 failures, 0 errors
と出るようになったのですが、これは何をしようとしてるんでしょうか?
0950nobodyさん
2009/09/10(木) 17:17:08ID:???テストを実行して 0.000451秒以内に終了して、テストもアサートも失敗もエラーも1個もなかったよっていってるみたい
0952nobodyさん
2009/09/10(木) 17:35:35ID:???RailsのDraggableでtableのtrってドラッグアンドドロップできないもんでしょうか?
これとか、
#3955 (drag and drop <tr> in <table>) - Rails Trac - Trac
http://dev.rubyonrails.org/ticket/3955
[Rails-spinoffs] scriptaculous: Draggable and table rows
http://lists.rubyonrails.org/pipermail/rails-spinoffs/2005-August/000567.html
結局だめで、
<div>つかえとか、<li>にしろとか、あります。
何か代替する方法ってないもんでしょうかね?
tableみたいな表レイアウトをdivでできるのかな…
0954nobodyさん
2009/09/12(土) 00:07:14ID:???出来ない。というかキレイな方法はない。
jQuery つかえ。
0955nobodyさん
2009/09/12(土) 00:13:30ID:???Railsのサブセットにprototype.jsがあるんだからこっち使ったほうが良さそうなのに。
0956nobodyさん
2009/09/12(土) 00:18:34ID:???0957nobodyさん
2009/09/12(土) 00:29:09ID:???0958nobodyさん
2009/09/12(土) 03:29:52ID:???数行で書けるそうだよ、使ったこと無いけど。
0959nobodyさん
2009/09/12(土) 07:16:40ID:???プラグイン含めてライブラリの数が違いすぎる
0960nobodyさん
2009/09/12(土) 08:32:20ID:???0961nobodyさん
2009/09/12(土) 09:02:14ID:???0962nobodyさん
2009/09/12(土) 09:48:52ID:???0963nobodyさん
2009/09/12(土) 14:19:17ID:???社内システムを拡張しようとした場合、ユーザーマスタは新規で作れないのよね…。
使おうと考えているプラグインはrestful-authentication。
今思いついた解決策は、restful-authenticationに適合するような形の
ユーザマスタへのView(DB上のほう)を作ること。
ただしrestful〜って、パスワードを暗号化してある前提で組まれてるんだよね。
現行のユーザマスタはたぶん暗号化されてないので、どうしようかまよってる。
どうしようかねぇ〜。
0964nobodyさん
2009/09/12(土) 14:31:39ID:???0966nobodyさん
2009/09/12(土) 14:44:59ID:???0967nobodyさん
2009/09/12(土) 15:26:44ID:???行うってことになるんじゃないの?
0968nobodyさん
2009/09/12(土) 18:43:39ID:???0969nobodyさん
2009/09/12(土) 19:46:39ID:???authenticated?メソッドを書き換えればいける…。
(ちなみにユーザマスタはoracle、他はmysqlなんて構造でもいけた。)
>>963で言いたかったこと↓
システムごとにユーザマスタを個別に持ちたくない。
社内システムはphpのもあるしstrutsのもあるしvb.netのもある。
んで、それらのシステムは同じユーザマスタを利用してる。
ユーザマスタに1ユーザ追加すれば、php(のシステム)でもstrutsでもvb.netでも
そのユーザが使える。(ログインに関するロジックは各システムで個別に持ってる。)
で、新規に追加するrailsのシステムもそのユーザマスタを使いたいと…。
restful-authenticationで認証関係を組むと楽なんだけど、社内共通のユーザマスタの構造と
restful-authenticationが想定してるユーザマスタの構造が違うからどうしよっかなぁと。
>>966
それをすると今動いてるシステムの改修が発生して、一番工数が多くなる。
0970nobodyさん
2009/09/12(土) 19:56:48ID:???0971nobodyさん
2009/09/12(土) 20:03:48ID:???0972nobodyさん
2009/09/12(土) 23:02:56ID:???0973nobodyさん
2009/09/13(日) 03:49:05ID:???パスワードが無ければ、既存システムから拾って来て暗号化して格納して、そっちを参照するぐらいが現実的だろうな。
apache側でldap認証でいいじゃんと思うが。
0974nobodyさん
2009/09/13(日) 03:56:09ID:???0975nobodyさん
2009/09/13(日) 06:12:48ID:???新しいもの好きでRails始めたのに今じゃ新しい要素0
0976nobodyさん
2009/09/13(日) 06:38:16ID:???0977nobodyさん
2009/09/13(日) 08:44:00ID:???0978nobodyさん
2009/09/13(日) 08:49:40ID:???http://brass.to/blog/rails-2-3-4%e3%81%a7%e8%bf%bd%e5%8a%a0%e3%81%95%e3%82%8c%e3%81%9fseeds-rb%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6.html
migrationに初期データ追加処理かかずに、db/seeds.rbにかけってさ。
0979nobodyさん
2009/09/13(日) 09:51:07ID:???0980nobodyさん
2009/09/13(日) 17:10:25ID:???おれも。
Pragmatic の英語版の第三版を入手しようと思ったが、
第三版は Rails 2系の内容になっているけど、もうすぐ Rails 3 が出るんだよね。
0981nobodyさん
2009/09/13(日) 17:18:32ID:???0982nobodyさん
2009/09/13(日) 17:38:09ID:???今年の前半では、Rails 3(Merb との統合)は夏頃には出るとか言われていたけど、
今年いっぱいは出ないかも。
0984983
2009/09/13(日) 18:15:45ID:???テーブルごとに初期データ設定のタスクを作って依存関係を設定した方がいいや
0985nobodyさん
2009/09/13(日) 18:24:51ID:???俺もそのやり方でサンプルいじりながら勉強した
その後はすぐに最新版に切り替えて 1.26 との差分をネットやレシピブックで
補うという感じ
アジャイル開発の第三版欲しいけど
今すぐ英語版買うか、翻訳版が出るのを待つか悩み中
0986nobodyさん
2009/09/13(日) 18:34:56ID:???差分で習得できそうな人は2で始める。
0987nobodyさん
2009/09/13(日) 18:47:28ID:???0988nobodyさん
2009/09/13(日) 18:57:38ID:???0990nobodyさん
2009/09/13(日) 19:42:42ID:???時間をかければ可能だろうが、効率的なやり方ではない。
どういう機能があるのかを系統立てて知るには書籍が一番手っ取り早い。
0991nobodyさん
2009/09/13(日) 19:49:32ID:???読みたい *.rb がどこにあるのかよくわからん
ソースは GEM の下にあるのは find でみつけたけど
Rails コードリーディングみたいなサイトないかな
0993991
2009/09/13(日) 20:07:32ID:???ありがとう
いまは、エラーが出たら、そのクラス名で find と grep で結局たどっています。
Java と違い、Ruby はクラス名とファイル名が 1:1 ではないので、
Java から来た人間だと、どうもおっかけにくい。
地道に追っかけることにします。
コントローラから view への渡し方でどんなことが出来るかを調べたくて、
render.rb はだいぶ読み込んだが・・・
0994nobodyさん
2009/09/13(日) 20:10:09ID:???0995nobodyさん
2009/09/13(日) 20:20:12ID:???private なメソッドまであれで見られるようになればソースブラウザとして
かなり便利なものになるだろうな
と思って man 見たら --all というオプションを発見してしまった
0996991
2009/09/13(日) 20:28:22ID:???ローカルで使っている Rails が必ずしも最新版とは限らないので、
やり方は忘れてしまったが、ローカルで Rails で空の App をつくって、
そこから rdoc(?) 作らせて、それを見ている。
でもソースを直接見たいときもある。
>>995
> 確かに rdoc の View Source は素晴らしい
これは私もそう思う。
Javadoc も取り入れれば、と思った。
0997nobodyさん
2009/09/13(日) 20:37:52ID:???あるとしたらたぶん、メソッドの定義が下手なんだと思う。
0998991
2009/09/13(日) 20:41:25ID:???いや、Java に限らず、そのメソッドの内部で何が行われているか
知りたいことがあるから、API を見ることとソースを見ることは別だと思います。
1000 が近いので、スレ立ててみますね。
テンプレは >>1-2 を使用します
0999nobodyさん
2009/09/13(日) 20:48:07ID:???ha?
1000nobodyさん
2009/09/13(日) 20:49:46ID:???10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。