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

【Ruby】Ruby on Rails Part7

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2009/04/30(木) 23:07:27ID:???
■前 Ruby on Rails のスレ が
http://pc11.2ch.net/test/read.cgi/php/1224838013/

■参考サイト
<英語>
本家: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 35
http://pc12.2ch.net/test/read.cgi/tech/1238194350/
Ruby 初心者スレッド Part 27
http://pc12.2ch.net/test/read.cgi/tech/1238632943/l50
0074nobodyさん2009/05/16(土) 23:28:15ID:???
:orderの値には「SQLの一部」を書くことになっているので、その方法でOK。
シンボルを書けるのは、単にSQLに埋め込むときにシンボルを #to_s した
ものが入るから。

0075nobodyさん2009/05/16(土) 23:37:41ID:???
なるほど、レスさんくす。

通常あり得ないとは思うけど、カラム名が変わったときにシンボルで指定できると
修正が1カ所ですむけど、カラム名直書きしてしまうと、そのカラムが含まれる
すべての箇所を修正しないといけないから、何かスマートな方法あるかなと思っただけなんだ。
0076nobodyさん2009/05/17(日) 00:00:07ID:???
class Category
named_scope :by_category_asc, :order => 'category ASC'
named_scope :by_category_desc, :order => 'cateogry DESC'
end

としておくと、
Category.by_category_desc.find(:all, :conditions => '...')
などと書ける。
パラメータはマージされるので何度もSQLが走るということもない。
0077nobodyさん2009/05/17(日) 00:11:22ID:???
なるほど、ありがとう!
上の方法の方がスマートなので、そっちで書いてみます。
0078nobodyさん2009/05/17(日) 00:18:09ID:???
> カラム名が変わったときにシンボルで指定できると修正が1カ所ですむけど

この意味が分からないのだが、
例えば「category」カラムの名前が「business_category」に変わったとしたら、
その1カ所をどういうふうに修正するの?
0079nobodyさん2009/05/17(日) 00:35:24ID:???
すみません、シンボルをどこかに実体があって、それを
シンボリックリンクのように参照しているものだと妄想してました…。
0080nobodyさん2009/05/17(日) 02:22:44ID:???
>>79
なるほど、了解。自分が知らない重大なことかと思ったよ。
0081nobodyさん2009/05/17(日) 15:05:25ID:???
>>72
なるほどやっぱりそうなんですね。

というか、railsのソース見てて思ったんですが
Rubygemsでも特定の配置にしたら、railsのgeneratorとして読み込んでくれるんですね。
利用者としてはこっちの方が簡単だ。
ちゃんと動くの確認したら、gems化の要望出しときます…。
0082nobodyさん2009/05/17(日) 15:13:57ID:???
ところでアプリケーションテンプレート使ってる?
何となくどんなの使ってるかしりたいんで皿島元々

plugin 'restful-authentication', :git => 'git://github.com/technoweenie/restful-authentication.git'
plugin 'forgot_password', :git => 'git://github.com/greenisus/forgot_password.git'
plugin 'role_requirement', :git => 'git://github.com/timcharper/role_requirement.git'
gem 'mislav-will_paginate', :lib => 'will_paginate', :source => 'http://gems.github.com'
gem 'rubyist-aasm', :lib => 'aasm', :source => 'http://gems.github.com'
gem "capistrano-ext", :lib => "capistrano"
rake("gems:install")
generate("authenticated", "--include-activation", "--aasm", "user", "session")
rake("db:migrate")
generate(:controller, 'welcome', 'index')
route "map.root :controller => 'welcome'"
run "rm public/index.html"
run "rm public/images/rails.png"
file ".gitignore", <<-CODE
.DS_Store
log/*.log
tmp/**/*
db/*.sqlite3
doc/api
doc/app
CODE
run "touch log/.gitignore"
run "touch tmp/.gitignore"
git :init
git :add => "."
git :commit => "-a -m 'Initial commit'"
0083nobodyさん2009/05/17(日) 15:21:02ID:???
いかん。すげー中途半端なテンプレだな。
なにやりたいかってbortぽいのをアプリケーションテンプレート使って作りたいんだけど素人は一からコツコツやれってことだろなぁ。
0084nobodyさん2009/05/17(日) 17:37:58ID:???
>>82
自分はまったく使ってないわ。
そんなに新規で作る事が少ないというのもあるけど、
一から設定するのもそれほど手間じゃないから。

今よく使うのはこんなもんかな。
mislav-will_paginate
jpmobile
postgres
rmagick
i18n_genrators
mongrel
mongrel_cluster
バージョン管理はSubversion。
そのうちgitも試してみたいと思う。

公開する時は、Passengerを使う事が多くなってきたけど、
スペックが低いサーバだとPassengerよりmongrelを複数起動して、
Apacheのproxy_balancerで動かすほうがレスポンス早いので、mongrelもしばらく使うつもり。
0085822009/05/18(月) 00:04:25ID:???
アプリケーションテンプレート集みつけたんで一応はっときますよ
http://github.com/jeremymcanally/rails-templates/tree/master

>>84
確かにPassengerの初回起動は遅いもんなぁ。
mongrel使った事ないから試してみるよ!
0086nobodyさん2009/05/18(月) 00:53:06ID:???
>>85
mongrel 使ったことないということだけど、
普段(ローカルの開発環境) は webrick 使っていて、本番環境は Passenger を使っているの?
0087822009/05/18(月) 01:22:25ID:???
>>86
うん
開発webrickで本番Passenger。
monoで開発してた時も開発XSP本番mod_monoだったなぁ。
なんとなくapacheの方が安定してるのかなぁという思い込みでt
0088nobodyさん2009/05/18(月) 01:24:25ID:???
なぜ今さらMongrel? もう1年くらい開発止まってるでしょ。
今ならThinかEbbじゃないの。
0089862009/05/18(月) 02:32:23ID:???
>>87
なるほど、どうもありがとう。

>>88
私はRailsはじめて2ヶ月弱なので、そういうのがわからないんです。
職場のプロジェクト環境が、ローカルの開発環境は mongrel で(gem install だけで入るし、Windows でも動くので)、
本番をどうしようかと話していてます(本番は passenger の予定)

Passenger が出てくる前は、雑誌やwebを読んでいて、
fastCGI、lighttpd、apache + mongrel_cluster という組み合わせがあったけど、
いまは本番運用ではどれが定番なんですか?(Linuxの場合)
Thin と Ebb というのは初めて知ったのでこれからググってくる。
0090nobodyさん2009/05/18(月) 08:33:09ID:???
ここのスレ見て参考にしてPassengerにしたら1日半に1回くらい順調に落ちる。ありがとな。
ホスティングだからメモリの問題だとは思うけど。
0091nobodyさん2009/05/19(火) 06:26:08ID:???
2年前くらいにrailsはアジャイルだって騒がれてたけど
今でもrailsは開発早いの?
それとも何か新しいのでた?
ほかの言語もrails並に早くなった?
0092nobodyさん2009/05/19(火) 07:14:33ID:???
結局、腕の善し悪しに左右されます
0093nobodyさん2009/05/19(火) 08:26:28ID:???
>>91
体制次第。
0094nobodyさん2009/05/19(火) 11:23:22ID:???
バージョン頻度と、その互換性のなさに少し微妙な空気が流れている気がする
0095nobodyさん2009/05/19(火) 11:30:03ID:???
ほんとバージョン管理しんどいな
rails3がでてmerbと統合したら、、
0096nobodyさん2009/05/19(火) 11:55:09ID:???
rails は黒魔術が多いなぁ。
複数人でやると、こんな書き方があるのかーというばかり。
聞けば分かるけど、読んだだけではすぐには分からない書き方が多いような気もする。
0097nobodyさん2009/05/19(火) 12:13:21ID:???
読んで分からんというか、そこだけ読んでもわからんというのはある。
動的にメソッド追加してて、どこに定義があるのかctagsで追えないとか。

でも勘とgrepでソース読めばなんとかなるレベルだとは思う。
ruby-debugがマシになってきて、railsの動的なコードの山もあまり怖くなくなってきた気がしなくもない。
0098nobodyさん2009/05/19(火) 12:57:37ID:???
>>96-97
それも「開発効率が悪い」の一種だよね
0099nobodyさん2009/05/19(火) 17:55:25ID:???
始めて数日のひよっこだけどメソッドを追えないのは
規定を知らないだけで開発効率関係ないと思う
動的にメソッド入るならコメも入れてよって泣きながら探してる
0100nobodyさん2009/05/19(火) 22:26:10ID:???
railsって始めるのに何をしたらいいの?
rubyを書けること?
MVCを理解すること?
railsの統合開発環境をインストールして、どっかの本を見ながらいじればいいの?
0101nobodyさん2009/05/19(火) 22:34:10ID:???
APIが理解できれば何とでもなる
0102nobodyさん2009/05/19(火) 22:38:35ID:???
>>100
プログラム初心者だと大変かもしれない。
Ruby初心者でも他の言語の経験があれば大丈夫かな。

Rubyが理解できる事が必須だけど、Railsと一緒に覚えていけばいい。
まずは環境のインストール方法が分かりやすく載っている本を買って
そのとおり進めていくほうが迷わないのでおすすめ。
本が扱っているバージョンはちょっと古いけど、そのバージョンに自分の環境を合わせる事が大切。
うっかり最新版を入れてしまうと、Railsの仕様が変わっているために迷子になってしまう。
0103nobodyさん2009/05/19(火) 22:39:09ID:???
railsで何を作るかをまず決める
0104nobodyさん2009/05/19(火) 22:57:59ID:???
何が作れるか分からない
例えばPHPならデータベースへの接続がしやすいとか、
なんとなーくこういうのに向いてるよっていう指標は無いの?
と、全くrubyを知らない俺が聞いてみる。
0105nobodyさん2009/05/19(火) 23:18:46ID:???
PHPでやれることはRailsでもできる
好みの問題という気がする。
0106nobodyさん2009/05/20(水) 02:04:50ID:???
Webで公開されているAPIがjavaのとき
Railsでは使えないの?
それとも使えるrailsのgemがあるの?
0107nobodyさん2009/05/20(水) 02:19:51ID:???
Web APIということはHTTPを喋って何らかのボディを返すと
いうことなので、ふつうは言語不問。
ボディの内容を解釈できるかは足回り(XMLとかJSONとかなら
パーサが要るわけで)次第。

0108nobodyさん2009/05/20(水) 02:53:06ID:???
レスをそのまま解釈すれば、
普通のAPI(どこかに落ちててWebでダウンロードできる)だと思うけど
0109nobodyさん2009/05/20(水) 06:03:49ID:???
Rails3ってでた?

0110nobodyさん2009/05/20(水) 06:19:02ID:???
出たよ。なかなか好印象。
0111nobodyさん2009/05/20(水) 07:03:26ID:???
RoRの開発環境って色々あるけど、
今は何を使ったらいいの?
0112nobodyさん2009/05/20(水) 10:18:11ID:???
IDEは重いからエディター派
Rinari+emacsか
macならtextmateがオヌヌメ
0113nobodyさん2009/05/21(木) 10:55:01ID:???
time_selectとかdate_selectのデフォルト値ってどうやって変えればいいですか?
from_forでf.time_selectだと:default => {:hour => }があるみたいですが、
time_selectだと上記オプションでは上手くいきません。
Controller側に設定したい時間オブジェクトがあるのでデフォルト値をそれにしたいのですが…。
01141132009/05/21(木) 13:29:08ID:???
すみません、自己解決しました。
0115nobodyさん2009/05/21(木) 18:30:28ID:Fhc0Zbqv
>>111
・Aptana RadRails重い
・NetBeans めちゃ軽い ただし、rspec、autotest等最新版に対応してないので、小細工がいる。(動かせることは動かせる)
0116nobodyさん2009/05/21(木) 18:34:10ID:???
6.7で対応するんだろ?
0117nobodyさん2009/05/21(木) 18:50:04ID:???
>>116
Betaで開発してもOKなら、6.7でもいいと思うよ
0118115=1172009/05/21(木) 20:01:06ID:???
NetBeansためしにNightlyにしたら、autospecとかrspecとかもちゃんと動いた…。
今までの苦労はなんなんだよw

>>116 にはありがとうといいたい。

・NetBeans 6.7m3 Download
http://bits.netbeans.org/download/6.7/m3/

・NetBeans Nighly ダウンロード
http://bits.netbeans.org/download/trunk/nightly/latest/
0119nobodyさん2009/05/21(木) 20:43:24ID:???
betaで良ければって言うけど、正式板リリースは6月じゃなかったか?
0120nobodyさん2009/05/22(金) 23:09:09ID:???
attachment-fuで画像とかをmysqlに保存しようとするとバイナリデータが
ぶっ壊れるんだけど、同じ現象解決した人いないか?
file_fieldメソッドをviewに読み込んでPOSTしてるんだけど、
受け取ったファイルを試しに自作のBLOB型のカラムに

自作table.blob型のカラム = params[:file_fieldのid].read

で保存したら正しく保存されたっぽい。
rails2.3.2

attachment-fuプラグインは、:storageオプションを:db_fileにすると
db_filesテーブルに保存してくれるようだが、中を覗いてみると
バイナリがかなり欠損して、元ファイルの1/5くらいのサイズになっている・・・。
0121nobodyさん2009/05/23(土) 01:34:50ID:???
データサイズを指定しいたりしてw
0122nobodyさん2009/05/23(土) 07:49:36ID:???
それ共有鯖で無茶してるだけじゃないの?
0123nobodyさん2009/05/23(土) 09:42:19ID:???
RoRって作るのはすごい速いらしいけど、
覚えるのは何ヶ月くらいかかるの?
0124nobodyさん2009/05/23(土) 10:59:34ID:???
HTMLとCSSとSQLとRubyをマスターしてるなら覚えるのはRailsの規約だけ
0125nobodyさん2009/05/23(土) 11:47:12ID:???
>>121-122
いや、ローカルの開発サーバ…。
windowsなのが原因なのかもしれん。
とりあえずレスありがとう。
0126nobodyさん2009/05/23(土) 15:56:37ID:???
WindowsだとFileをテキストモード(笑)で読んでるところがあって、それで壊れたということがあったよ。
パッチ送った気がするけど、スルーされてたのか。。。

中で一時ファイルとかをFile.read(path)的に読んでるところがあったらそれをFile.open(path, "rb", &:read)に
書き換えればうまくいくのではないだろうか。
0127nobodyさん2009/05/24(日) 01:42:02ID:xGQhsS/X
質問させてください。

よくない例かもしれないのですが、
person.parents << parent = Parent.new
person.children << GrandParent.new(:grand_parent_id => parent.id)
person.save

みたいなことがしたいのですが、これだとChild.grand_parent_idがnilになってしまいます。
このような場合で、あるテーブルと、そのテーブルにhas_manyな関係のテーブル2つ(合計3つ)を同時にsaveするうまい方法があったら教えていただけないでしょうか??
ご教示頂けると幸いです><
0128nobodyさん2009/05/24(日) 14:19:16ID:???
>>127
少し面倒でも、トランザクションの中で1つ1つsave!するほうが確実だと思うよ。
トランザクションだから同時に保存するという要件も満たしているし。

begin
 ActiveRecord::Base.transaction {
  parent.save!
  person.save!
  children.save!
 }
rescue Exception
end
0129nobodyさん2009/05/24(日) 21:48:48ID:???
多対多の関連があるテーブルで相手要素をチェックボックスで選択するようなフォームをエレガントに作ったよって人いる?

例)
興味のある麺類を選んでください。
□ うどん
□ そば
□ きしめん

↑ユーザプロフィールと麺類を多対多で関連づける

最初はact_as_bitsで実装して上手く行っていたのだけど、要素の順番を保存できないのと
要素を動的に追加したいという要望がでてきてact_as_bitsでは対応できなくなったぽい

んで、代替策として多対多の関連を定義して対応することにしたんだけど、
railsのモデル更新系フォームヘルパが複数選択のチェックボックス(パラメータを配列で送る)に
対応してないじゃないですか!
仕方がないのでチェックボックスのname属性を自力で書き換えたり
モデルにチェック/非チェックを返すアクセサメソッドの定義を追加したりしたんだけど
なんだかすごいメンドクセーという次第でして

この辺を上手いこと解決できる方法やプラグインなどはないでしょうか?
要望としては、できればcheckbox_tagは使いたくないです
0130nobodyさん2009/05/24(日) 22:03:09ID:???
自分でつくれば?
0131nobodyさん2009/05/24(日) 23:13:20ID:???
自分で作るぐらいならrailsを使わないほうが簡単な現実。
0132nobodyさん2009/05/25(月) 00:14:50ID:???
や、動くもの自体は既にできているのですが、もっと上手い方法があるかなーと思いまして
0133nobodyさん2009/05/25(月) 00:44:27ID:???
「動く」ってビット列でその手のデータを保存するなんて・・・
0134nobodyさん2009/05/25(月) 00:54:00ID:???
データの内容は例であって本筋とは関係のない話です
実物は集計する必要もない項目ですが、こっちの方がイメージしやすいかと思いまして
0135nobodyさん2009/05/25(月) 00:58:08ID:???
>>131
プラグインくらいつくらないの?

それじゃrailsをつかいこなしてるとはとてもでないけどいえない
0136nobodyさん2009/05/25(月) 13:45:02ID:???
redmineの質問なのですが、Rails製なのでここでもよいですよね?

Windowsで動かしてみているのですが、redmine.batに以下を書いて、

 ruby script/server -e production -p 2900

batを起動すると、DOS窓?が開いた状態になってしまうのですが、
これを開かないで実行しておくことはできないのでしょうか?

 rubyw script/server -e production -p 2900

だと、タスクマネージャで見ているとrubywがすぐに終了してしまいます…

Portable化したいので、サービス化以外の方法で行いたいのですが…
01371362009/05/25(月) 14:21:47ID:???
>>136 ですが、
Railsスレの過去ログ見てたら解決策がありました。

バッチファイル化しなければよかったんですね…。
例えば、ショートカットを作って、
 ruby script/server -e production -p 2900
を割り当てて、作業ディレクトリをredmineのものにしたら、窓ひらかずに起動できました。

ありがとうございました。

追加でお聞きしたいものなのですが、
このようにして起動した場合、タスクマネージャではプロセスruby.exeが載ってしまって、
他のRubyプロセスと区別がつかないのですが、区別を付くようにする方法ってないものでしょうか?
重いrubyアプリなどを動かした時に、redmineの方を間違って落としてしまわないかと心配です。

Ruby初心者スレの方で聞いたほうがいいのかな…。
0138nobodyさん2009/05/25(月) 14:57:47ID:???
>>137
ruby.exe を hoge.exe に別名でコピーして、
ruby script/server の代わりに、
hoge script/server とやる。

なんかダサイけど、これが一番手っ取り早い。

あるいは、Linux 版で mongrel 使っていると、
$RAILS_ROOT/log に mongrel.pid というファイルが出来るので、
その pid を kill すればいいけど、Windows でもそうなっていませんか?
01391362009/05/25(月) 15:46:00ID:???
>>138
ありがとうございます。
おお、ruby.exeは名前変えても動くんですね!

findしてみましたけど、mongrel.pidは見つかりませんでした。logにもなかた。windowsのせいかな…

exeの名前を変えると言われて気づいたのですが、タスクマネージャのメニューから「表示」「列の選択」から、
「コマンドライン」をチェックすると、プロセス起動時に渡した引数を見ることができました。
これで見分けがつきます!
これはVistaの機能だと思うのですが、Windows XPなら Process Explorerとかを使えば同じことができるはずです。

ありがとうございます。助かりました。

て今気づいたけど、
>>136-137が実は解決していませんでした orz
窓がやはり出てしまいます。ショートカットのオプションで最小化していただけでした。
裏で動かすには、サービス化以外で何がいいんだろ…。
0140nobodyさん2009/05/25(月) 15:48:11ID:OXJaCHfT
railsを初めて触って動作を確かめています。

scaffoldでモデル(member)とビューを自動で作ったのですが、
気になる点があるので質問させてください。

以下のどちらのURLでもメンバーID=1番の情報を表示できるのですが、
これはどこで定義されているのでしょうか?(showが省略できる)

http://localhost:3000/members/show/1
http://localhost:3000/members/1

members_controller.rbもroutes.rbにも見当たりませんでした。

indexとshowは特殊なアクションでrails内部で既に定義されているという
ことなのでしょうか?

(railsのバージョンは2.3.2です。)
0141nobodyさん2009/05/25(月) 15:53:56ID:???
routes.rbの中にmap.resourcesってやつがあると思う。
そいつが指定されるとそうなる。
0142nobodyさん2009/05/25(月) 15:58:47ID:OXJaCHfT
>>141
すばやい返事ありがとうございます。
ちょっとmap.resourcesについて調べてみます。
0143nobodyさん2009/05/25(月) 16:00:39ID:???
>>138
NTFSならハードリンクでもいける
01441382009/05/25(月) 16:14:38ID:???
>>143
Rails ではなく Windows の話になるけど、
hoge.exe を ruby.exe のハードリンクとした場合、
hoge.exe を消すと ruby.exe も消されてしまわない?(WinXP)
http://www.atmarkit.co.jp/fwin2k/win2ktips/982hardlink/hardlink.html

いまやってみたら、消そうとしたら「アクセスが拒否されました」と言われて、そもそも
ハードリンクで作った hoge.exe が消せなくなった。
(再起動したら消せるかも知れないが、めんどくさくてやってない)

>>139
バッチファイルに、以下じゃダメかな?
start ruby scrit/server
01451362009/05/25(月) 16:30:14ID:???
>>139

> バッチファイルに、以下じゃダメかな?
> start ruby scrit/server

実は、
 start /B ruby scrit/server
とか
 cmd.exe /k start /B ruby scrit/server
とか色々試したのですが、うまくいかず、結局、wshのjscriptを使って起動させることにしました。

----------redmine_start.js-----------
shell = WScript.CreateObject("WScript.Shell");
shell.Run("ruby.exe script/server -e production -p 3500", 0);
----------------------------------
Runに 0 を指定するとウインドウを非表示で起動してくれるみたいです。

参考:
Run メソッド
http://msdn.microsoft.com/ja-jp/library/cc364421.aspx
Windows Script Programming: バッチファイル、コンソールアプリなどを非表示で実行する。
http://scripting.cocolog-nifty.com/blog/2006/10/post_c77d.html


無事解決した模様です。ありがとうございました。
01461382009/05/25(月) 16:33:13ID:???
>>145
こちらこそ参考になりました。どうもありがとう
0147nobodyさん2009/05/25(月) 18:08:00ID:???
>>126
レスありがとう。まさにそんな感じだった。
バイナリデータが、一部がごそっと欠損するわけじゃなくて、
途中途中のデータが消えてスカスカになる感じ。
まさに、バイナリデータを文字として開いているような・・・。

結局、指摘の方法をやってみたけどもだめで、素直にlinuxでやることにした。
(やりかたが間違ってたら申し訳ない。)


しかし新たな問題が発生。。。

今error_message_forを使ってエラーメッセージをだしているのだけども、
attachment-fuのvalidates_as_attachmentをつかって検証すると、
添付ファイルが無いときに

Content type can't be blank
Size can't be blank
Size is not included in the list
Filename can't be blank

と上記のような、ユーザーには関係ない内部的なエラーが表示される…。
今は、controllerの添付ファイルアップロード用メソッドに、
添付ファイルがpostされなかったら@モデル名.erros.addに「添付ファイルが無い」旨の
エラーメッセージを詰めて、処理を中断するようにしてるけど・・・

このプラグイン使っている人は、ファイルが選択されずにpostされたときは 、
どこで検証して、メッセージを表示してるんだ?
0148nobodyさん2009/05/25(月) 18:21:59ID:???
>>144
> hoge.exe を消すと ruby.exe も消されてしまわない?(WinXP)
> http://www.atmarkit.co.jp/fwin2k/win2ktips/982hardlink/hardlink.html
Explorerにそういうバグがあるの?
リンク先にもそんな記述はないようだけど。

> いまやってみたら、消そうとしたら「アクセスが拒否されました」と言われて、そもそも
> ハードリンクで作った hoge.exe が消せなくなった。
そりゃhoge.exeが動いてるんじゃね?
01491382009/05/25(月) 18:53:30ID:???
>>148
>> hoge.exe を消すと ruby.exe も消されてしまわない?(WinXP)
>> http://www.atmarkit.co.jp/fwin2k/win2ktips/982hardlink/hardlink.html
>Explorerにそういうバグがあるの?
>リンク先にもそんな記述はないようだけど。

失礼、ジャクションと勘違いしていた。

>> いまやってみたら、消そうとしたら「アクセスが拒否されました」と言われて、そもそも
>> ハードリンクで作った hoge.exe が消せなくなった。
>そりゃhoge.exeが動いてるんじゃね?

こっちについては、hoge.exe は動いていなかったが、なぜかはわからん。
Who Lock Me で調べても出てこなかったが、ファイルサイズも小さいし気にしないことにする。

0150nobodyさん2009/05/25(月) 23:46:56ID:???
Drupalと連携できないのRoRは糞だダメだカスだ
0151nobodyさん2009/05/26(火) 00:16:03ID:???
>>126
報告ですが、linuxだとできますた。
自分は最近やっとこさVMとかlinuxとか動かせるようになったひよっこだが、
オープン系の人ってwindows嫌いなんだろうかw
0152nobodyさん2009/05/26(火) 00:43:30ID:???
オープンソースとオープン系は別物。

「オープン系」はメインフレームの一社でのまるごとシステム提供に
対してUNIXやWIndowsでいろいろなメーカーのを使うことを指す用語。

嫌いというか、 Windowsに興味がない人は多い。
UNIX畑の人が優勢な世界だしね。
MacはOSXになってUNIX寄り(定義上はUNIXそのもの)になったから
まだましだが。
0153nobodyさん2009/05/26(火) 01:01:38ID:???
Windows使う奴はゆとりかマジ基地の2択
0154nobodyさん2009/05/26(火) 01:21:20ID:???
職場じゃWindowsしか使わせてもらえないんですけど
「Windowsしか使えない奴」なら同意してあげる
0155nobodyさん2009/05/26(火) 04:50:28ID:???
>>151
Windows嫌いというより、テキストモードが負の遺産というのはガチ
0156nobodyさん2009/05/26(火) 07:31:40ID:???
マクはUNIX系とは言いがたい。
sshで全部の設定が出来る訳じゃないし、鯖用途で使われてるのは、ほぼ皆無。
まだLinuxのほうがUNIXに操作方法が近い。

CUIとrubyみたいなスクリプト系の相性の良さは異常だしな。
GUIのためにスクリプトの手間が増えるのは萎える。
0157nobodyさん2009/05/26(火) 08:41:50ID:???
>>156
そのへんをふまえて「定義上は」と書いてある。
0158nobodyさん2009/05/26(火) 11:29:07ID:2daPE8kx
既存のテーブルbook, itemがあります。
主キーとしてそれぞれbookid, itemidが設定されています。
それぞれのモデルに
set_table_name "book"
set_primari_key "bookid"
has_many :items

set_table_name "item"
set_primari_key "itemid"
belongs_to :book
を設定しています。

script/consoleを使用して以下のようにしています。
b = Book.find(1)
b.items
ですが、b.itemsの行で以下のようなエラーが出ます。
ActiveRecord::StatementInvalid: PGError: ERROR: column item.book_id does not exist
itemテーブルのbook_idを探しているようなのですが、itemテーブルの外部キーはbookidなので
エラーが出ているようです。
railsがbookidでitemテーブルを検索するようにするためにはどうしたらよいのでしょうか?
0159nobodyさん2009/05/26(火) 15:11:42ID:???
Railsをfastcgi等を使用してapacheで走らせたときに
スクリプトへの変更はすぐに反映されますか?それともサーバの再起動が必要?
0160nobodyさん2009/05/26(火) 17:41:24ID:???
試してごらん
01611592009/05/26(火) 19:04:33ID:???
出来ないということですね
ありがとうございます
0162nobodyさん2009/05/26(火) 20:00:03ID:???
railsは自動的に色々ソースを補助してくれているようだけど。
もし自分がはまったとき、
みんなソースをどうやって追いかけているの?
全部見ていく訳じゃないんでしょう?
0163nobodyさん2009/05/26(火) 20:06:28ID:???
言葉の勉強をしよう
0164nobodyさん2009/05/26(火) 20:25:56ID:???
PassengerならApache再起動なしでいけるけどな
0165nobodyさん2009/05/26(火) 22:04:58ID:???
>>158
foreign_keyオプションについて調べるんだ。
0166nobodyさん2009/05/26(火) 22:07:08ID:???
>>162
定義箇所をgrepで探す。
Railsはとくに動的に定義されるメソッドが多いからそれだけじゃ
どうにもならなくなるんだが。
その場合、method_missingあたりから追うことになるな。

エラーなら、とりあえずログに出てくるバックトレースを見る。
0167nobodyさん2009/05/26(火) 22:41:14ID:nc85Zu/k
Rails のアプリケーションは、http://myhost/foo/ みたいに、ディレクトリを一段下げた状態で運用できますか?

たとえば /usr/local/foo 以下が RAILS_ROOT だとして、RAILS_ROOT で mongrel 等を使って
ruby script/server で起動すると、アプリの URL は
http://myhost/ 直下になりますよね。
開発環境では、これで開発しています。

本番環境が、Passenger を使って http://myhost/foo/ 以下で運用することになりました。
Passenger 等を使うと、/*** はいくらでも httpd.conf で自由に定義できると思いますが、
アプリの view で image_tag("icon.png") とすると、
<img src="/images/icon.png">
とレンダリングされてしまい、/image ディレクトリは web サーバのトップにあることが前提となってしまいます。

Passenger 等で、http://myhost/foo/ にアプリケーションを展開した場合、
image_tag("icon.png") は、
<img src="/foo/images/icon.png"> となってくれるのでしょうか?

※Java Servlet の HttpServletRequest#getContextPath() みたいなのを内部でやってくれるのかどうか
0168nobodyさん2009/05/26(火) 22:44:39ID:???
最近のPassengerはそこバグってるはず。
config/environments/production.rb
config.action_controller.relative_url_root = '/foo'
とかやったらどうなる?
01691672009/05/26(火) 22:46:23ID:???
>>168
早速レスどうもありがとうございます。
実はこれから Passenger をビルドしようとしているので、
まだ Passenger で動かしたことない。

というか image_tag() が出力する HTML タグは、
Passenger か mongrel/webrick かで、出力結果が変わるのですか?
01701582009/05/26(火) 22:52:37ID:2daPE8kx
set_table_name "book"
set_primari_key "bookid"
has_many :items, :foreign_key => :itemid

set_table_name "item"
set_primari_key "itemid"
belongs_to :book, :foreign_key => bookid

とすることでうまく動作するようになりました。
>>165さんありがとうございました。
0171nobodyさん2009/05/26(火) 22:57:13ID:???
>>169
image_tagなんかの出力は actionpackのasset_tag_helperで定義
されているが、ActionController::Base.relative_url_root の値が
頭に付く。この値は環境変数でデフォルト値を変えられるので、
呼び出すプロセスが変更すればその影響を受ける。

Passengerがそこをどうしてるかは知らないけど。

0172nobodyさん2009/05/26(火) 23:29:44ID:???
サイトに時計を
「10時15分」
とか数字で表示させたい場合
どんな手法がいいですか?
あと、一緒にカウントダウン表示も行いたいのですが。
0173nobodyさん2009/05/27(水) 00:13:56ID:???
基本的にJavaScriptかFlash
要件によるが
というかRails関係ない
0174nobodyさん2009/05/27(水) 00:37:31ID:???
>>156,157
どのへんがsshで設定できないの?
■ このスレッドは過去ログ倉庫に格納されています