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

【Agile】Ruby on rails相談所 part2【DRY】

レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん2006/06/26(月) 01:52:58ID:???
Ruby on rails に関する相談所です。

<英語>
本家: 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
0910nobodyさん2006/12/31(日) 15:30:44ID:???
頭が悪いのが居るねえ。
0911nobodyさん2007/01/04(木) 00:27:33ID:xkPnnPoS
Ruby遅せぇよっ!
さすが国産、Perlをも凌ぐ遅さだ。
0912nobodyさん2007/01/04(木) 01:22:55ID:???
そんなおせえかなあ?

mod_proxy + mongrelで運用してるけど
特におせえって感じしないぞ
0913ポン太2007/01/04(木) 16:13:36ID:f9RGTlv/
CGIのプログラムで全く別の人のサイトにランダムにアクセスさせることは出来るのでしょうか?javaスプリプトなら出来るのでしょうが、携帯サイトでそれをやりたいので・・どなたかCGIに詳しい方、教えてください。
0914nobodyさん2007/01/06(土) 15:23:58ID:???
1.2RC2 age
0915nobodyさん2007/01/10(水) 11:06:44ID:???
rhtmlがどのコントローラやアクションで呼び出されているかを、rhtmlファイル内で調べる方法ってありますか?
0916nobodyさん2007/01/10(水) 11:36:49ID:???
params[:controller], params[:action]とか。
action内でローカル変数にcontroller_pathやaction_nameを代入するとか。


0917nobodyさん2007/01/10(水) 11:40:41ID:???
ageてもーた
0918nobodyさん2007/01/10(水) 18:42:44ID:???
次スレこれにしね?
【Asahi】Ruby on rails【Super】相談所 part3【DRY】
0919nobodyさん2007/01/10(水) 19:43:02ID:???
嫌だ。ビール嫌い。
0920nobodyさん2007/01/11(木) 23:18:21ID:8nQeuUsE
それよりもテンプレをどうするかだ
0921nobodyさん2007/01/12(金) 13:30:44ID:???
ActiveRecord で、最近のバージョンで created_at の扱いが変わってたりしますか?

例えば、

CREATE TABLE foos (
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
created_at INTEGER DEFAULT NULL,
updated_at INTEGER DEFAULT NULL
);

こんなテーブルで、

#!/usr/local/bin/ruby
require "rubygems"
require "active_record"
class Foo < ActiveRecord::Base; end
ActiveRecord::Base.establish_connection(
:adapter => "sqlite3",
:database => "/tmp/foo.db"
)
Foo::new.save
foo = Foo::find(:first, :order => "id DESC")
p [foo.created_at, foo.updated_at]

こんなコードを試すと、

ActiveRecord 1.14.3 => [1168575934, 1168575934]
ActiveRecord 1.14.4 => [0, 1168575940]

と、新しい方のバージョンでは created_at がセットされなくなってしまいました。
0922nobodyさん2007/01/14(日) 16:58:39ID:???
>>916
ありがとうございます。
あと、こういうのって自分でどうやって調べたらいいんでしょうか?
Railsによるアジャイル〜 に載ってます?
0923nobodyさん2007/01/14(日) 17:15:34ID:???
暇なときにAPIだらだら見たり。
Railsは挙動が凝ってるので、どうやってるんだろうと思ってソースを見たり。
0924nobodyさん2007/01/14(日) 20:44:03ID:???
結局はソース読む力つけないと
先進めないのよね・・・・
0925nobodyさん2007/01/15(月) 02:25:03ID:???
RedRails使ってUTF8の日本語ソース編集できますかね?
09269212007/01/15(月) 10:34:29ID:???
あれ?これで困ってるのは私だけすか?
0927nobodyさん2007/01/15(月) 11:15:59ID:???
テーブルにファイルの場所を保存していて、
そのファイルをいろんな場所で呼び出したりするんですが、
railsの、images/ディレクトリに入れるとして、
相対指定で、ファイルの場所を保存するのは不可能ですかね?いろんなディレクトリで呼び出す可能性があるので。
でも絶対指定ですると、開発環境から、本番に移行するときに、全部書き換えなきゃいけないんで、かなりめんどうです。
何か良い方法はありますでしょうか?
0928nobodyさん2007/01/15(月) 11:17:31ID:???
テーブルにファイルの場所を保存していて、
そのファイルをいろんな場所で呼び出したりするんですが、
railsの、images/ディレクトリに入れるとして、
相対指定で、ファイルの場所を保存するのは不可能ですかね?いろんなディレクトリで呼び出す可能性があるので。
でも絶対指定ですると、開発環境から、本番に移行するときに、全部書き換えなきゃいけないんで、かなりめんどうです。
何か良い方法はありますでしょうか?
新着レス 2007/01/15(月) 11:17
0929nobodyさん2007/01/15(月) 11:18:22ID:???
連投すいません
0930nobodyさん2007/01/15(月) 11:31:12ID:???
RAILS_ROOTを使って
File.join(RAILS_ROOT, 'public/images')

/../..と一杯入ってて気持ち悪ければ標準の pathname.rb(UNIX以外限定)を。

「public以下の何とかかんとか」とHTMLに埋めたい場合はasset_tag_helperの
中身でも見てください。
0931nobodyさん2007/01/15(月) 12:16:03ID:???
>>930
ありがとうございます。
@cgiとか@env使ってもいけそうですかね?
0932nobodyさん2007/01/15(月) 15:20:07ID:???
>>925
できますよ。
http://wiki.livedoor.jp/triplexsys/d/Ruby%20on%20Rails%20%b3%ab%c8%af%b4%c4%b6%ad%b9%bd%c3%db
の7番目の項目を参照。
0933nobodyさん2007/01/15(月) 15:44:14ID:???
>>921
問題ないよ?
09349212007/01/15(月) 19:02:12ID:???
>>933
「問題ない」というのは、きちんと created_at がセットされてる、ということですよね?
するとどうも問題が出るのは私だけみたいですね。
私の環境の方を調べてみようと思います。回答ありがとうございました。
0935nobodyさん2007/01/18(木) 16:11:31ID:???
>>931ですが、
@url.inspectってやると、たくさん出力されますけど、この値ってどうやって使うんですか?
@env['SERVER_NAME']とかで使えると思ったんですが。。。
0936nobodyさん2007/01/19(金) 08:39:29ID:???
まずはActionControllerのRdocを読んでみれば? 役に立つよ。
@envは恐らく@request.envの事かね。
0937nobodyさん2007/01/19(金) 10:36:38ID:???
Rails 1.2.1キター
0938nobodyさん2007/01/19(金) 14:33:09ID:???
うへ、1.2.0キターを書こうかと思ってたら .1 も来たのか。
0939nobodyさん2007/01/21(日) 09:37:59ID:???
railsのトップURLにアクセスするとpublic/index.htmlに飛ばされるけど、アレって変更できない?
0940nobodyさん2007/01/21(日) 10:23:36ID:puzlwj/b
本来は、public/ をトップディレクトリにして、公開するものじゃないの?
0941nobodyさん2007/01/21(日) 12:45:50ID:???
>>939
できるよ。
やりかたは忘れた。
0942nobodyさん2007/01/21(日) 16:03:45ID:???
>>939
public/index.htmlを削除すればいいんじゃない?
0943nobodyさん2007/01/21(日) 17:44:17ID:???
config/routes.rb
0944nobodyさん2007/01/21(日) 18:43:24ID:???
public/index.htmlを消してからconfig/routes.rbで
ドキュメントルートに'対応するルーティングを設定する
0945nobodyさん2007/01/22(月) 10:47:35ID:???
>>936
file:///C:/ruby/lib/ruby/gems/1.8/doc/actionpack-1.12.5/rdoc/index.html
これのことでしょうか?
0946nobodyさん2007/01/22(月) 13:18:31ID:???
:;:゙;`(;゚;ж;゚; )ブフォ   
0947nobodyさん2007/01/22(月) 23:33:34ID:e62MoJLY
pluginでvendor/pluginsの下にenginesをインストールすると
WEBrickを起動してブラウザからアクセスすると
"We're sorry, but something went wrong.
We've been notified about this issue and we'll take a look at it shortly."
(500エラー)が表示されてしまうのですが、同じような経験をした方はいないでしょうか?

login_engine,user_engineを入れていない状態でも
このようになります。単にenginesのあるなしで発生するようです。
ちなみに環境は以下です。

Ruby version 1.8.5 (i386-cygwin)
RubyGems version 0.9.1
Rails version 1.2.1
Active Record version 1.15.1
Action Pack version 1.13.1
Action Web Service version 1.2.1
Action Mailer version 1.3.1
Active Support version 1.4.0
Environment development
Database adapter postgresql
engines 1.1.4
0948nobodyさん2007/01/23(火) 01:39:25ID:bior7wbM
↑engines を1.0.6まで戻したら出なくなったわ。
0949nobodyさん2007/01/24(水) 11:11:56ID:???
どのファイルでも使える定数って定義できますか?
どこで定義したら良いのでしょうか?
0950nobodyさん2007/01/24(水) 12:55:09ID:???
>>949
environment.rbとか。
0951nobodyさん2007/01/25(木) 13:57:54ID:???
controllers\application.rbって全部のファイルから見れるんじゃなかったっけ??
0952nobodyさん2007/01/25(木) 14:39:43ID:???
ていうかどこでもいいんじゃね?
0953nobodyさん2007/01/25(木) 18:38:03ID:???
environment.rbに定義したら使えたけど、
controllers\application.rbは無理でした
0954nobodyさん2007/01/25(木) 19:35:06ID:???
ええとまあ普通は全体で共有する設定はenvironment.rbに書くけど
クラスの外で定義すりゃapplication.rbに書こうがどこからでも参照できる、
っていう俺の認識は合ってる?
0955nobodyさん2007/01/25(木) 19:41:07ID:???
LoadingModule とかあるから「どこでもいいんじゃね?」はちと違うような。
0956nobodyさん2007/01/25(木) 19:56:41ID:???
少なくとも確実にrailsがロードするファイルの
クラス外で定義すれば、でいいのかな
rubyのNamespaceの概念をちゃんと把握できてるのか不安、、
0957nobodyさん2007/01/25(木) 21:52:43ID:???
>>949
どのファイルでも使える定数なるものが必要になる設計は間違っている可能性が高いです。
設計から見直しましょう。
0958nobodyさん2007/01/25(木) 23:27:10ID:???
そもそも何をもって間違っているとするかだよね。
0959nobodyさん2007/01/26(金) 01:17:13ID:???
そりゃ、人間として正しい道かどうかが一番の基準だろ。
0960nobodyさん2007/01/26(金) 03:06:38ID:???
>>957
グローバル変数=悪って考えは古いよ。
ビューの中でロジック書いちゃだめとか言う人?
0961nobodyさん2007/01/26(金) 09:25:39ID:???
クラス名やモジュール名は定数なわけだが
0962nobodyさん2007/01/26(金) 10:19:45ID:???
そもそも「どのファイルでも使える」って言いまわしに不安をおぼえる。
0963nobodyさん2007/01/26(金) 10:50:29ID:???
それで結局 >>950 では何かまずいの?
0964nobodyさん2007/01/26(金) 16:46:53ID:???
>>960
グローバル変数とビューにはどんな関連があんの?
おまえのほうがステレオタイプでかっこわるい
0965nobodyさん2007/01/26(金) 17:37:02ID:???
まぁたしかに「どのファイルからでも使える定数」てのは「グローバル変数」のことじゃないし

0966nobodyさん2007/01/27(土) 00:26:29ID:???
栄えあるRubyistが馬鹿な話題を続けるのはやめましょう(^^)v
0967nobodyさん2007/01/27(土) 01:03:56ID:???
まだ生えてないんですけど?
0968nobodyさん2007/01/27(土) 01:48:54ID:???
写真うp
0969nobodyさん2007/01/29(月) 01:29:12ID:DMa5e1cQ
Railsの開発環境なんですが、皆さんは、何を使っておられますか?
Vim?emacs?できれば、使用しているプラグイン、拡張も教えていただければと思います。

私は、RadRails使ってたんですが・・・重い・・・。
(WebRickの立ち上げ一つになんであんなに時間かかるんじゃい)
0970nobodyさん2007/01/29(月) 03:16:28ID:???
MacでTextMateとvim。
0971nobodyさん2007/01/29(月) 15:45:26ID:INZTM8y/
>>970
TextMateって人気ありますね。ム板のエディタスレでもたくさん使っている人がいるようでした。
Railsもサポートされているんでしたっけ?
0972nobodyさん2007/01/29(月) 15:55:12ID:???
RadRails今日から使いはじめた。やっとデバッグのやり方わかたよ。
xyzzyでrails.el使えたらいいのに。
0973nobodyさん2007/01/29(月) 15:58:31ID:???
TextMateのRails対応は
・文法に応じた色づけ(Ruby, ERb/HTML)
・さまざまな略語展開
・コントローラ/ビュー/テストなどの対応するコード間を行き来する。
・選択範囲のpartialを展開したり戻したり
・script/serverを操作
・script/generateを操作
なんてのがあるようだ。

Macなら選択肢に入れてもいいんじゃない? 有料だけど。
0974nobodyさん2007/01/29(月) 19:02:05ID:???
Railsのデモ見て、金払ってでも欲しくなったよ。
(日本語対応してないらしいから、微妙かもしれないけど)

だけど、俺はWindows!
Windowsであんな感じのエディタ無いかなぁ。
0975nobodyさん2007/01/29(月) 19:36:16ID:???
これ、まだアルファ版だけど将来どうなるかな。
TextMateにインスパイヤ^H^H^H^H^H^Hinspireされてるらしいけど。
ttp://intype.info/home/index.php

First release will support these grammars: (X)HTML, CSS, JavaScript, Ruby
(including Ruby on Rails & RHTML), PHP (including CakePHP), Python, Java, C,
C++, Objective-C, Latex, Lisp, Lua, Smarty, Markdown, Textile, Twiki, XML,
YAML, and more. All including related dependencies (e.g. HTML + CSS + JS +
PHP/RHTML/Python).

EmEditorもv6はsnippetが使えるぽい?
0976nobodyさん2007/01/29(月) 21:03:33ID:???

emacsで rails.el いいかんじだとおもう。

UnixでもMacでもWindowsでも同じ環境になるし。
もともと emacsが嫌いならダメだけどね。
0977nobodyさん2007/01/29(月) 22:45:07ID:???
macならTextMate
winならeclipse+rdt+radrails
linuxならemacs+rails.el or vim+rails.vim

colinux+sambaでlinux環境でeclipse+rdtでrails勉強中
radrailsはまだ使ってない
0978nobodyさん2007/01/29(月) 23:46:24ID:???
Windows用では、IntelliJ-IDEAに最近Railsプラグイン
がリリースされてる。

ttp://www.jetbrains.net/confluence/display/RUBYDEV/Ruby+Plugin+0.1+Release+Notes
0979nobodyさん2007/01/30(火) 02:33:14ID:???
>>973
vim + rails.vimで全部できる。Vim最強。
0980nobodyさん2007/01/30(火) 02:43:42ID:???
>>979
そういう書き方はまっとうなvimユーザーの評判を落とすから
よしたほうがいいよ。
0981nobodyさん2007/01/30(火) 09:32:00ID:???
世間体をきにするな
0982nobodyさん2007/01/30(火) 12:50:04ID:???
Instantrails1.4+ruby-gettext1.9使えている方いらっしゃいますか?

require 'gettext/rails'
しようとするとエラーが出ます。

script/consoleにて試しました。
>> require 'gettext/rails'
NoMethodError: undefined method `alias_method_chain' for ActiveRecord::Validations::ClassMethods:Module
from d:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/gettext-1.9.0-mswin32/lib/gettext/active_record.rb:87
from d:/INSTAN~1/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require'
from d:/INSTAN~1/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require'
from d:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/activesupport-1.3.1/lib/active_support/dependencies.rb:147:in `require'
from d:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/gettext-1.9.0-mswin32/lib/gettext/rails.rb:438
from d:/INSTAN~1/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:33:in `gem_original_require'
from d:/INSTAN~1/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:33:in `require'
from d:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/activesupport-1.3.1/lib/active_support/dependencies.rb:147:in `require'

誰か原因がわかる方がおられましたら教えてください。
0983nobodyさん2007/01/30(火) 13:15:37ID:???
>982
alias_method_chainがInstantrails1.4に入っているRails1.1.6では対応してない。
Railsを1.2.1にするか、ruby-gettextのバージョンを下げる。
09849822007/01/30(火) 23:38:33ID:???
>>983
ありがとうございます。
ruby-gettextを1.8にしたらOKでした。
0985nobodyさん2007/01/31(水) 22:55:20ID:???
リレーションって張る必要なくね?
0986nobodyさん2007/02/01(木) 00:09:15ID:???
Railsだけを使うのなら無意味。
他のフロントエンドを開発・使用する可能性があればリレーションをつなげておく方がいい。
0987nobodyさん2007/02/02(金) 16:30:13ID:???
RailsでGoogleMapsAPIを使いたいんですが、
どこかいいHPで紹介されてないでしょうか?
0988nobodyさん2007/02/04(日) 03:17:58ID:???
rails使ってバッチでhtmlを大量に作りたい場合ってscript/runner使うのが一般的?
今は、script/serverを立ち上げといてcronからwgetで作ってるんだけど、カッコ悪いと指摘されてしまった。。。
0989nobodyさん2007/02/04(日) 13:12:32ID:???
>>988
どっちも大差ないでしょ。
0990nobodyさん2007/02/05(月) 09:44:26ID:???
>>987
オーライリーの本よんだ方がよくね?
0991nobodyさん2007/02/05(月) 20:27:58ID:???
>>987
artonさんの本に載ってた。
0992nobodyさん2007/02/05(月) 20:42:33ID:???
次スレの季節
0993nobodyさん2007/02/06(火) 20:12:22ID:???
立てた

【Ruby】Ruby on Rails Part3
http://pc10.2ch.net/test/read.cgi/php/1170760209/
09949212007/02/07(水) 12:36:48ID:???
最近 SQLite3 の不具合について巷間で騒がれてるのを知り調べてみたところ、
どうやら ActiveRecord ではなくて SQLite3 の方が変わったのが原因のようです。
AR と SQLite3 を同時にアップデートしていたので切り分けを間違えてました。

それで、試しに AR 1.14.4 で SQLite3 の 3.3.8 と 3.3.7 で試してみたところ、

SQLite3 3.3.7 => [1170818667, 1170818667]
SQLite3 3.3.8 => [0, 1170819031]

と、新しい方のバージョンでは created_at がセットされなくなっていました。

というわけで、 SQLite3 3.3.8 以降が悪い、
もしくは ActiveRecord の SQLite3 ドライバが SQLite3 3.3.8 以降に未対応 (?) 、
ということのようです。

いずれにせよ SQLite3 の最新を使おうとする場合は要注意なようです。
09959212007/02/07(水) 14:28:34ID:???
ちょうどタイムリーにこんなのが出てました。これで直るかな?

http://rubyforge.org/forum/forum.php?forum_id=11954
http://weblog.rubyonrails.com/2007/2/6/rails-1-2-2-sqlite3-gems-singular-resources
0996nobodyさん2007/02/07(水) 14:32:11ID:???
WindowsXPのRubyOnRailsで、
サンプルを実行しようとしましたが動作できません。
D:\>rails test
D:\>cd test
D:\test\>ruby script/server
./script/../config/boot.rb:29: undefined method `gem' for main:Object (NoMethodE
rror)
from script/server:2:in `require'
from script/server:2

環境は以下の通りです。
 Ruby ruby 1.8.5 (2006-08-25) [i386-mswin32]
 RubyGems 0.8.11
 >gem list
 actionmailer (1.3.2)
 actionpack (1.13.2)
 actionwebservice (1.2.2)
 activerecord (1.15.2)
 activesupport (1.4.1)
 rails (1.2.2)
 rake (0.7.1)
 sources (0.0.1)
RubyとRubyGemsはzipファイルを解凍してコピーし、パスを通しました。
RubyOnRailsは、
>gem install rails -y
でインストールしました。
以前、InstantRailsを使ったときは問題なくWEBrickが起動できたのですが。
今回個別に入れていくとこうなりました。
エラーメッセージを見ても何が問題なのか分かりません。
ruby script/serverを実行するまではエラーは出ていません。
どうすれば動作するでしょうか、教えてください。
0997nobodyさん2007/02/07(水) 14:55:01ID:???
gem 0.9.0.8でrequire_gemメソッドをgemメソッドに置き換えたような
ので、バージョンを上げてみては?

0998nobodyさん2007/02/07(水) 15:08:37ID:???
>>997
ありがとおおおおお!!
RubyGemsを最新にしたら起動できました!
09999212007/02/07(水) 16:18:07ID:???
試してみたところ、ばっちり直りました。
というわけでほとんど独り相撲状態でしたがこれで解決しますた。
スレ汚し失礼しました。
1000nobodyさん2007/02/07(水) 16:26:05ID:???
1000ならEngines1.2に上げたら動かなくなっちゃった気がするLoginEngineが動いてくれる。
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。