トップページphp
1001コメント336KB

【Ruby】Ruby on Rails Part6

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2008/10/24(金) 17:46:53ID:???
■前 Ruby on Rails のスレ が
http://pc11.2ch.net/test/read.cgi/php/1207425569/

■参考サイト
<英語>
本家: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 33
http://pc11.2ch.net/test/read.cgi/tech/1223709050/
Ruby 初心者スレッド Part 22
http://pc11.2ch.net/test/read.cgi/tech/1221467121/
0281nobodyさん2009/01/30(金) 01:35:42ID:???
>>279
エラーに原因書いてあるじゃまいかw
0282nobodyさん2009/01/30(金) 01:38:34ID:???
>>280
漏れはそれでRadiant使うの諦めてDrupalにした。
0283nobodyさん2009/01/30(金) 03:02:59ID:???
mod_rails使ってみたんだが
静的コンテンツ(画像やらcssやらfavicon)が読めない。
BaseURI使って複数プロジェクト上げるとダメ。

BaseURI使わなければ問題無し。
mongrelだと問題無し。


いくつか外人サイトでも上がってるようだが
.htaccessを消すとかmod_rewriteを使うなとか
試してみたがダメ。

誰か分かる?
02842832009/01/30(金) 03:05:47ID:???
ruby1.8.6
rails 2.1.2
0285nobodyさん2009/01/30(金) 03:08:21ID:???
>>283>>279か?
こんな辺境で聞くよりさくらのスレで聞いた方が解決すると思うよ。
0286nobodyさん2009/01/30(金) 03:11:29ID:???
>>277

出力されるXMLです。

ちょうどよいサンプルが見つかりました。
gems\actionpack-2.2.2\test\controller\mime_responds_test.rb
0287nobodyさん2009/01/30(金) 06:17:33ID:???
>>279
レンサバの社名だけじゃなくプランも書くべきじゃね?
レンサバはプランで環境変わってくるし、本気で聞きたいなら言うべきだね。

Rails突っ込むくらいだしスタンダード以上のプランだと思うけど
出てるエラーの通りそこを修正したら多分動くはず。

プラン違うと思うから参考にならんかもしれんけど
もしもの時ように契約だけして一年以上放置してた
さくらの専用サーバにてさっきRails動作したから一応報告。
0288nobodyさん2009/01/30(金) 09:26:02ID:???
便乗ですみませんが
さくらの専用サーバーとやらでdjangoも動きますか?
0289nobodyさん2009/01/30(金) 23:43:11ID:LFWFBeOw
専用サーバってroot権もらえてSSHでリモートログインできるやつ?
それならスキル次第で動くんじゃない?
02902832009/01/31(土) 00:21:50ID:???
279じゃないです。ここは辺境の地ですか。残念。
0291nobodyさん2009/01/31(土) 01:39:16ID:???
SSHのリモートログインなら専用サーバでなくてもスタンダード以上のプランならできるだろ
0292nobodyさん2009/01/31(土) 04:38:35ID:???
Ruby1.9.1キタ━━━━━━(゚∀゚)━━━━━━!!
02931632009/01/31(土) 08:20:00ID:+94In4wf
>> 皆様
解決しました。ご意見ありがとうございました。

環境:
 さくら スタンダードプラン

症状:
 最初の「Welcome aboard」ページにて
 About your application’s environment をクリックすると
 no such file to load -- sqlite3  が出る

対応:
 sqlite3-rubyがないので入れる
 
 1)失敗 root権限で入れようとした様子
 gem18 install sqlite3-ruby -- --with-sqlite3-include=$HOME/include --with-sqlite3-lib=$HOME/lib

    chown/chgrp: Operation not permitted
    *** Error code 71
 
 2)成功
 setenv RB_USER_INSTALL true
gem18 install sqlite3-ruby -- --with-sqlite3-include=$HOME/include --with-sqlite3-lib=$HOME/lib

参考URL:
tp://blog.proj.jp/ituki/20090107.html

ようやくこれで作成に入れます!!!
うれしい!!
0294nobodyさん2009/01/31(土) 08:24:48ID:???
だから出ているエラーの通りだっただろw
動作おめでとう☆
次からは出ているエラーをきちんと嫁よ
0295nobodyさん2009/02/02(月) 22:35:12ID:???
rails 1.2.3 + Mysqlで開発中なんですが
activemailerを使って
データベースに保存されているファイルを添付して
メールを送信する方法を知っている人おられませんか?
現在のソース書きます。
urlを直接打つとダウンロードできますし、メールも添付ファイルがなければ送れます。
1週間ぐらい悩んでまして・・・誰か助けてください・・・

class TestMailer < ActionMailer::Base

def report(receiver)
@subject = '写真の送信'
@body["receiver"] = receiver
@recipients = 'hoge@hoge.com'
@from = 'hoge@hoge.com'
attachment :content_type => "image/jpeg",
:body => File.read('http://localhost:3000/pics/file/1/test.jpeg')
@sent_on = Time.now
@headers = {}
end
end
0296nobodyさん2009/02/02(月) 22:55:44ID:???
File.readでURLの参照先が読めるの?

# require 'open-uri'

:body => open(URL) {|input| input.read }
とかじゃなく?
0297nobodyさん2009/02/02(月) 22:58:53ID:???
localhost:3000なのか。

pics/以下が何らかのアクションを呼ぶものではなくpublic_html以下のファイル実体なら、
File.read(File.join(RAILS_ROOT, 'pics/file/1/test.jpeg'))
で読めると思う。
0298nobodyさん2009/02/03(火) 17:31:55ID:XJb6VJd0
ファイルアップロード時にプログレスバーで経過を見せたいのですが
皆さんどうやって実現していますか?
0299nobodyさん2009/02/03(火) 18:05:07ID:???
それをrailsだけでやるの?
03002982009/02/03(火) 18:17:26ID:XJb6VJd0
>>299
javascript等、必要であれば
0301nobodyさん2009/02/04(水) 00:13:34ID:???
昔調べた時に、たしかlighttpdではできたような。
うちはmongrelだったのでその時はあきらめた。
もしかしたら、今ならそういうライブラリあるかも。

例えばjQueryの jquery.ajax_upload でonSubmitの時に
読み込み中の画像を出すみたいな事はできると思う。
プログレスバーは難しいだろうけど。

いっそのことFlash使うという手もあるかと。
0302nobodyさん2009/02/04(水) 00:15:59ID:???
流行ってるからって何でもかんでもFlash薦めれば良い問題でもない
0303nobodyさん2009/02/04(水) 00:31:09ID:???
Flashでサーバ問わずに手軽に実現できるならそれでも良いんじゃないのかな
0304nobodyさん2009/02/04(水) 00:35:00ID:???
お手軽さを求めるなら有りだと思う
0305nobodyさん2009/02/04(水) 01:11:03ID:???
んでFLASHで何をどうしたら簡単に実現できるんですか?
0306nobodyさん2009/02/04(水) 04:45:19ID:???
>>299 はさりげなくスレ違いを指摘してんじゃないの?
0307nobodyさん2009/02/04(水) 04:51:16ID:???
確かにRails以外の話はスレ違いだな>>305
0308nobodyさん2009/02/04(水) 09:04:49ID:???
>>305
まずサーバーにうpする部分とプログレス表示の部分を分ける
サーバーにうpは普通にうp
プログレス表示の部分はFLASHでサーバーにうp途中の
ファイルサイズを問い合わせしつつ%表示
簡単かどうかは知らん
0309nobodyさん2009/02/04(水) 16:15:25ID:vZ1IhzmW
スレ違い
0310nobodyさん2009/02/04(水) 16:32:55ID:jYgE8dre
Rails2.3リリースノート訳
ttp://webtama.jp/series/railstips/articles/31
0311nobodyさん2009/02/04(水) 23:39:49ID:???
なるほど
ありがとうございました
0312nobodyさん2009/02/04(水) 23:50:06ID:???
2.3正式版きたんだな
0313nobodyさん2009/02/05(木) 00:54:46ID:???
Rubyの1.9.1に対応させてきたな
0314nobodyさん2009/02/05(木) 01:09:21ID:???
入れてみるか。この前1.9.1と2.2.2の組み合わせで撃沈したから。
0315nobodyさん2009/02/05(木) 03:31:27ID:???
CMS on Rails(?)って、定番はrubricksかRadiantなのかな?
やりたいことのほとんどは典型的なCMS機能でカバーできて、特殊機能を独自にPluginのように開発しようと考えているんだけど
0316nobodyさん2009/02/05(木) 04:18:48ID:???
>>312
RC1のリリースノートだよ。
0317nobodyさん2009/02/06(金) 21:47:33ID:???
再開発じゃなくて再発明だが、四角いはまた意味がちょっと違うけどな
0318nobodyさん2009/02/06(金) 23:22:48ID:???
Railsで生成した画像やCSSなどのURLに?1233545454のようなものが付与されますおね
あれは何の意味があるのでしょうか?
0319nobodyさん2009/02/06(金) 23:35:41ID:???
Railsに限らずキャッシュを読み込まないための方法だよ
ファイルを更新したら、?1233545454などのお尻の値も更新する
そうすることで更新されたファイルをちゃんと読み込むようになります
0320nobodyさん2009/02/06(金) 23:57:24ID:???
いやがらせですね
わかります
0321nobodyさん2009/02/07(土) 01:14:41ID:???
ファイルを更新したら変えるの?ランダムかと思ってた。
0322nobodyさん2009/02/07(土) 01:43:03ID:???
Railsのデフォルトではタイムスタンプだよ。
0323nobodyさん2009/02/07(土) 02:00:36ID:???
なるほど
ありがとうございました
0324nobodyさん2009/02/07(土) 09:56:50ID:???
config/environments/以下やinitializers以下などで
ENV['RAILS_ASSET_ID'] = '' #空文字列にセット
としておくと付かなくなる。

03253182009/02/07(土) 12:36:51ID:???
勉強になりました!ありがとうございます。
確かにpublic内の画像等を更新した場合はasset_id(?)が変わりますね

asset_hostを指定してpublic内の静的ファイルを他サーバーから配信している場合、
ファイルを更新してもasset_idは変わりませんでした
0326nobodyさん2009/02/08(日) 11:42:40ID:???
xreaではまだ使えるのに、coreserverでfastcgiが使えなくなったな。
まぁリソース食いまくるからしょうがないんだろうが…
0327nobodyさん2009/02/11(水) 01:00:58ID:???
Railsの簡単なリファクタリング方法教えてくれ
0328nobodyさん2009/02/11(水) 02:58:01ID:???
ユニークじゃない処理をPickUp

ライブラリorプラグインを探す
|↓ない
|最初に戻る
↓ある
置換える

テスト
0329nobodyさん2009/02/11(水) 10:50:42ID:???
Railsなら最初にテストを記述じゃないの?直すたびに手動でテストはめんどいよ
0330nobodyさん2009/02/11(水) 11:12:12ID:???
>>329
同意。
標準のTestUnitではなくて、最近はRSpecのほうが流行りなのかね。
あ、でも仕事の場合、テスト仕様書とテスト結果表をエクセルで
書かないと納品物として認めない客が多いので、
Railsのテスト(TestUnit/RSpec)に加えて、手動テストが必要だよね。
0331nobodyさん2009/02/11(水) 11:49:55ID:???
つまりRSpecの出力フォーマットにエクセル(つーかCSVでいいや)を追加すれば……
0332nobodyさん2009/02/11(水) 11:54:18ID:???
おー。なるほどね
線引いたり、フォントとかの体裁はVBAでがんばればいけるかな?
0333nobodyさん2009/02/11(水) 12:58:05ID:???
Rspecっていいのけ?使ったことないのだが。

ttp://jp.rubyist.net/magazine/?0021-Rspec

を見てみたのだがイマイチ利点がわからん。

----- RSpec とは何か ------------------------------
RSpec とは、公式サイトの説明によれば、
「プログラムの振舞 (behaviour)」を記述するためのドメイン特化言語
(DomainSpecific Language:DSL) を提供するフレームワーク」です。
--------------------------------------------------

これはよく分かった

----- なぜ、RSpec なのか --------------------------
では、なぜ Test::Unit ではなく、RSpec を選ぶのでしょうか。
冒頭の FAQ を再び。 「RSpec って、要は Test::Unit でやっていることを別の書き方にしただけでは?」
――確かにその通りなのですが、その「書き方」が重要だというのが私たちの思いでした。
--------------------------------------------------

なるほどと思った。ところがこのあと、テスト駆動開発の説明が続いて、

--------------------------------------------------
Rspec の狙いはプログラマにテストコードが設計であることを明確に意識させることと、
プログラマがテストコードをスムースに記述し実行できるようになることです。
--------------------------------------------------

みたいな結論になってるのだが、あまり具体性がなくてピンとこない。
だれかわかりやすい利点を具体的にいくつか教えてくれるとうれしいのだが。
ほかにもいくつかサイトを参考にしたのだが、記述方法メインがほとんどだった。
0334nobodyさん2009/02/11(水) 13:31:54ID:???
RSpecって、ちょっとさわった程度なんだけど
英語っぽいから、英語圏の人がありがたがる気持ちはわからんでもない

日本人の自分としては?だけどね
使い込むといろいろ便利なのかね?
0335nobodyさん2009/02/11(水) 13:36:31ID:???
>>333
自分的にはテストの表示結果が非常に分かりやすいのが気に入ってる。
TestUnitではどのメソッドが成功した、失敗したというのは分かるんだけど、
それぞれが何のテストなのかが分かりにくい。
RSpecだと、
ttp://jp.rubyist.net/magazine/?c=plugin;plugin=attach_download;p=0021-Rspec;file_name=capture9.png
こういう感じになるので、分かりやすいなと。
でも、それだけなのでTest::Unit使ってる人は無理にRSpec覚えなくていいと思ってる。

0336nobodyさん2009/02/11(水) 13:42:46ID:???
>>335
なるほど、サンクス。利点の一つがわかった。

DSLは便利なのだが、いくらRubyベースとはいえ何個も覚えたくなかったりする。
もっと利点が挙がってきて魅力を感じるようになったら勉強するよ。
0337nobodyさん2009/02/11(水) 14:40:35ID:???
BDDって何だろ,って思って勉強しながら使ってたら
いつの間にかTest::Unitよりもなんとなくしっくり来て(慣れたからだと思うけど)使ってる

結局概念的にはあんま理解してないと思うけど,TDDの発展形らしいのでとりあえず満足してる
0338nobodyさん2009/02/11(水) 16:55:40ID:???
shoulda
0339nobodyさん2009/02/11(水) 16:57:54ID:???
SVNにコミットしたら自動で全部テストして
エラーが起きたらメールで通知
rspec&autotestおいしいです^q^

所で宍道湖つかってる人いる?
0340nobodyさん2009/02/11(水) 17:02:11ID:???
しめじ
0341nobodyさん2009/02/11(水) 17:04:17ID:???
しじみじゃないのか?
0342nobodyさん2009/02/11(水) 20:05:42ID:???
テストはSeleniumでするものです
0343nobodyさん2009/02/11(水) 21:45:57ID:???
仕事でやってるけど、テストはRSpecで行った。
やっぱり自動テストできると仕様変更の際とても楽。
色付けて、色で判別できるのも良い。
あと it "日本語" do みたいに書けるので、
テスト走らせた時に半分仕様書っぽく見えるのがgood。

それでもAjaxが絡む部分とかはテストできないので
地道に手動テストしてエビデンスをExcelに貼付けるとかは行った。
0344nobodyさん2009/02/11(水) 21:57:14ID:???
いくら自動テストしているからと言っても
お客さんにはそれが見えないので、書類として出せるものは必要。
結局Excel登場な訳です。
0345nobodyさん2009/02/11(水) 22:35:03ID:???
>>343
>それでもAjaxが絡む部分とかはテストできないので
RSpecなんか使ってるからだよ
0346nobodyさん2009/02/11(水) 23:28:18ID:???
Ajax部分は、まぁSeleniumとかの担当になるだろうなぁ。
あと、CIでやるテストと、納品に必要なテストは違うよね。
0347nobodyさん2009/02/11(水) 23:29:01ID:???
CI=Continuous Integrationね、一応。
0348nobodyさん2009/02/12(木) 00:47:34ID:???
>>339-341
わろす
0349nobodyさん2009/02/12(木) 02:02:30ID:???
テストは客のためじゃなくて自分のためにするもんだけどな
0350nobodyさん2009/02/12(木) 02:16:23ID:???
客に提出するためのテスト資料ってわりといい加減なことが多い気がする
提出したあとにプログラムを変えて、テストは思いっきりおろそかとか

で、客の信頼を失ってテスト資料の提出をせまられる
0351nobodyさん2009/02/12(木) 02:21:07ID:???
テストを記述&テスト

ユニークじゃない処理をPickUp

ライブラリorプラグインを探す
|ある ↓ない
|   ライブラリorプラグインを作る
|   ↓作った     ↓作らない
|   テスト記述を追加 最初に戻る
↓  ←こっち
置換える

最初に戻る
0352nobodyさん2009/02/12(木) 02:27:13ID:???
実際にはあんまみんな自動テストしてないんだろうなと思ってる
どうせ最低限手動テストも必要だしね

このスレに来るような層だとおもしろがってRuby使ってる人が多いだろうし,使ってるだろうけど
0353nobodyさん2009/02/12(木) 21:19:15ID:???
自動テストは開発中(特に中盤)の安心感を買うのであって、納品するためのテストとは違うと思た
末にバタバタするとメンテする暇ないしね・・・
特にしょうもないところまで厳密に書いてたりすると修正だけで結構な手間がかかるので
カバレッジ100%とか無意味に目指すのはやめたw
0354nobodyさん2009/02/12(木) 22:34:51ID:???
つーかエクセルでテスト結果なんて出されても見ねーよ
0355nobodyさん2009/02/13(金) 08:05:11ID:???
テストツールスレからきますた
0356nobodyさん2009/02/13(金) 08:09:32ID:???
BDDとTDDの違いがよーわからんす
振る舞い定義開発と、テスト先に書く開発だよね?
結果的にやってること一緒なきがするんだけど
考え方の違いなんかな?

前にるびまの記事(rSpecのかな?)よんだけど、しっくりこない。
参考までに>>337のしっくり来た理由を教えて欲しい

rSpec自体は見やすいとか、利点あるけどさ・・・
0357nobodyさん2009/02/13(金) 08:50:59ID:CNLHag3h
書き方が違うだけでやってる事は同じだよ。
しかし書き方の違いが重要である事をRuby使いはよく理解している。
0358nobodyさん2009/02/14(土) 03:53:52ID:???
理解しているというより、無駄に拘ってる感じだな
0359nobodyさん2009/02/14(土) 10:39:26ID:???
migrationが微妙
0360nobodyさん2009/02/14(土) 11:26:37ID:???
>>359
俺的にはmigration最高だけどな。
微妙っていうなら、migrationよりいい方法知ってるんだよな?
ぜひ教えてくれ。
0361nobodyさん2009/02/14(土) 11:45:02ID:???
ガキっぽw
0362nobodyさん2009/02/14(土) 12:14:03ID:11KlnFuU
結局答えられないんだなw
>>360
かわいそうだからスルーしてやれよ
0363nobodyさん2009/02/14(土) 12:48:24ID:???
痛すぎw
0364nobodyさん2009/02/14(土) 15:42:48ID:???
なんで小学生がこんなスレに居るの?
0365nobodyさん2009/02/14(土) 16:36:41ID:???
359だが、なんか面白い展開になってるなwww
0366nobodyさん2009/02/14(土) 18:39:26ID:???
359=361=363=365はmigrationがわかってない小学生でおk?
0367nobodyさん2009/02/14(土) 22:06:07ID:???
>>360
Merbのauto-migrateは便利だぜ。
いちいちMigration書くのが馬鹿らしくなる。
0368nobodyさん2009/02/14(土) 22:18:26ID:???
商用DBでmigrate使ってるやついる?spliteくらいならいいのだが商用はつらい
0369nobodyさん2009/02/14(土) 23:07:59ID:???
商用はないなあ。SQLite、MySQL、PostgreSQL だけだ。
0370nobodyさん2009/02/15(日) 00:37:51ID:???
だよな。Oracleあたりだと単に表と言っても何種類もあるし、設定する項目も多い。
結局DBは前もって作ってるわ。
0371nobodyさん2009/02/15(日) 01:14:35ID:7eK2Kd0p
自分の仕事の範囲だとPostgreSQLとMySQLしかないからmigration便利に使ってるけど、オラクルは事情違うんだね。初めて知ったわ。
0372nobodyさん2009/02/15(日) 03:43:48ID:???
>>366
そっちじゃないw

小学生は>>360
0373nobodyさん2009/02/15(日) 04:30:52ID:???
>>368
spliteってひょっとしてsqliteのこと?
0374nobodyさん2009/02/15(日) 04:46:33ID:???
>>371
違う違う。
多分あなたの仕事の範囲ならOracleでも問題ないわ。
商用非商用じゃなくて、単にそれぞれのDBの機能活用してないだけ。
MysqlでもInnoDBでちょっと凝ったことやろうとするとmigrationじゃとてもとても…
0375nobodyさん2009/02/15(日) 04:54:38ID:???
>>373
間違えたw
「splits」って名前のテーブルをいじってたからかな?w
0376nobodyさん2009/02/15(日) 05:02:15ID:???
>>374
どんな高度なことがしたいのか知らんけど、executeメソッドでSQL実行すればええやん。
0377nobodyさん2009/02/15(日) 09:00:19ID:BATHKwrT
>>376
create table のオプション見てみれば、わかると思うよ
設定できる項目の数が全然違うから
#当然そのあたりを考えて設計するわけだが
0378nobodyさん2009/02/15(日) 12:37:05ID:???
create tableのオプションは見てないけどexecuteではダメってこと?
Railsで対応してないSQL実行したいときは,executeとかつかって自分でメソッド用意するもんだと思ってたけど
0379nobodyさん2009/02/15(日) 17:40:18ID:???
>>378
もう許してやれよ
おおかた入門本だけ読んで全てを知った気になっちゃった痛い香具師なんだろ
03803682009/02/15(日) 20:46:08ID:???
railsでやろうと思えばできるんだろうけど、手間がかかりすぎて実用的じゃないような。
オラクルだとおれはDBで分けるんじゃなくてスキーマで分けてるけど、
開発用にでかい領域なんて割り当てないから定義自体が変わってくるし。
DBオブジェクトの定義だけでも軽くSQLで数千行いくし、ストアドプロシージャあたりもrailsで管理とかきつい。
■ このスレッドは過去ログ倉庫に格納されています