【Ruby】Ruby on Rails Part6
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/10/24(金) 17:46:53ID:???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/
0251nobodyさん
2009/01/17(土) 06:54:26ID:J8ZBiU3+終わったら戻す
0252nobodyさん
2009/01/17(土) 11:13:36ID:???0253nobodyさん
2009/01/17(土) 14:32:08ID:???とか。
0254nobodyさん
2009/01/20(火) 01:13:51ID:???・気にせず使う
・強引に名前を考える
0255nobodyさん
2009/01/20(火) 05:27:16ID:???0256nobodyさん
2009/01/20(火) 05:36:20ID:???0257nobodyさん
2009/01/20(火) 05:49:19ID:???passengerで複数サイト稼働させていてメモリのやりくりが大変です
>>254
_idは外部キーのみ使った方が確実かと
自分ならアンダーバー無しにします。見づらそうだけど
0258nobodyさん
2009/01/20(火) 23:18:05ID:???0259nobodyさん
2009/01/23(金) 18:19:19ID:ZhfLwxbKclass A < ActiveRecord::Base
end
class B < ActiveRecord::Base
end
class AChild < A
def get_b
B.find(1)
end
end
とした際に,get_bにてエラーがでます.
どうやら,find時にClass名がBではなくA::Bとなってしまうのですが,解消する方法はないでしょうか.
そもそも,AChildeでBをfindすることは良くないのでしょうか?
0260nobodyさん
2009/01/23(金) 22:09:16ID:ZhfLwxbKserverの再起動で自己解決しました
スレ汚し申し訳ない
0261nobodyさん
2009/01/23(金) 22:31:26ID:BmccCjRs>250
0262261
2009/01/23(金) 22:33:26ID:BmccCjRs/dev/nullとかにくわせたらだめかね?
0263nobodyさん
2009/01/24(土) 02:11:00ID:???そういうのは普通に HTML で書いちゃうのがオススメ。
%p.p1
hogehoge <acronym title="Cascading Style Sheets">CSS</acronym>.
0264nobodyさん
2009/01/25(日) 21:35:46ID:???<%= link_to 'Back', users_path %>
というのがあるんですが、このusers_pathってどこで定義されてるんですか?
0265nobodyさん
2009/01/25(日) 22:34:43ID:???そっか、細かいところまで無理してhamlで書く必要はないわけね
ビューの可読性があがればいいわけで、考えてみれば当然か
thx
>>264
名前付きroute
ルーティング関係のモジュールのどこか
<コントローラ名>_path という命名規則だから、users_path自体が定義されているわけではないと思う
0266nobodyさん
2009/01/26(月) 01:13:43ID:???map.resources :users
って書いてあるはず。
$ rake routes
で確認できる。
_path とか _url とかが使えるようになってる。
0267nobodyさん
2009/01/26(月) 02:34:36ID:???>どうやら,find時にClass名がBではなくA::Bとなってしまうのですが,解消する方法はないでしょうか.
def get_b
::B.find(1)
end
としてはどうか。しらんけど。
0268nobodyさん
2009/01/26(月) 04:28:17ID:???別解
%p.p1
hogehoge
= succeed '.' do
%acronym{:title => 'Cascading Style Sheets'} CSS
0269268
2009/01/26(月) 04:29:11ID:???0270nobodyさん
2009/01/26(月) 05:57:27ID:???0271nobodyさん
2009/01/27(火) 17:28:09ID:???何か良い方法ありますか?
<table id='sort1' border="1">
<tbody id='item_1'>
<tr><td>aaaaaa</td></tr>
</tbody>
<tbody id='item_2'>
<tr><td>bbbbbb</td></tr>
</tbody>
<tbody id='item_3'>
<tr><td>cccccc</td></tr>
</tbody>
</table>
<table id='sort2' border="1">
<tbody id='item_4'>
<tr><td>dddddd</td></tr>
</tbody>
<tbody id='item_5'>
<tr><td>eeeeee</td></tr>
</tbody>
<tbody id='item_6'>
<tr><td>ffffff</td></tr>
</tbody>
</table>
<%= sortable_element( 'sort1', :url => { :action => :sort_update }, :tag => "tbody", :containment=>['sort1','sort2'], :dropOnEmpty=>true) %>
<%= sortable_element( 'sort2', :url => { :action => :sort_update }, :tag => "tbody", :containment=>['sort1','sort2'], :dropOnEmpty=>true) %>
0272nobodyさん
2009/01/27(火) 20:49:25ID:???User.create :name => 'user_1', :age => 10
などとして値を指定してデータ作成できますが、以下でプライマリキーを指定しての作成ができません。
User.create :id => 10
プライマリキーを指定してデータを作成するにはどうしたらいいでしょうか?
0273nobodyさん
2009/01/27(火) 21:36:42ID:???プライマリキー(id)はと、STI型名(type)は、デフォルトで
「まとめて初期化」(attr_protectedとかで制御するやつね)の対象から除外されている。
active_record/base.rb のattribute_protected_by_default 参照。
簡単に対処するには、
1. とりあえずnewで作成
2. idだけ個別に代入
3. save
かな。
0274nobodyさん
2009/01/27(火) 23:39:28ID:???format.render :xml => Model.to_xml
としてるような場合、
テストコード側でどうやってアクセスしたらよいのでしょう。。
0278nobodyさん
2009/01/29(木) 23:43:43ID:wkptOo2L全サーバ共有のオブジェクトとしてMarshal使ってるんだが、
Marshal.loadでたまに、
marshal data too short (ArgumentError)
が発生するのが腹が立つ・・・
同じような症状にあった人いる?
0279163
2009/01/30(金) 01:33:04ID:???下記エラーが出て動きません。
no such file to load -- sqlite3
どなたか原因が分かる方いらっしゃいませんか。。。
0283nobodyさん
2009/01/30(金) 03:02:59ID:???静的コンテンツ(画像やらcssやらfavicon)が読めない。
BaseURI使って複数プロジェクト上げるとダメ。
BaseURI使わなければ問題無し。
mongrelだと問題無し。
いくつか外人サイトでも上がってるようだが
.htaccessを消すとかmod_rewriteを使うなとか
試してみたがダメ。
誰か分かる?
0284283
2009/01/30(金) 03:05:47ID:???rails 2.1.2
0286nobodyさん
2009/01/30(金) 03:11:29ID:???出力されるXMLです。
ちょうどよいサンプルが見つかりました。
gems\actionpack-2.2.2\test\controller\mime_responds_test.rb
0287nobodyさん
2009/01/30(金) 06:17:33ID:???レンサバの社名だけじゃなくプランも書くべきじゃね?
レンサバはプランで環境変わってくるし、本気で聞きたいなら言うべきだね。
Rails突っ込むくらいだしスタンダード以上のプランだと思うけど
出てるエラーの通りそこを修正したら多分動くはず。
プラン違うと思うから参考にならんかもしれんけど
もしもの時ように契約だけして一年以上放置してた
さくらの専用サーバにてさっきRails動作したから一応報告。
0288nobodyさん
2009/01/30(金) 09:26:02ID:???さくらの専用サーバーとやらでdjangoも動きますか?
0289nobodyさん
2009/01/30(金) 23:43:11ID:LFWFBeOwそれならスキル次第で動くんじゃない?
0290283
2009/01/31(土) 00:21:50ID:???0291nobodyさん
2009/01/31(土) 01:39:16ID:???0292nobodyさん
2009/01/31(土) 04:38:35ID:???0293163
2009/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:???動作おめでとう☆
次からは出ているエラーをきちんと嫁よ
0295nobodyさん
2009/02/02(月) 22:35:12ID:???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:???# require 'open-uri'
:body => open(URL) {|input| input.read }
とかじゃなく?
0297nobodyさん
2009/02/02(月) 22:58:53ID:???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:???0300298
2009/02/03(火) 18:17:26ID:XJb6VJd0javascript等、必要であれば
0301nobodyさん
2009/02/04(水) 00:13:34ID:???うちはmongrelだったのでその時はあきらめた。
もしかしたら、今ならそういうライブラリあるかも。
例えばjQueryの jquery.ajax_upload でonSubmitの時に
読み込み中の画像を出すみたいな事はできると思う。
プログレスバーは難しいだろうけど。
いっそのことFlash使うという手もあるかと。
0302nobodyさん
2009/02/04(水) 00:15:59ID:???0303nobodyさん
2009/02/04(水) 00:31:09ID:???0304nobodyさん
2009/02/04(水) 00:35:00ID:???0305nobodyさん
2009/02/04(水) 01:11:03ID:???0308nobodyさん
2009/02/04(水) 09:04:49ID:???まずサーバーにうpする部分とプログレス表示の部分を分ける
サーバーにうpは普通にうp
プログレス表示の部分はFLASHでサーバーにうp途中の
ファイルサイズを問い合わせしつつ%表示
簡単かどうかは知らん
0309nobodyさん
2009/02/04(水) 16:15:25ID:vZ1IhzmW0310nobodyさん
2009/02/04(水) 16:32:55ID:jYgE8drettp://webtama.jp/series/railstips/articles/31
0311nobodyさん
2009/02/04(水) 23:39:49ID:???ありがとうございました
0312nobodyさん
2009/02/04(水) 23:50:06ID:???0313nobodyさん
2009/02/05(木) 00:54:46ID:???0314nobodyさん
2009/02/05(木) 01:09:21ID:???0315nobodyさん
2009/02/05(木) 03:31:27ID:???やりたいことのほとんどは典型的なCMS機能でカバーできて、特殊機能を独自にPluginのように開発しようと考えているんだけど
0317nobodyさん
2009/02/06(金) 21:47:33ID:???0318nobodyさん
2009/02/06(金) 23:22:48ID:???あれは何の意味があるのでしょうか?
0319nobodyさん
2009/02/06(金) 23:35:41ID:???ファイルを更新したら、?1233545454などのお尻の値も更新する
そうすることで更新されたファイルをちゃんと読み込むようになります
0320nobodyさん
2009/02/06(金) 23:57:24ID:???わかります
0321nobodyさん
2009/02/07(土) 01:14:41ID:???0322nobodyさん
2009/02/07(土) 01:43:03ID:???0323nobodyさん
2009/02/07(土) 02:00:36ID:???ありがとうございました
0324nobodyさん
2009/02/07(土) 09:56:50ID:???ENV['RAILS_ASSET_ID'] = '' #空文字列にセット
としておくと付かなくなる。
0325318
2009/02/07(土) 12:36:51ID:???確かにpublic内の画像等を更新した場合はasset_id(?)が変わりますね
asset_hostを指定してpublic内の静的ファイルを他サーバーから配信している場合、
ファイルを更新してもasset_idは変わりませんでした
0326nobodyさん
2009/02/08(日) 11:42:40ID:???まぁリソース食いまくるからしょうがないんだろうが…
0327nobodyさん
2009/02/11(水) 01:00:58ID:???0328nobodyさん
2009/02/11(水) 02:58:01ID:???↓
ライブラリorプラグインを探す
|↓ない
|最初に戻る
↓ある
置換える
↓
テスト
0329nobodyさん
2009/02/11(水) 10:50:42ID:???0330nobodyさん
2009/02/11(水) 11:12:12ID:???同意。
標準のTestUnitではなくて、最近はRSpecのほうが流行りなのかね。
あ、でも仕事の場合、テスト仕様書とテスト結果表をエクセルで
書かないと納品物として認めない客が多いので、
Railsのテスト(TestUnit/RSpec)に加えて、手動テストが必要だよね。
0331nobodyさん
2009/02/11(水) 11:49:55ID:???0332nobodyさん
2009/02/11(水) 11:54:18ID:???線引いたり、フォントとかの体裁はVBAでがんばればいけるかな?
0333nobodyさん
2009/02/11(水) 12:58:05ID:???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:???英語っぽいから、英語圏の人がありがたがる気持ちはわからんでもない
日本人の自分としては?だけどね
使い込むといろいろ便利なのかね?
0335nobodyさん
2009/02/11(水) 13:36:31ID:???自分的にはテストの表示結果が非常に分かりやすいのが気に入ってる。
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:???なるほど、サンクス。利点の一つがわかった。
DSLは便利なのだが、いくらRubyベースとはいえ何個も覚えたくなかったりする。
もっと利点が挙がってきて魅力を感じるようになったら勉強するよ。
0337nobodyさん
2009/02/11(水) 14:40:35ID:???いつの間にかTest::Unitよりもなんとなくしっくり来て(慣れたからだと思うけど)使ってる
結局概念的にはあんま理解してないと思うけど,TDDの発展形らしいのでとりあえず満足してる
0338nobodyさん
2009/02/11(水) 16:55:40ID:???0339nobodyさん
2009/02/11(水) 16:57:54ID:???エラーが起きたらメールで通知
rspec&autotestおいしいです^q^
所で宍道湖つかってる人いる?
0340nobodyさん
2009/02/11(水) 17:02:11ID:???0341nobodyさん
2009/02/11(水) 17:04:17ID:???0342nobodyさん
2009/02/11(水) 20:05:42ID:???0343nobodyさん
2009/02/11(水) 21:45:57ID:???やっぱり自動テストできると仕様変更の際とても楽。
色付けて、色で判別できるのも良い。
あと it "日本語" do みたいに書けるので、
テスト走らせた時に半分仕様書っぽく見えるのがgood。
それでもAjaxが絡む部分とかはテストできないので
地道に手動テストしてエビデンスをExcelに貼付けるとかは行った。
0344nobodyさん
2009/02/11(水) 21:57:14ID:???お客さんにはそれが見えないので、書類として出せるものは必要。
結局Excel登場な訳です。
0346nobodyさん
2009/02/11(水) 23:28:18ID:???あと、CIでやるテストと、納品に必要なテストは違うよね。
0347nobodyさん
2009/02/11(水) 23:29:01ID:???0349nobodyさん
2009/02/12(木) 02:02:30ID:???0350nobodyさん
2009/02/12(木) 02:16:23ID:???提出したあとにプログラムを変えて、テストは思いっきりおろそかとか
で、客の信頼を失ってテスト資料の提出をせまられる
■ このスレッドは過去ログ倉庫に格納されています