トップページ⇒php
990コメント286KB

Ruby on Rails のスレ が

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん2008/04/06(日) 04:59:29ID:???
無いのはどうしてだろう?
消えたのか?
流行ってないのか
死亡
0910nobodyさん2008/09/28(日) 16:46:14ID:???
さくらでrails動かしたってblogの記事がいくつかあったから動くんじゃない?
普通はrails対応謳ってる海外のレン鯖を使うと思う。

常駐云々はFastCGIとかPassengerを調べれ。
0911nobodyさん2008/09/28(日) 19:49:42ID:???
>>908-909
なら先にそう書けよ。
ていうかお前自鯖とかローカル環境でrails使ったことあるの?
なんか全然わかってないままレン鯖で実験しようとしてない?
0912nobodyさん2008/09/28(日) 20:22:07ID:???
自サバというか
自分のパソコンの中では
rails動いたよ。
0913nobodyさん2008/09/28(日) 22:25:52ID:???
ttp://open-bio.jp/archive/20070302_OB6/OB6-KEGGonRails-Katayama.pdf

↑を参考にページ内ウィンドウを作ろうと思ったんですが、
(絶対位置指定したdivをinsert_htmlしてpage.draggable)
実行するとinsert_htmlした部分にJavaScriptの内容がだーっと出てきて
RJSはobject errorを吐いてしまいます。
コード的にはこんな感じです。

(View側)
link_to_remote '[BUTTON]',
 :update=>'child_window',
 :url=>{:controller=>'hogehoge',
  :action=>'popup_window'
  }

(Controller側)
def popup_window
 render :update do |page|
  page['oyapane'].make_positioned
  page.insert_html :bottom, "oyapane", :partial => "child_window"
  page.draggable "child_window"
 end
end

Rubyは1.8.6で、Railsは1.2.6使ってます。
多分insert_htmlがオカシイ?ような気もしますが・・・。
心あたりあるかたいますか?
0914nobodyさん2008/09/28(日) 23:10:38ID:???
view側のupdateが要らない
0915nobodyさん2008/09/29(月) 08:44:05ID:???
さくらでRailsアプリ動かしてるよ。
FastCGIもMongrelもPassengerもなし、素のCGIだから遅いけどね。
0916nobodyさん2008/09/29(月) 10:13:50ID:???
ライト?
スタンダード?
09179152008/09/29(月) 12:32:10ID:???
シェルログインが必須なのでライトでは無理。
0918nobodyさん2008/09/29(月) 13:33:12ID:???
まじで?
シェルはあったほうがいいが、
なくても可。

とか、よく書いてあるけど、うそなの?
絶対必須なの?

ちなみに、

シェルログインができる=root権限がもらえる

であってる?
0919nobodyさん2008/09/29(月) 13:45:41ID:???
>>918
一般1ユーザのアカウントがあればシェルログインはできるからrootとは限らないんじゃ?
0920nobodyさん2008/09/29(月) 14:16:50ID:???
railsってmysql使うじゃん。

だから、mysqlの制御をするのに、
phpmyadminが必要だと思うんだけど、
なんでinstantrailsには入ってないの?
0921nobodyさん2008/09/29(月) 15:08:42ID:???
フロントエンドぐらい自分で好きなの入れろよ
0922nobodyさん2008/09/29(月) 15:10:18ID:???
どうせ使うんだから最初から入れておいてよ
09239152008/09/29(月) 15:19:47ID:???
なかなか香ばしい奴だったんだな。まあもうちょっと答えるか。

>>918
さくらに限定するなら、Rails関連のgemを自分でインストールする必要がある。
標準じゃ入ってないからね。
そのためにはシェルログインが必須。
sshでFreeBSDにログインしてコマンドラインでインストール作業すること。
そういえばRubyも標準のを使わず自分でインストールしたような気がする。

root権限は必要ない、というかさくらたんはroot権限くれません。

>>920
ttp://instantrails.rubyforge.org/wiki/wiki.pl?Release_Notes_For_Instant_Rails_2.0
> Primary Instant Rails Components
> - [phpMyAdmin] 2.10.0.2
入ってるじゃねーか。
0924nobodyさん2008/09/29(月) 15:28:25ID:???
まとめると、
「シェルログインが必要」
      ↓
「なんで?」
  ↓
「rails関連のgemを自分でインストールする必要があるから」
  ↓
「なんで?」
  ↓
「だって標準じゃ入ってないから」
  ↓
「つまりsshでFreeBSDにログインしてコマンドラインでgemを入れる必要がある」

よってシェルログインが必要

なのでライトでは無理。
スタンダード以上必須。
0925nobodyさん2008/09/29(月) 15:29:43ID:???
ちなみにrails使えるレンタルサーバーで
500円クラスのところ、いっぱい教えてね。

教えてくれないとcakephpで作るから!
0926nobodyさん2008/09/29(月) 15:48:58ID:???
>>925
ttp://mor.ph/
1つまでならタダ。
0927nobodyさん2008/09/29(月) 16:56:24ID:???
昔ロリポップで動かしたよ。
スゲー遅くてやめたけど。
0928nobodyさん2008/09/29(月) 17:00:13ID:???
遅いっていうのは
クリックして、ページが出てくるまでが
時間がかかるってこと?
0929nobodyさん2008/09/29(月) 21:22:48ID:???
screenの中でwebrickとかmongrelで動かしてdetach、DBはsqlite3とかいう手もなくはないな。
ポート番号まではさすがに1025以降になりそうだが。
0930nobodyさん2008/09/29(月) 21:23:51ID:???
指がズレタ。1024
0931nobodyさん2008/09/29(月) 22:28:33ID:???
>>914
:updateが余計でした…。
JavaScriptがズラズラ出てしまうのはそれで解決しました。
ありがとうございます!

RJSがobject error吐いてたのは、
Test::Unitが出してたヤツみたいでした。
0932nobodyさん2008/09/30(火) 09:17:54ID:???
>>929
技術的には可能だが、
デーモン起動を禁止しているレンタルサーバは結構ある。

そういえば「gemをインストール」の話があったけど、
手元でfreezeしてvenderにコピーしてしまえば、
鯖での作業は不要にならない?
0933nobodyさん2008/09/30(火) 14:29:26ID:???
>>928
そうそう。

たぶん、普通のCGIだったから。
毎回Railsのフレームワーク全体をリロードしてたんじゃないかな。

Railsは使えてた。嘘ではない。
0934nobodyさん2008/09/30(火) 21:25:16ID:???
>>932
やっぱ、detachされたscreenてのは
純粋な意味でのデーモンじゃないけど、
契約上はデーモンとみなされるのかねぇ。
0935nobodyさん2008/09/30(火) 21:46:13ID:???
動作させるだけならたいていのレンタルサーバで可能

ただし、まともな動作速度ではない
遅いとかいうレベルではない
Web上でサービスを提供するとか正気の沙汰ではないな
0936nobodyさん2008/10/01(水) 01:51:46ID:ITudm/0s
コマンドでrails hogeとかで作ったプロジェクトに対して、そのままターミナル上でruby script/aboutとかやると正常に結果が表示されますが、
同じサーバで起動したAptana Studio(Red Rails)で作ったプロジェクトのディレクトリに移動して、ターミナル上で上記コマンドをうつと怒られます。
Missing the Rails 2.0.2 gem. というエラーメッセージ。

ruby script/aboutの結果でもRails version 2.0.2と出ていますし、Aptanaの画面上に出ているタブのRubyGemsの一覧にも、rails 2.0.2と出ています。

これはどういうことなんでしょう?
2.0.2以下のマイナーバージョンが食い違ってるとか?

環境はUbuntu 8.0.4 ServerをLAMPサーバとしてインストールし、デスクトップ環境を入れたものです。
0937nobodyさん2008/10/01(水) 04:40:54ID:Pn7kMCzS
rails2.1で,er図から(例えばA5:SQL)自動でScaffoldしてコードを生成することは可能ですか?
たくさんのテーブルを毎回
ruby script/generete migration add_hogehoge
するのはめんどくさいのですが。
0938nobodyさん2008/10/01(水) 07:30:34ID:???
>>936
IDEのエラーに自分で対応できないなら
IDEとかさっさと捨ててvimかemacsにしろ

>>937
直でscaffoldジェネレータにカラム指定して
そこからプラグインとか拾ってきてモデルに対応したerを吐けよ
ジェネレータ叩くよりer先に書く方がよっぽど面倒だろ
0939nobodyさん2008/10/01(水) 08:24:25ID:???
>>936
IDEが自前のRails 2.0.2を持ってるんじゃないの?
起動するRailsを指定する環境設定画面とかないの?
どのバージョンを使ってるかはconfig/environment.rbを見る。
0940nobodyさん2008/10/01(水) 08:30:06ID:???
>>936
script/aboutの結果は?
09419402008/10/01(水) 08:30:34ID:???
ごめん無視してorz
書いてあった
09429372008/10/01(水) 20:10:50ID:Pn7kMCzS
>>938
まあそうかもしれないんですが,
すでに10テーブル以上ER図が完成しているので。
それにER図を書きながらテーブル設計する方法ができればいいなと。
(リレーションとか考えるときER図の方が把握しやすい)
0943nobodyさん2008/10/01(水) 23:19:01ID:???
>>942
それつくって公開すればヒーローに!
09449362008/10/02(木) 02:03:08ID:???
>>938
>IDEのエラーに自分で対応できないなら
>IDEとかさっさと捨ててvimかemacsにしろ
んー、ごもっともです…
RailsぐらいならIDEあろうがなかろうがたいして変わらないし、エディタだけで行くことにします

>>939
よくわかってませんがAptanaが見てるのはJRubyなのか?と勘ぐったりしています。
config/environment.rbを見ても2.0.2と書いてあるんですよねー
なにかわかったらまた書き込みます。


0945nobodyさん2008/10/03(金) 12:16:56ID:???
今までpythonだったんだけど
rubyって
{
}
ついたpythonだと思えばいいのかな
0946nobodyさん2008/10/03(金) 12:22:19ID:???
python使いなら↓
ttp://www.goto.info.waseda.ac.jp/~fukusima/ruby/python-j.html
0947nobodyさん2008/10/03(金) 12:41:03ID:???
>>946
これはすごい
ちなみにcommon lispもrubyから使えるとすごい嬉しいのだけど
そういうのはないの?
0948nobodyさん2008/10/04(土) 01:14:19ID:???
あ
0949nobodyさん2008/10/04(土) 03:30:51ID:???
モデルのvalidateをオーバーライドして、integerのフィールドに文字が入ってたら
「○○は数字で入力してください」ってメッセージを自分でerrorsに突っ込みたいんだけど、
Hoge.new(params[:hoge])
こうRequestを読み込んだ時点で、Hogeオブジェクトの数値列(に対応するテキストボックス)に文字列が入力されてたとすると、
なんか無視されて値が入らないっぽいのは、そういう仕様なんでしょうか。

数値とか日付は自分でparams見て検証するもの?
0950nobodyさん2008/10/04(土) 12:12:05ID:???
validationは、DBに保存するに当たって満たすべき条件を書いておくもの。
インスタンス操作中に常時満たしていることが保証されるわけではない。

validationが行われるのは、valid? を呼んだとき。
更新(save)時にはsaveの内部でvalid?を呼んでいる。

newはメモリ上に作成するだけなので呼ばない。newしただけなら、自分でvalid?を呼べ。
createはnewしてsaveするというモノなのでvalid?は呼ばれる。
0951nobodyさん2008/10/04(土) 16:26:44ID:???
>>950
どうもです。いちお、そこは理解してるつもりです。
今自分が把握していないのが、数値フィールドに対応するテキストボックスに文字列を入れていた場合、
new(params[:hoge])を呼んだ直後でHoge.数値フィールドに何も入っていないのは、Railsの動作として
正しいのかな?ということです。(integerでもdatetimeでも同じでした)

POST値が数字以外ならnew(params[:hoge])の時点で自動的に読み込まれないというのであれば、
saveとかvalid?を呼んでも値が入っていないので検証のしようがないですからね
0952nobodyさん2008/10/04(土) 19:40:44ID:???
# in migration
create_table :books do |t|
t.integer :price
end

class Book < AR::Base
validates_numericality_of :price
end

としてみた。

b = Book.new(:price => 'XXX')
b.valid?
#=>false
b.price
# => 0
b.errors.first
# => ["price", "is not a number"]

いちおう、ゼロが入ってきたみたいだよ。
0953nobodyさん2008/10/05(日) 01:19:08ID:???
>>952
あー…オーバーライドしてないvalid?を呼べばエラーは拾えてるんですかー
でもそれじゃやっぱり、ユーザーが"0"を入力したのか、数字以外の文字列を入力したのかモデル側で自分で判別できないんですね
0954nobodyさん2008/10/05(日) 02:49:49ID:???
>>953
>>952 の例なら b.price_before_type_cast で 'XXX' が返るよ。
0955nobodyさん2008/10/05(日) 02:56:04ID:???
>>953
つうかあれだ。
数値なら validates_numericality_of 使うといい。
09569552008/10/05(日) 03:03:43ID:???
すまん、>>952 にちゃんと書いてあった。
0957nobodyさん2008/10/05(日) 09:24:17ID:???
>>954
*_before_type_castを知りませんでした。ありがとうございます!

validates_numericality_ofのメッセージを日本語化する方も考えてみます
0958nobodyさん2008/10/05(日) 13:05:53ID:???
validates_numericality_ofの:messageオプションを使うか、ruby-gettext-packageを導入する。
0959nobodyさん2008/10/06(月) 10:22:56ID:???
many to many 用のテーブルを作ったのですが

create_table :user_groups do |t|
t.integer :user_id, :null=>false
t.integer :group_id, :null=>false
end

ここで user_id と group_id の組が unique であることを指定するにはどうしたらいいですか
0960nobodyさん2008/10/06(月) 19:59:54ID:???
primary key じゃダメなん?
0961nobodyさん2008/10/06(月) 21:21:32ID:???
add_index
0962nobodyさん2008/10/07(火) 00:11:06ID:???
"#{user_id} #{group_id}" みたいなのを入れるカラム用意して
validates_uniquness_ofかけるとか。
09639552008/10/07(火) 00:21:18ID:???
>>959
validates_uniqueness_of :user_id, :scope => :group_id
0964nobodyさん2008/10/09(木) 23:59:30ID:???
Redmineでssl使う場合の設定って
どうすればいいのですかね?

cssが読み込まれないたじけて
0965nobodyさん2008/10/10(金) 17:36:45ID:???
Rubyの求人メモ
ウェブシステム開発・モバイルサイト開発のPHPプログラマ[兼務]
https://www.find-job.net/fj/showjob.cgi?id=60511&from=23

Ruby on Rails,PHP,WEBサービスエンジニア募集中!
https://www.find-job.net/fj/showjob.cgi?id=70178&from=23

0966nobodyさん2008/10/10(金) 21:38:50ID:???
>>964
VirtualHostとかProxyBalancerとか使ってる?
0967nobodyさん2008/10/12(日) 16:46:02ID:???
calendar_helperプラグインで作ったカレンダーの日付部分にリンクを貼るには、どうしたらいいですか?
日付部分をクリックすると別ページに飛ぶとか…
0968nobodyさん2008/10/12(日) 17:13:33ID:???
calender(...) do |d|
 [link_to(d.mday, url), { :class => 'hoge' }]
end
使い方とか、ソースのコメント見たら分かると思うけど。
0969nobodyさん2008/10/12(日) 21:14:52ID:???
>>968
ありがとうございます。
ソースの説明など読み返してみます。
ここで「入力した日付に応じてリンクを表示」(日によって飛ぶページが違う)させたりするには、また色々と考えなきゃなりませんよね…
0970nobodyさん2008/10/12(日) 21:29:19ID:???
blogみたいにするんだったら、日付を引数でparamsに渡して、
受け取った先のactionで、日付を元にfindしたら良い。
記事が複数見つかった時の処理も考えて。
0971nobodyさん2008/10/14(火) 23:56:12ID:???
ちょっと質問させてください
DBのテーブルを検索して、その検索結果を取得する場合、
テーブルのカラム名の指定をせずに、かつテーブルを作った時のカラムの順番で
レコードの値を取得することってできますか?
0972nobodyさん2008/10/15(水) 00:40:02ID:???
AR使うのに何故カラムの順番が必要になるのだ?
それってRailsの質問?
09739712008/10/15(水) 00:56:08ID:???
Railsから項目の順番が決まっているCSVを出力したいからです
テーブルの数が多いのでそのCSV出力機能を汎用的に使えたらベストと思い質問しました
0974nobodyさん2008/10/15(水) 06:02:04ID:???
>>971
u = User.first
u.attributes.values_at(*User.column_names)
0975nobodyさん2008/10/15(水) 13:04:34ID:???
そういえば、migrationでカラム追加 (add_column) する時って順番を指定できないんでしょうか?
0976nobodyさん2008/10/15(水) 15:23:00ID:???
手動で直接migrationファイルに書き込んでみたら?
addでファイル増やすの嫌だから大抵直接書いて追加しちゃうんだけど。
0977nobodyさん2008/10/17(金) 21:30:12ID:???
カラムの順番って何か意味あるの?
0978nobodyさん2008/10/17(金) 22:13:21ID:???
DBテーブルをスプレッドシートだと思っている人には重要らしい。
0979nobodyさん2008/10/17(金) 23:15:58ID:???
Web管理ツールよりも、
script/consoleやってfindで見た方が早くね?ww

SQLなんて最近打ってないや
0980nobodyさん2008/10/20(月) 00:14:19ID:???
初歩的な質問してしまいますが許してください。
RoRではDBの設計は皆さんどのようにやってますか?

また、仮定の話ですがプログラム作りながら試行錯誤的
作成されたDBテーブル設計を渡された場合どのように
改善するのがRoR的に最良なのでしょうか
0981nobodyさん2008/10/20(月) 00:19:41ID:???
何が聞きたいのかさっぱりわからんが・・・。

>どのように改善するのがRoR的に最良

改善する余地があるのかそれ?w
0982nobodyさん2008/10/20(月) 00:23:12ID:???
>>980
質問が抽象的すぎる
何かに困ってるなら具体的に例示してくれないと
0983nobodyさん2008/10/20(月) 00:29:49ID:???
>>981 982
1テーブルにカラムが100個前後存在するActiveRecord利用のソースが10本ぐらいあります。
言うまでも無く半端じゃなく遅く、1時間に30クエリぐらいしか捌けません。

こうゆう場合ってRoR的にはどうしたらいいのかなぁと
0984nobodyさん2008/10/20(月) 00:31:46ID:???
>>983
「プログラム作りながら試行錯誤的作成されたDBテーブル設計」ってそういうことかよw
RoRとかいう以前にテーブル設計し直しだろそんなの。
0985nobodyさん2008/10/20(月) 01:38:54ID:???
RoRの問題じゃないがな。
0986nobodyさん2008/10/20(月) 02:44:58ID:???
Railsの事は考えずに正規化してみて、その後Railsを合わせればいいと思う

別にRailsだからって特別なテーブル設計が必要な訳じゃない
0987nobodyさん2008/10/20(月) 21:36:06ID:???
>>986
>別にRailsだからって特別なテーブル設計が必要な訳じゃない
「基本的には」を頭につけたほうがいいかも。
Railsだとprimary keyにidを使うとか、複合キーを使わないとか、昔からのテーブル設計とは違う点がいくつかあるから。
そういう細かいことを除けば、>>986には賛成。
0988nobodyさん2008/10/20(月) 22:20:02ID:???
>>987
>Railsだとprimary keyにidを使うとか、複合キーを使わないとか、昔からのテーブル設計とは違う点がいくつかあるから。

ここkwsk
0989nobodyさん2008/10/20(月) 22:20:51ID:???
要はちゃんとview組もうぜって話
0990nobodyさん2008/10/20(月) 22:55:36ID:???
>>987
確かにその通り
それは俺も思ったのだが携帯だったからたくさん打つのが面倒だった汗

つかそろそろ次スレ必要ですね
レス数が950を超えています。1000を超えると書き込みができなくなります。