【Ruby】Ruby on Rails Part3
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2007/02/06(火) 20:10:09ID:nOZh/PU9Ruby on Railsに関するスレッドです。
<英語>
本家: http://www.rubyonrails.org
API: http://api.rubyonrails.com/
Documents&Tutorials: http://documentation.rubyonrails.com/
<日本語>
Rails' wiki: http://wiki.fdiary.net/rails/
前スレ
【Agile】Ruby on rails相談所 part2【DRY】
http://pc10.2ch.net/test/read.cgi/php/1151254378/
0548nobodyさん
2007/06/01(金) 20:47:25ID:???「Rails1.1のインストール方法教えてください」
とか書かれても、それはそれでケンケンしてそうだな。
まったりいこうよ。
0549nobodyさん
2007/06/01(金) 20:49:58ID:???英語版第2版のPDF版買って読んでるけど、なかなか良いよこれ。
読むってか、コードのとこ見てるだけでもいいかんじ。
0550nobodyさん
2007/06/01(金) 22:52:46ID:???どーせ納期過ぎても完成できないだろうから、会社辞めちゃえばいいじゃん。
0551nobodyさん
2007/06/02(土) 00:36:55ID:???「Ruby on Rails入門」とクックブックとレシピ以外は
ストーリーに沿った内容だから英語でがんばる前に
一冊くらい選んで読んでみてもいいのでは
0552nobodyさん
2007/06/02(土) 07:18:14ID:???0553nobodyさん
2007/06/02(土) 08:01:57ID:???他には知らない。
0554nobodyさん
2007/06/02(土) 10:27:07ID:???とか。社内勉強会の資料公開のようだが。
0557nobodyさん
2007/06/03(日) 07:22:20ID:???ride on持ってるのに、気がつかなかった...
でも、レシピの書き方とか、イマイチ詳しくないよねぇ...
0558nobodyさん
2007/06/04(月) 12:14:23ID:yWNAd0Huここのサイト(http://rubyist.g.hatena.ne.jp/pulscope/20070327)
のように設定したのだが、以下のように generate plugin_migrationでエラーが出る。
何が悪いのでしょうか。
# script/generate plugin_migration
/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require': ./script/../config/../config/environment.rb:14: unknown regexp options - lcal (SyntaxError)
from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require'
from /usr/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/commands/generate.rb:1
from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require'
from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require'
from script/generate:3
なお、このエラーは、environment.rbの中の次の記述で出ている模様だが、
require File.join(/usr/local/rails/thisappli,"vendor","plugins","engines","lib","engines","deprecated_config_support")
この/usr/local/rails/thisappliが、このアプリのトップディレクトリ。
0559nobodyさん
2007/06/04(月) 12:38:24ID:???がクォートされてないからRegexpと評価されてエラーが出てるんじゃないの
0560nobodyさん
2007/06/04(月) 12:45:15ID:yWNAd0Hu確かに。ありがとうございました。
しかし一つ前にやった別のアプリではクオートせずに同じことやって成功してる。
よくわかんないけど とりあえず今回は解決しました。
0561nobodyさん
2007/06/04(月) 12:50:14ID:yWNAd0Hu0562nobodyさん
2007/06/04(月) 12:52:36ID:???0563nobodyさん
2007/06/06(水) 00:14:22ID:???0564nobodyさん
2007/06/07(木) 13:35:22ID:???Railsのバージョン落として Rubyのバージョンも古いソースコンパイルし直さないと
いけないのかな?
0565nobodyさん
2007/06/07(木) 13:37:56ID:???どのバージョンのRailsがどのバージョンのRubyに対応してるか
だけ調べるか
0566nobodyさん
2007/06/07(木) 20:36:48ID:???0567nobodyさん
2007/06/08(金) 11:34:09ID:???0568nobodyさん
2007/06/08(金) 15:23:53ID:pyQvltMPrecipientsやfromに続いてreply-toってヘッダーを入れたいのだけどどうすればいいんでしょ?
0569nobodyさん
2007/06/08(金) 16:52:19ID:???reply_to/reply_to_addrsっちゅーメソッドがあるやん。
使いかたはfrom/from_addrsと同じ。
0570nobodyさん
2007/06/08(金) 17:04:39ID:pyQvltMPclass myMailer < ActionMailer
def mail
recipients "xxx"
subject "xxx"
from "xxxx@xxx"
reply_to "xxxx@xxxx"
body "xxxx"
end
end
のように書けばいい?
reply_to入れたらエラーになるんすが。
0571nobodyさん
2007/06/08(金) 17:36:29ID:???そんなメソッドあったっけ?
ttp://api.rubyonrails.org/classes/ActionMailer/Base.html
を見る限りなさそうなんだが。
headers 'Reply-To' => 'xxxx@xxxx'
はどうだ?
0572nobodyさん
2007/06/08(金) 18:31:50ID:pyQvltMP解決。サンクス
0573nobodyさん
2007/06/08(金) 18:42:29ID:???0574nobodyさん
2007/06/08(金) 20:02:18ID:KbDZEEwddate_select のオプションで,:default => 3.days.from_now
みたいなことをやりたいのだが。。
0575nobodyさん
2007/06/08(金) 21:33:43ID:5H3Shl3s0576nobodyさん
2007/06/08(金) 22:53:24ID:???フツーにモデルのフィールドに日付をいれておけば表示されるんじゃない?
>>575
リレーションにSQLのスニペットを指定して定義することはまぁ可能。
けどあきらめた方が多分いいね。思わぬところでハマることがあるから。
0577nobodyさん
2007/06/08(金) 23:57:16ID:???できる範囲を超えたらあきらめたほうがいいな。
0578574
2007/06/09(土) 01:00:59ID:K9Grt71jDBにレコードを初めてINSERTするときのデフォルト値を表示させたいんですよ。
だからモデル側はまだ何も無い状態。
0579nobodyさん
2007/06/10(日) 00:16:39ID:???なにもないなら自分で埋めよう。
def new
@hoge = Hoge.new
@hoge.date = 3.days.from_now
end
<% = date_select :hoge, :date %>
モデルかデータベースでデフォルト値を定義してもいいけどね。
0580nobodyさん
2007/06/11(月) 21:13:10ID:???mod_perlのような、起動オーバーヘッド軽減できるような仕組みはありますか?
0581nobodyさん
2007/06/11(月) 21:21:11ID:???0583nobodyさん
2007/06/11(月) 23:49:40ID:???ただ、遅い・・・これが致命的につらい。
気長にマッタリ勉強していける性格ならRubyをお勧めするよ。
ま、ついでにApacheとかもがんばって勉強してもいいけど・・・
毒を食らわば皿までだ。
0585583
2007/06/12(火) 00:15:17ID:???0586nobodyさん
2007/06/12(火) 07:08:24ID:gjdXbgZv0587nobodyさん
2007/06/12(火) 07:09:57ID:gjdXbgZv0588nobodyさん
2007/06/12(火) 11:46:34ID:???画面遷移がどうも重い。同じ条件下のPerl製より速度が出ない。
皆さんどのへんチューニングしてます?
0589nobodyさん
2007/06/12(火) 11:54:09ID:???その作者が遅いと認めてる部分や
その注文系フォームをどういう環境で動かしていて遅いのか
もう少し具体的に書いてくれ、でないと
ああそこはやっぱりどうしようもないね、なのか
こうやったら速くなるんじゃね、とか言い様が無いからさ
0590nobodyさん
2007/06/12(火) 12:31:57ID:???0591nobodyさん
2007/06/12(火) 19:15:37ID:???sessionを使うために何か準備することとかあるんでしょうか?
session[:user]の有無でログイン状態をチェックしているのですが、
ログイン処理とは関係のないコントローラ(ただしログインしていることが前提)
でテストをしたいので、とりあえず
session[:user] = @hoge
と適当なユーザオブジェクトを放り込んでやろうとしたら
Symbol as array index
というエラーが出てしまいます。
ログインを管理するコントローラの方では普通にsessionにアクセスできるのですが、
sessionの初期化かなんかの方法があるんでしょうか?
教えてくださいませ
0592nobodyさん
2007/06/12(火) 22:08:13ID:???0593591
2007/06/12(火) 22:08:43ID:???@request.session[:user]
でした
0595nobodyさん
2007/06/12(火) 23:44:39ID:???0596nobodyさん
2007/06/13(水) 12:53:50ID:???0597nobodyさん
2007/06/13(水) 16:59:51ID:???レンサバじゃインスツールしてくれないとか。
0598nobodyさん
2007/06/13(水) 17:45:28ID:???FastCGIも使えるし
なんで国内とこんなにも価格差があるんだろ
0599nobodyさん
2007/06/13(水) 19:07:27ID:???0600nobodyさん
2007/06/13(水) 19:27:32ID:???0602nobodyさん
2007/06/13(水) 22:02:39ID:???ような気がするかもしれん
0603nobodyさん
2007/06/13(水) 23:22:35ID:???みたいにページ内にリンクを張りたい場合は、
link_to ではなく
<a href="<%= urf_for :action => "hoge" %>#foo">bar</a>
のようにする以外ないんでしょうか?
0604nobodyさん
2007/06/13(水) 23:39:36ID:???<%= link_to "bar", :anchor => "foo" %>
でいけるんじゃないか試してないが
0605603
2007/06/14(木) 00:02:26ID:???ありがとうございます。
無事に :anchor => "foo" でいけました。
助かりました。
ところで、
オンラインのドキュメントなどでは、ヘルパーメソッドに渡すオプションの項が options などと書かれていて
実際にどのようなオプションがあるのか、分からない事が多いです。
「options がどのようなオプションを受け付けるか」を知るにはソースを読む以外ないのでしょうか。
このようなリファレンス的な文書が見当たらず困っています。
0606nobodyさん
2007/06/14(木) 00:31:30ID:???link_toのanchorの場合は、url_forに渡るということが本文中に書いてあるので
url_forを見ることになる。
0607603
2007/06/14(木) 00:42:03ID:???ありがとうございます。
ActionController::Base#url_for に、各 options について書いてありました。
お恥ずかしい限りです。
もう少しちゃんとドキュメント読んでみます。
0608nobodyさん
2007/06/14(木) 22:44:13ID:???項目名を日本語化したり、項目非表示にするのはスペジェネ入れないと面倒っぽい?
あと、日付要素の出力フォーマットは設定とかできるんでしょうか?
初歩的質問で申し訳ないです
0609nobodyさん
2007/06/15(金) 08:31:10ID:???最初にrailsを使ってみるときに、即座に動くモノが得られること。
とりあえずのアプリを作るときに手間が省けること。
くらいかな。
本格的なものを作るときにはどうせ最後には無くなるものだし、
最初から使わない。
0610nobodyさん
2007/06/16(土) 01:32:48ID:???はげどー
おれは
/usr/local/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/rails_generator/generators/components/scaffold/templates/view_*.rhtml
を改変しちったよー
でもほんとはいけないことだから、自分用のscaffold generator作る方法だれか教えて!
0611nobodyさん
2007/06/16(土) 17:49:27ID:fqTepViI>>439
DreamHost糞重いよ。
あと、MySQLがとにかく重い。さくらインターネット並み(それ以上か?)に重い。
お勧めしないよー。
安かろう悪かろうの代表だよ。
安くて大容量だから、別の用途で、俺は使ってるけど、Railsはさすがに無理だった。
誰か、DreamHostで、Railsをまともに動かしている人、ノウハウ書いてくれっ
俺は、高くても、Rails対応をメインにうたっているサイトをお勧めします。
0613nobodyさん
2007/06/17(日) 00:01:01ID:???0614nobodyさん
2007/06/17(日) 01:01:40ID:???0615nobodyさん
2007/06/19(火) 02:00:29ID:???(無料のRoRコンテナはメモリが64Mなので…。)
0616nobodyさん
2007/06/19(火) 09:21:55ID:???誰か試して
0617nobodyさん
2007/06/19(火) 14:45:34ID:???http://www.techcrunch.com/2006/10/17/media-temple-crushes-shared-hosting/
0618nobodyさん
2007/06/19(火) 15:43:25ID:???スマートに日付とるにはどうすりゃいいんだ?
0619nobodyさん
2007/06/19(火) 20:20:58ID:???それの日本語訳がこれ。
http://jp.techcrunch.com/archives/media-temple-crushes-shared-hosting/
ただ海外サーバで良ければMedia Templeじゃなくても他にも
Railsをサポートしているところはいくらでもあるよ。
>>616
面白そう! Xen VPS+Ubuntu+(最適化された)Railsか。
ただ£45/monthは約1.1万円なんで高めの設定だね。
0620nobodyさん
2007/06/20(水) 14:57:24ID:???validates_presence_of :mail_address, :message=>hoge()
undefined method 'hoge' for User:Class
といわれてしまうんですが(もちろんhogeメソッドはあります)
:if みたいにシンボルを渡すのかなーと思ったんですが、これもダメでした。
教えてください
0621nobodyさん
2007/06/21(木) 02:40:43ID:???じゃなくて
def self.hoge
にしたら、いいんじゃない多分
0622nobodyさん
2007/06/22(金) 00:47:29ID:???もう少し分かりやすく書けなかったのだろうか。
クラスの説明なんか、
動物を親として、継承して犬や猫を作るありきたりの例で
良いのに、攻撃だの技だの、変な例で説明している。
こういうのは誰もチェックしないで出版するのか。
まともなリファレンス本は無いのか。
0623nobodyさん
2007/06/22(金) 01:09:55ID:???継承とか、Mix-inなんかは動物だとか、オブジェクトは「モノ」だとかいう
説明は結構解りづらい。他言語から入るひとのために、Rubyにはプリミティブ型
がないことをもっとはっきり言ってあげた方が親切だったかな。
あと、あの妙なAAはいただけなかったなあ。
AAって画面では面白く見えるんだけれど、紙面では絵に見えないんだ。
いっそ北斗の拳とかドラゴンボールで説明すれば理解しやすかったかもと
思ったり。
Rails本は5冊ぐらい買ったがアジャイル本とこれがあれば事足りる。
アジャイル本は今はもう人に勧められないからマイグレーションと
ActiveRecordまわりを追補して改訂第2版出してくれ。
0624nobodyさん
2007/06/22(金) 01:37:16ID:???俺的には最初は黄色い本か青い電車の本がわかりやすかった。
黄色の本の dbのセットアップをrakeにするというのは
開発マシンと運用が違うときに同じ作業をすぐ実行できるという点で
面白かった。まあ、何度かやってたら思いつくんだろうけど。
でも結局 アジャイル本を日本語と 第二版の英語の2つ用意して
この2つを見比べながらってことになってしまう。
1.2対応の日本語版でないのかな。でも出たころには
railsがさらに先に進んでるんだろうな。。。
0625620
2007/06/22(金) 11:24:53ID:???クラスメソッドでもダメでした
gettextの説明ページで
validates_presence_of :title, :message => N_("%{fn} can't be empty!")
ってかいてあったんで関数指定できるのかと思ったんですが
ダメなんですかねえ
(そもそもN_()は関数じゃない?
gettext使ったことないのでわからないです)
とりあえずvalidateで全部自前で書きましたがわかる方教えてください
0626nobodyさん
2007/06/22(金) 12:08:32ID:???存在しないもの呼んだりしちゃってるんじゃない?
0627nobodyさん
2007/06/22(金) 22:02:17ID:???0628nobodyさん
2007/06/24(日) 20:53:50ID:???それともテーブルは作らずに generate model Hoge して、
db/migrate/001_create_hoge.rb
に定義書いて rake migrate かけるんですか?
また、テーブルにフィールドを追加した時の作業手順とか、みなさんどうしてるのでしょうか?
ある程度決まっているものなのか、人それぞれなのか等も含めてオレはこうしてるっていうの教えて頂けると
助かります。
0629620
2007/06/24(日) 21:22:59ID:???ありがとうございます。
同一ファイル内なのでメソッドの順番を変えてみましたがやっぱりダメでした。
validateの条件のifはシンボルでメソッド名を渡せるので
メッセージもそうだろうと思ってたんですが、ActiveRecordのソースを見ると
evaluate_condition(configuration[:if], record)
と評価している(?)みたいなのに対して
:messageの方はそういうのはやってませんでした
(すいません、ソース見ても意味がよくわからないんでまちがってるかも)
ということで出来なさそうです
0630nobodyさん
2007/06/24(日) 21:50:35ID:???sessionの有効期限(時間)を指定する方法はありますか?
どなたか、ご教授下さい。
0631nobodyさん
2007/06/25(月) 00:04:53ID:???def self.up
create_table :cats do |t|
t.column(:name,:string)
t.column(:age,:integer)
}
end
end
のときに、
Cat.find_by_name("ミケ").alter_name #=>"ぬこ"
Cat.find_by_name("タマ").alter_name #=>"ぬこ"
Cat.new.alter_name #=>"ぬこ"
とやりたいのですが、
class Cat < ActiveRecord::Base
public
def alter_name
"ぬこ"
end
end
としてもDBのalter_name列を探しに行ってしまってうまくいきません。
何がダメなのでしょうか…。
0632nobodyさん
2007/06/25(月) 00:33:10ID:???ActionController::CgiRequest::DEFAULT_SESSION_OPTIONS.update(:session_expires => Time.now + 1.week)
とかでしょうか。
最初に作成されたときから1週間と、
最後にアクセスされてから1週間じゃ意味がぜんぜん違う気がするけど。
>>631
ふつうにできたんですが……
0633nobodyさん
2007/06/25(月) 01:22:36ID:???テーブルが先に決まってたら(与えられていたら)前者
そうでなければ後者でmigrateしたほうが変更が楽なはず。
migrateに関しては 日本語のアジャイル本に載ってないのが残念だ。
0635nobodyさん
2007/06/25(月) 02:51:09ID:???え、あれ…
migrateって1.1からの新機軸なので1.0にあわせた アジャイル本1版には
出てないと思ったんだけど読み方があまかったか?
ちなみに英語の2版には出てますね。
知らない俺がバカだったくらい気持ちよくなれた.
0637nobodyさん
2007/06/25(月) 04:06:23ID:???0639nobodyさん
2007/06/25(月) 16:08:42ID:???2. find_by_sql( ["SELECT * ...
3. find_by_sql( ["SELECT column1, column2...
の三つを比較すると123の順で速くなる(3が最速)だと思ってたんだけど、
RSSを生成するテストをしてみたら実際には123の順に遅くなった。
なんでだろう?
find/find_by_sqlメソッドを単体でテストすると確かに3が一番速いんだけど。
もちろんRSS生成メソッドのfind以外は全部共通です。
0640間違い
2007/06/25(月) 16:09:34ID:???○1. find( :all, :conditions=>...
0643639
2007/06/26(火) 00:02:16ID:???一回のテストで1,2,3を順番に実行してたんだけど、
一回ずつバラバラにやってみたら期待通りの結果になった。
なんでだかわからないけど一安心。
0644nobodyさん
2007/06/26(火) 09:37:14ID:???0645nobodyさん
2007/06/26(火) 19:58:04ID:???チェックってどうやんの?
0646nobodyさん
2007/06/26(火) 22:03:37ID:???相手先のSMTPに正常に届けられたかどうかは、maillogをチェックするしかないな。
0647nobodyさん
2007/06/27(水) 14:50:46ID:???■ このスレッドは過去ログ倉庫に格納されています