【Agile】Ruby on rails相談所 part2【DRY】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2006/06/26(月) 01:52:58ID:???<英語>
本家: http://www.rubyonrails.org
API: http://api.rubyonrails.com/
Documents&Tutorials: http://documentation.rubyonrails.com/
<日本語>
Rails' wiki: http://wiki.fdiary.net/rails/
ActiveRecordの記事(データベースの操作):
http://jp.rubyist.net/magazine/?0004-RLR
http://jp.rubyist.net/magazine/?0006-RubyOnRails
0709nobodyさん
2006/11/14(火) 15:08:49ID:???http://www.cpi.ad.jp/service/server/function/framework/
Ruby on RailsのWebアプリも見つけた。一応報告しときます。
http://www.enote.jp/whatis/main
eNoteは、まつもとゆきひろ氏が開発した日本生まれのオブジェクト指向言語 「Ruby」と、そのRubyで開発されたWebアプリケーション・フレームワーク の「Ruby on Rails」を採用して開発しています。
0710nobodyさん
2006/11/14(火) 19:58:03ID:???0711名無し募集中。。。
2006/11/15(水) 09:18:30ID:???リンク先は見ずに答える
> Unknown action
> No action responded to edit
これはアクションが定義されていないというエラー
対象のコントローラに "edit" というメソッドを追加すればOK
"/todo/edit/1" でアクセスしてるようなので、
上記の対象コントローラとはここでは TodoController になるので一般的には
"app/controllers/todo_controller.rb" に "edit" を定義すれば解決
> script/generate scaffold Todo
実際はここで間違ってる
これは Todo というモデルを操作するコントローラとビューを作ってるんだけど
自動的に作成されるコントローラ名は複数形になるので todos_controller.rb
ができてるはず
scaffold はモデル名の後にコントローラ名を指定できるので
script/generate scaffold Todo Todo
を実行すれば解決すると思われ
0712名無し募集中。。。
2006/11/15(水) 09:33:21ID:???@request.session を使う
@request.session[:user] = User.new(:user=>"123", :pass=>"abc")
assert_not_nil(@request.session[:user])
0713nobodyさん
2006/11/15(水) 16:25:24ID:???checkbox の内容を確認するのに
@item.check1
@item.check2
と順番に if文でやってるとしにそうなんですが、
hashとかで上手にやる方法ってないですかね。
hash.key.each do |hashkey|
@item.hashitem[hashkey]
処理ほげほげ
end
みたいにループで書きたいんですが…
0714nobodyさん
2006/11/16(木) 01:54:37ID:???hash.keys.each do |hashkey|
@item[hashkey]
処理ほげほげ
end
で、どう?
0715nobodyさん
2006/11/17(金) 05:42:48ID:???業務鯖の発注時に2003鯖しか選べないのはそういう理由なのか。
0716nobodyさん
2006/11/17(金) 16:03:30ID:???ERROR: While executing gem ... (Errno::EBADF)
Bad file descriptor - connect(2)
まったく意味がわかりません
どなたか教えもらえませんか
0717nobodyさん
2006/11/17(金) 20:02:21ID:???gem install rails --include-dependencies
こういうのはどう?
0719nobodyさん
2006/11/17(金) 23:19:58ID:???0720nobodyさん
2006/11/17(金) 23:28:20ID:???OSはwinXP sp2
rubyは1.8.2
Gemは0.9.0です
実行コマンドは
gem install rails -y
出るエラーは
ERROR: While executing gem ... (Errno::EBADF)
Bad file descriptor - connect(2)
です
0721nobodyさん
2006/11/18(土) 00:12:34ID:???0723nobodyさん
2006/11/18(土) 04:46:03ID:???サーバーに接続できてないってエラーだから
ネットワークの設定を見直してみるべし
多分、>>721が正解じゃないかな?Proxyが必須な環境だとか
0724nobodyさん
2006/11/18(土) 12:50:07ID:???0725nobodyさん
2006/11/18(土) 18:37:21ID:???全然つながらない
0726nobodyさん
2006/11/18(土) 19:40:03ID:???0727nobodyさん
2006/11/19(日) 00:38:54ID:???<head>
<link rel=...>
<link rel=...>
<title><title>
</head>
みたいな感じになっちゃう。
0728nobodyさん
2006/11/19(日) 14:48:24ID:7JDy4pfn0729nobodyさん
2006/11/20(月) 11:03:19ID:???0730nobodyさん
2006/11/20(月) 16:09:33ID:zBriqWnX====================================================
def update
@school1 = School1.find(1)
@school2 = School2.find(1)
begin
School1.transaction(@school1,@school2) do
@school1.field_1 = 'ABC-1234'
@school2.field_1 = 'DEF-5678'
@school1.save!
@school2.save!
end
rescue
・・・
end
end
=======================================================
てな感じの例でわかりますかね?お願いします
0731nobodyさん
2006/11/20(月) 16:27:00ID:???どなたかお助けください。
当方、PHPが少し使える程度の初心者なのですが、
Rubyが使えるXreaを利用して、RubyでCGIのテストをしようと思っています。
早速以下のコードを書いたのですが、
test.cgi パーミッションは755
#!/usr/local/bin/ruby
print "Hello World"
CGIのエラーが出てしまい、とまってしまいました。
原因がわからず困っています。お助けください。
0732nobodyさん
2006/11/20(月) 16:53:46ID:???エラーの内容を書かないのに原因が分かるわけがない。
想像するに、Content-type返してないからじゃねえの。
ruby cgiでググると1件目で出てくるページのサンプルではおまじない的に紹介されているが。
ttp://rubycgi.org/cgi_explanation/2-1.htm
ウェブの基本なので詳細は自分で調べよう。
あとXREAの実行ファイルのパーミッションは700を推奨してきた気もする。
XREAのFAQを見てくれ。
0734nobodyさん
2006/11/20(月) 19:05:38ID:???0735nobodyさん
2006/11/21(火) 02:08:10ID:???他のみんなに迷惑かかるだろ。
まぁどうせすぐに凍結されるだろうけど
0736nobodyさん
2006/11/21(火) 09:35:28ID:???0737731
2006/11/21(火) 13:32:29ID:???>>736さんが指摘してる通り、Railsは使いません。
使いたくてもまだ自分では理解できない代物だと思っているので・・・
色々試行錯誤したり、公開されてるスクリプトを試しましたが、
500エラーが返って来て一向に実行できる気配がありませんでした。
Xreaじゃ無理なのかなぁ。自前で立てたいとこだけど難しくて(つД`)
またしばらくPHPに戻りたいと思います・・・
どうもお騒がせしました。
0740nobodyさん
2006/11/22(水) 11:57:21ID:3zf2LnbKdept_list = id_list.collect{|id|Dept.new(id)}
をエラー無しで通すには
後、何を記述したらいいのでしょう?
0741nobodyさん
2006/11/22(水) 14:52:00ID:???dept_list = id_list.collect{|id|Dept.new(id)}
0742nobodyさん
2006/11/23(木) 00:38:58ID:OHE313ePはどう用意すればいいの?あほな俺に教えてください。お願いします。
0743名無し募集中。。。
2006/11/23(木) 05:03:11ID:???それだけで何が問題になってるかこっちにわかるわけないだろボケ!
質問てのは自分が困ってることを伝えるんじゃなくて、やりたい事と
現在の問題を伝えるんだよ!例えばな、
svn に含まれる config/database.yml の内容とは違うDBを使いたいけど、
同ファイルを変更しちゃうと svn で保存するときに競合して困ります
みたいに聞いてくれれば、
* プロジェクト(svn)から config/database.yml を外す
* 雛形は config/database.yml.skel とか別名で管理する
とか色々答えようがあるだろ!
その場合 environment.rb でローカル設定を行ってたりもしそうだから
skel/config/ とかで管理しておくのもいいかもな。他 dir にも使えて
ファイル名の変更も不要だからこっちがいいかもね。
あと、log とか tmp をプロジェクトから外すのも忘れないで下さいね。
0744742
2006/11/23(木) 14:03:45ID:OHE313eP昨日railsはじめたばっかでさ
rakeコマンドなんて知らなかったんだよ許してくれよ(´・ω・`)
0745nobodyさん
2006/11/23(木) 14:07:53ID:???0746nobodyさん
2006/11/23(木) 14:11:35ID:???どっちも黒いなぁ
0747nobodyさん
2006/11/23(木) 17:02:46ID:???0748nobodyさん
2006/11/23(木) 19:59:44ID:???でblahコントローラのblahアクションにアクセスさせたいんだけど、どうやってルーティングかけばいいんでしょう?
0749nobodyさん
2006/11/23(木) 23:07:12ID:???で呼び出すRHTMLファイルの先頭に任意の数のタブを付けたいんですけど、何か方法ありますか?
わざわざ全てのRHTMLファイルにインデント加えるのがめんどうなんで・・・。
レイアウトで<%= @content_for_layout -%>を囲うdivが増えたら全部修正しなきゃいけないとかかなりRailsの主義に反すると思うんだけどなぁ
0751名無し募集中。。。
2006/11/24(金) 02:05:59ID:???map.connect 'blah', :controller=>"blah", :action=>"blah"
0752nobodyさん
2006/11/24(金) 16:23:09ID:???Mでデータベースからとってきて、Vで見せりゃいいじゃねーようーーー
0754nobodyさん
2006/11/24(金) 17:59:30ID:9C+eXsEYhttp://weblog.rubyonrails.org/2006/11/23/rails-1-2-release-candidate-1
ActiveResource使ってみようと思い、updateしようとして、
gem install rails --source http://gems.rubyonrails.org --include-dependencies
したらエラーがでるんで
gem install rails --remote --source http://gems.rubyonrails.org --include-dependencies
ってしたら、うまくupdateできた。
環境はWindowsです。
一応、報告。
0755nobodyさん
2006/11/24(金) 21:06:34ID:aSFI+5Bjcheck_box("post", "chk[]")
こんな風に出来るかと思ったけど駄目だったわ
0756nobodyさん
2006/11/24(金) 22:18:50ID:???これってどういう意味?引数になんでID渡してるの?
0757nobodyさん
2006/11/28(火) 09:26:41ID:???盲腸みたいなもん?
でも、たまにidを指定して行を作りたいときはあるかな。
0758nobodyさん
2006/11/28(火) 13:22:34ID:???0759nobodyさん
2006/11/28(火) 16:25:40ID:???0760nobodyさん
2006/11/28(火) 16:27:12ID:a0qxX4Tc0761nobodyさん
2006/11/28(火) 20:47:36ID:???0762nobodyさん
2006/11/28(火) 21:55:30ID:???主キーのidなら表示されなくてもかまわないんだけど、
user_idとかも表示されなくなっちゃう。
list.rhtml見ると、column.human_nameで取得してるみたいなんだけど、
どういじったら表示できるようになるのかわかりません。
0763nobodyさん
2006/11/29(水) 12:03:59ID:???そう思うならそう書けばいいじゃん。
Controller書かなかったらいきなりViewに飛ばなかったっけ?
0764名無し募集中。。。
2006/11/29(水) 13:42:19ID:???仕様です。ARは「IDは人がその値を意識しないもの」という立場です。つまり
「主キー(id)であれ、外部キー(user_id)であれ、フォームに値を直接入力することがないはず」
という考えから、scaffold で作成される入力フォームには出現しません。
表示させるには、メソッドの方でなく scaffold ジェネレータでファイルを実際に生成して、
_form.rhtml を直接自分で編集するのが一番早いと思います。
ちなみに、AR.columns と AR.content_columns の違いです。
0765nobodyさん
2006/11/29(水) 17:06:43ID:???入れた後ちゃんとサーバも再起動してるんだけど・・・。
最近rubyもrailsも入れたので、バージョンの違い??
rubyは1.8.2で、railsは1.1.6です。
なんでだ〜〜〜〜
0766nobodyさん
2006/11/29(水) 17:12:07ID:???active_record_messages_ja.rbをコピーして、
require 'active_record_messages_ja.rb'
としたらいけた。
なんで認識しないんだろう?ちゃんとvendor/pluginsに突っ込んでるんだけどなぁ
0768nobodyさん
2006/11/29(水) 22:38:51ID:???何も設定せずに、pluginディレクトリに入れるだけで、日本語化されるはずなんですが、されませんでした。
で、activeheartディレクトリの中にある本体を、モデル内requireしたら、日本語化されました。
0769nobodyさん
2006/11/29(水) 22:52:47ID:???「render :action => 'new'」とかの謎な呼び出し方をしているメソッドは一体どうなってるのかとか
もうさっぱり分からん。誰か助けてorz
0770nobodyさん
2006/11/29(水) 22:57:56ID:x51g0Soy0771nobodyさん
2006/11/29(水) 23:22:11ID:???0772nobodyさん
2006/11/29(水) 23:28:14ID:???言われてみてみた。ますます混乱してきた。
一体このrenderとか言う不思議ちゃんメソッドは入力側(Controll)で呼ばれたり出力側(View)で呼ばれたり
一体何なんだYO!。こいつは結局何を入力されて何を出力するんだYO!!
いやView側で根こそぎデータを引っ張ってきて吐き出してるのは分かるんだがどうやったらこんな離れ業ができるんだ?
そもそもrenderって何だよレンダラのレンダかと推測してみたりgooの英和辞典見たりしたが意味不明
もうだめぽ
0773nobodyさん
2006/11/29(水) 23:41:35ID:x51g0Soy他言語の素養も無さそうだし閃きは愚か才能の欠片もないも前にはソースだけで理解するのは到底無理。
0775nobodyさん
2006/11/30(木) 00:23:54ID:???おいおい、本読めって言ってるのが煽りに見えるのか?
山勘や推測だけで試行錯誤してるように思えるが、
一通り基本から勉強し直してからやった方が近道だと思うぞ。
0776名無し募集中。。。
2006/11/30(木) 00:36:16ID:???辞書で意味を調べる労力は厭わないが頑なに本を拒絶する772に萌え
敢えて説明書を見ずにゲーム攻略するのを是とする有野係長みたいだ
がんばれ!
0777nobodyさん
2006/11/30(木) 00:51:53ID:???別に本を買うのが嫌だと言ったつもりはないんだがな
とりあえず分からなかったところを手っ取り早く何とかしようと思っただけ
まあ要するにアレだろ、オーバーロードみたいなことをやってるんだろ、俺はそう理解した
それにしても引数に()もつけないでメソッド呼んじゃうRailerのセンスにはびっくりだけどね、
他の言語の素養とやらがあるからこそw
0778nobodyさん
2006/11/30(木) 01:07:48ID:???0779nobodyさん
2006/11/30(木) 01:11:47ID:???0780nobodyさん
2006/11/30(木) 02:14:06ID:???0781nobodyさん
2006/11/30(木) 10:12:16ID:???うわ、自意識過剰な香具師だな。こりゃ酷い。
0782nobodyさん
2006/11/30(木) 19:19:25ID:???http://pc8.2ch.net/test/read.cgi/prog/1148712641/
0783nobodyさん
2006/11/30(木) 20:23:39ID:???興味をもったひとも多いと思われる
TxtMateのサイトのトップページの
特徴的な機能一覧を訳して下のスレに
書き込みました
テキストエディタスレ-TextMate使ってる?-
http://pc7.2ch.net/test/read.cgi/mac/1160153235/
0784nobodyさん
2006/12/01(金) 00:21:55ID:???def cnv_to_br(text)
text = text.gsub("\r\n", "\r")
text = text.gsub("\r", "\n")
text.gsub("\n", "<br />")
end
end
Rails使ってると便利すぎて、こういうことまで面倒になってくるから困る。
0785nobodyさん
2006/12/01(金) 12:02:31ID:???2:6:2の法則発動か!?
ttp://www.k3.dion.ne.jp/~kazu-tak/colum/262.html
『優秀な人が2割、普通の人が6割、パッとしない人が2割』
0786名無し募集中。。。
2006/12/01(金) 16:23:01ID:???釣りかもしれないけど一応
module ApplicationHelper
def cnv_to_br(text)
text.gsub(/(\r?\n|\r)/, "<br />")
end
end
0787nobodyさん
2006/12/01(金) 16:39:09ID:???正規表現か〜その発想は無かったぜ。
Perl時代からずっとこのやり方なんでw
っていうか、 simple_format(h(@text))
こんなものがあったわ。。。
0788nobodyさん
2006/12/01(金) 16:46:09ID:DwmvCS5y0789nobodyさん
2006/12/01(金) 20:34:04ID:???text.gsub(/(?:\r?\n|\r)/,'<br />')
後方参照使わないなら上のようにした方がいいんじゃないの?
0790nobodyさん
2006/12/01(金) 23:33:10ID:???0791nobodyさん
2006/12/02(土) 04:22:58ID:???どういう風にしたら簡潔にかけるんだろう?
今は、アクションメソッドごとに@menu_mode = "menu1"とかやって、
レイアウトで<%= render :partial => "shared/menubar", :object => @menu_mode %>として、
メニューバーを呼び出して、_menubarファイル内部で、
<% case @menu_mode -%>と書いて、表示を切り替えてるんだけど、
アクションメソッドごとに変数を設定するのがなんかDRYじゃないんで、何かいい方法があればご教授お願いします。
0792nobodyさん
2006/12/03(日) 14:02:28ID:???を参考に、以下の環境を構築しました。
Windows XP
One Click Installer ruby185-21.exe
apache_2.0.59
RubyForApache-1.3.1
そして、http://masuidrive.jp/rails/rails_app.html の Rails アプリを起動しようとするのですがうまくいきません。
http://localhost/bookmark/ にてアプリを動かしたいので、
Alias /bookmark C:/bookmark/public
と記述しています。
ブラウザには
Application error
Rails application failed to start properly
とのエラーメッセージが表示され、apache の error log には
mod_rewrite: maximum number of internal redirects reached. Assuming configuration error. Use 'RewriteOptions MaxRedirects' to increase the limit if neccessary.
が吐かれます。
mod_rewrite の設定関連かと考えて、google にて mod_rewrite max redirects のキーワードでサーチしましたが、有用なソースが見当たりません。
どなたかお知恵を貸していただけないでしょうか。
よろしくお願いします。
0793nobodyさん
2006/12/03(日) 14:24:33ID:???0794nobodyさん
2006/12/03(日) 15:02:22ID:???レスありがとうございます。
そうですね、webrick ためしてなかったので試してみました。
webrick だと問題なくうごきますねえ。。。
0795729
2006/12/03(日) 15:34:01ID:???ブラウザでアクセスすると以下のエラーが出るようになりました。
[Sun Dec 03 15:30:48 2006] [error] mod_ruby: error in ruby
[Sun Dec 03 15:30:48 2006] [error] mod_ruby: c:/ruby/lib/ruby/site_ruby/1.8/apache/ruby-run.rb:53:in `load': D:/webhonpo/style-selection/public_html/bookmark/public/index.html:1: parse error, unexpected '<' (SyntaxError)
[Sun Dec 03 15:30:48 2006] [error] mod_ruby: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
[Sun Dec 03 15:30:48 2006] [error] mod_ruby: ^
[Sun Dec 03 15:30:48 2006] [error] mod_ruby: C:/bookmark/public/index.html:3: parse error, unexpected '<'
[Sun Dec 03 15:30:48 2006] [error] mod_ruby: <html>
[Sun Dec 03 15:30:48 2006] [error] mod_ruby: ^
[Sun Dec 03 15:30:48 2006] [error] mod_ruby: C:/bookmark/public/index.html:5: parse error, unexpected tIDENTIFIER, expecting $
[Sun Dec 03 15:30:48 2006] [error] mod_ruby: <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
[Sun Dec 03 15:30:48 2006] [error] mod_ruby: ^
[Sun Dec 03 15:30:48 2006] [error] mod_ruby: from c:/ruby/lib/ruby/site_ruby/1.8/apache/ruby-run.rb:53:in `handler'
index.html をパースしようとしているみたいなのですが、なぜこんなことになるのでしょう?
0797nobodyさん
2006/12/03(日) 18:25:55ID:???レスありがとうございます。
消してみたら
[Sun Dec 03 18:24:15 2006] [error] mod_ruby: error in ruby
[Sun Dec 03 18:24:15 2006] [error] mod_ruby: c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:33:in `gem_original_require': no such file to load -- dispatcher (MissingSourceFile)
[Sun Dec 03 18:24:15 2006] [error] mod_ruby: from c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:33:in `require'
[Sun Dec 03 18:24:15 2006] [error] mod_ruby: from c:/ruby/lib/ruby/gems/1.8/gems/activesupport-1.3.1/lib/active_support/dependencies.rb:147:in `require'
[Sun Dec 03 18:24:15 2006] [error] mod_ruby: from C:/bookmark/public/dispatch.cgi:7
[Sun Dec 03 18:24:15 2006] [error] mod_ruby: from c:/ruby/lib/ruby/gems/1.8/gems/activesupport-1.3.1/lib/active_support/dependencies.rb:140:in `load'
[Sun Dec 03 18:24:15 2006] [error] mod_ruby: from c:/ruby/lib/ruby/gems/1.8/gems/activesupport-1.3.1/lib/active_support/dependencies.rb:140:in `load'
[Sun Dec 03 18:24:15 2006] [error] mod_ruby: from c:/ruby/lib/ruby/site_ruby/1.8/apache/ruby-run.rb:53:in `handler'
というエラーが出ました。
ブラウザのエラーは同様です。。。
なんか厄介ですね。
0798nobodyさん
2006/12/03(日) 19:55:11ID:???の33行目見てそこに書いてあるファイルがどこにあるか調べてみ。
もし無ければ入れる。あれば、そのパスが$LOAD_PATHに入ってないから追加する。
でいけるんじゃないかなぁ。
必要なライブラリが入ってないっぽい感じがする。
0799nobodyさん
2006/12/03(日) 20:40:44ID:???レスありがとうございます。
custom_require.rb の 33行目には
gem_original_require path
とだけ書いてありました。
とくにファイル名ではないような気がしますが、どうでしょうか?
webrick では動いてますし。。。
0800nobodyさん
2006/12/04(月) 00:38:00ID:???だから、LOAD_PATHの問題だろ。
Webrickで実行したとき→LOAD_PATHに必要なライブラリのパスが設定されてる→動く
Apacheで実行したとき→LOAD_PATHに必要なライブラリのパスが設定されていない→動かない
0801nobodyさん
2006/12/04(月) 00:57:22ID:???0802nobodyさん
2006/12/04(月) 22:30:37ID:???@user = User.find(params[:id])
if @user == nil
って感じでできると思ったんですが、
Couldn't find User with ID=*
とエラーが出てしまいます。
0803nobodyさん
2006/12/04(月) 22:49:55ID:???begin〜rescueする。
find_by_id(id)は見つからなかったときにnilを返す。
0804nobodyさん
2006/12/04(月) 22:52:33ID:???立ち読みでもしてくれ。
0806nobodyさん
2006/12/04(月) 23:18:39ID:???そしたらはたまたビックリ、なんとあの不思議仕様なクセに主要なメソッドの
我らがrenderちゃんが、索引にも載ってないんだぜえええw
ホント改めてRailserのびっくりセンスには中国人もビックリさ!
えっ?結局お前はその本を買ったのかだって?買うわけ無いだろwwワロスww茶噴いたwww
今後Railsに触れるなんて事は俺には一生無いだろうな。本当にありがとうございました。
ああさらば我が愛しきRailsライフ
0807nobodyさん
2006/12/04(月) 23:34:03ID:???0808nobodyさん
2006/12/04(月) 23:37:53ID:???0809nobodyさん
2006/12/05(火) 00:37:35ID:???■ このスレッドは過去ログ倉庫に格納されています