[表示 : 全て 最新50 1-99 101- 2chのread.cgiへ]
Update time : 05/09 15:07 / Filesize : 55 KB / Number-of Response : 194
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【Ruby】Ruby on Rails Part6



1 名前:nobodyさん mailto:sage [2008/10/24(金) 17:46:53 ID:???]
■前 Ruby on Rails のスレ が
pc11.2ch.net/test/read.cgi/php/1207425569/

■参考サイト
<英語>
本家:www.rubyonrails.org
API document:api.rubyonrails.com/
開発者のblog:weblog.rubyonrails.org/
参考wiki:wiki.rubyonrails.org/rails

<日本語>
Rails' wiki: wiki.fdiary.net/rails/

■参考スレ
Rubyについて Part 33
pc11.2ch.net/test/read.cgi/tech/1223709050/
Ruby 初心者スレッド Part 22
pc11.2ch.net/test/read.cgi/tech/1221467121/

13 名前:nobodyさん mailto:sage [2008/10/29(水) 13:57:48 ID:???]
gem install mysqlで使えるようになるC版mysqlアダプターが高速だと聞いたのですがどんな感じなのでしょうか?
検索してもあまり評判で出てこないのですが

14 名前:nobodyさん mailto:sage [2008/10/30(木) 00:39:29 ID:???]
自分で入れて、ベンチマーク取れば良いだけの話

15 名前:nobodyさん mailto:sage [2008/11/01(土) 02:20:02 ID:???]
>>13

俺が試したところは、あんな感じでしたね。

普段何つかってんの?

16 名前:nobodyさん mailto:sage [2008/11/01(土) 02:53:43 ID:???]
質問お願いします
cronでRailsを叩きたいのですがcrontabの設定で足止めくらっています

RailsRootは /home/username/railsapp
Userモデルのcleanメソッドを叩きたいのです

↓のように色々試してみたのですがうまくいきません
1 * * * * root /usr/bin/ruby /home/username/railsapp/script/runner 'User.clean'
1 * * * * /usr/bin/ruby /home/username/railsapp/script/runner 'User.clean'

cron自体は問題なく動いており、Rails向けの書き方がおかしいのだと思います
よろしくお願いします


17 名前:nobodyさん mailto:sage [2008/11/01(土) 07:13:41 ID:???]
cronからメールが着てないかチェック

18 名前:nobodyさん mailto:sage [2008/11/01(土) 09:15:57 ID:???]
普段使ってるのが/usr/local/bin/rubyで、
railsも/usr/localに入ってるとかな。



19 名前:nobodyさん mailto:sage [2008/11/01(土) 12:33:11 ID:???]
すいません問題の切り分けが出来ていませんでした
cron云々ではなくscript/runnerで'User.clean'が叩けていないようで
cleanメソッドは存在するのにundefined methodエラーが返ってきます
script/runnerムズカシイ・・・

20 名前:nobodyさん mailto:sage [2008/11/01(土) 13:35:02 ID:???]
script/consoleからなら叩けるの?


21 名前:nobodyさん mailto:sage [2008/11/01(土) 13:41:28 ID:???]
インスタンスメソッドとして定義してるんじゃね?




22 名前:19 mailto:sage [2008/11/02(日) 03:33:36 ID:???]
このようにメソッドにselfを付けるとうまくいきました

class User < ActiveRecord::Base
 def self.clean
  
 end
end

これがインスタントメソッドなのでしょうか
script/runnerやscript/consoleから呼び出す場合はselfを付けるとうまくいっています
ただ、一部self無しでも動く場合もあるんですよね
勉強して出直してきます!ありがとうございました

23 名前:nobodyさん mailto:sage [2008/11/02(日) 13:04:46 ID:???]
>>22で定義したのはクラスメソッド。
>>21は、インスタンスメソッドとして定義してる*から動かない*んじゃね?と言っている。で、それが当たったわけだな。


24 名前:nobodyさん mailto:sage [2008/11/02(日) 14:14:30 ID:???]
>>23
そうですね、21さんの言葉をきっかけになんとなくselfを付けてみました
Railsはクラスやメソッドを意識しなくてもそれなりに動くものが作れる反面、
自分はRubyについて何もわかってないんだなーと再認識させられました


25 名前:nobodyさん mailto:sage [2008/11/02(日) 21:25:49 ID:???]
ほんとにレベル低い質問で申し訳ないんですが、
=> Booting WEBrick...
=> Rails 2.1.2 application started on 0.0.0.0:3000
=> Ctrl-C to shutdown server; call with --help for options
[2008-11-02 20:35:38] INFO WEBrick 1.3.1
[2008-11-02 20:35:38] INFO ruby 1.8.5 (2006-08-25) [i486-linux]
[2008-11-02 20:35:38] INFO WEBrick::HTTPServer#start: pid=17580 port=3000
となってるのにローカルマシンのlocalhost:3000で見れないのって何ででしょうか?

一応動いていたapache2はとめました。

OSはdebian4.0です。
# gem list
/usr/bin/gem:14:Warning: Gem::manage_gems is deprecated and will be removed on or after March 2009.
*** LOCAL GEMS ***
actionmailer (2.1.2)
actionpack (2.1.2)
activerecord (2.1.2)
activeresource (2.1.2)
activesupport (2.1.2)
rails (2.1.2)
rake (0.8.3)
#
一行目の警告がでたので
gem install -v=2.1.2 rails
しました。

どなたかご教示いただければ助かります。
よろしくお願いいたします。

26 名前:25 mailto:sage [2008/11/02(日) 22:30:43 ID:???]
>>25
rebootで解決しました。
ブラウザがクラッシュしてたようです。
お騒がせいたしました。

27 名前:nobodyさん [2008/11/06(木) 02:38:58 ID:uZzb8Dww]
さーせん。1つ質問です。

ActiveRecordのhas_many使って
1対多のテーブル関係を持つ(親-子)
form_forを使用してデータをhtml表示させたいんですが

<%= f.text_field :name %>
みたいな感じで、親は表示できるのですが
子を表示させる方法で躓いています。

<%= f.text_field :子のカラム名 %>
のような方法で出力できるかと思ったのですが
うまくいきません。

どなたか、お願いします。

28 名前:nobodyさん mailto:sage [2008/11/06(木) 22:03:36 ID:???]
>>27
つ fields_for


29 名前:27 [2008/11/07(金) 00:12:42 ID:F8NNnS0m]
>>28
おおおお!ありがとう!!

you will go to heaven!!

30 名前:nobodyさん mailto:sage [2008/11/09(日) 10:33:14 ID:???]
postgreでやってるのだが、db:migrateすると
idカラム生成の時にシーケンステーブルも自動生成しましたといった
NOTICEメッセージがダラダラ出てうざいです。
NOTICE消す方法ってありますか?


31 名前:nobodyさん mailto:sage [2008/11/10(月) 05:39:35 ID:???]
Djangoやzopeと比べたRoRのメリットは何があるのでしょうか



32 名前:nobodyさん mailto:sage [2008/11/10(月) 07:09:29 ID:???]
>>31
pythonを学習する必要が無い

33 名前:nobodyさん mailto:sage [2008/11/10(月) 19:32:15 ID:???]
>>31
求人が多いこと。
すでにDjangoやZopeをマスターしているなら、乗り換える必要性はないと思うけど。

34 名前:nobodyさん mailto:sage [2008/11/12(水) 19:14:27 ID:???]
viでRails開発している人っている?
つか、みんなどんなエディタ使ってる?
#定期的に出る話題だとおもうけど、すまんのう。

35 名前:nobodyさん mailto:sage [2008/11/12(水) 20:21:19 ID:???]
Emacsだよ
vi使ってる人もたくさんいると思うけどvi使うのが不便なのかい?

36 名前:nobodyさん mailto:sage [2008/11/12(水) 21:41:34 ID:???]
netbeansはどうだろう

37 名前:nobodyさん mailto:sage [2008/11/12(水) 21:42:52 ID:???]
vim/emacs/TextMate/EmEditorを状況によって使い分けてる。
マカーなので一番多いのはTextMateだがな。

最近NetBeansもお試し中。


38 名前:nobodyさん mailto:sage [2008/11/13(木) 00:23:40 ID:???]
vim + ruby-modeで開発してるよ。rails.vimすら使ってない。
色づけとソース整形ができれば十分。

39 名前:nobodyさん mailto:sage [2008/11/13(木) 00:50:35 ID:???]
Aptana。1日1回は落ちるけど。
ttp://wota.jp/ac/?date=20060105
ttp://d.hatena.ne.jp/MillyC/20080924/1222255886
この辺にscoped_methodsの話があるけど、
ちょっとコードが複雑で追い切れてない。
with_scopeみたいにブロックの範囲内じゃなく、
任意のタイミングでscopeの開始、終了したいときは、
こんな感じでinstance_evalでscopet_methodsに
scopeをpush,popするだけでいいのかな。

def my_scope
{
:find => {:conditions => ["name <> ?", "name1"] }
}
end

Page.instance_eval do
 self.scoped_methods << my_scope
end

pages = Page.find(:all)

Page.instance_eval do
 self.scoped_methods.pop
end

40 名前:nobodyさん [2008/11/13(木) 01:38:23 ID:vZzK0dow]
Mac OS X 10.5でMacPortsで入れたapache2とrubyとgemで、
passengerを入れて、apache2を自動起動にして、
OSをリブートすると、apache2の自動起動に失敗するようです。

ログイン後、
$ sudo apachectrl start
だと、ちゃんと起動するのですが。

httpd.confから、passenger絡みの記述を削除すれば、正常に自動起動します。

何が悪いのでしょう。。。

41 名前:nobodyさん mailto:sage [2008/11/13(木) 10:22:29 ID:???]
>>40

Hope this helps.

code.google.com/p/phusion-passenger/issues/detail?id=131

>The following code change resolves the problem on my machine:

>1. Edit ext/apache2/Hooks.cpp
>2. Go to the function 'init_module'.
>3. Change 'delete hooks;' to '// delete hooks;'
>4. Reinstall Passenger.



42 名前:nobodyさん mailto:sage [2008/11/13(木) 11:53:31 ID:???]
vi使ってる人って、Terminal でvi使ってるの?
それとも、viアプリケーションみたいなのがあるの?
Emacsだと、Terminalでも使えるけど、最近はウィンドウアプリケーションとして使ってる人が多いよね。CarbonEmacsとか。
同じように、viでもウィンドウアプリケーションがあるのかな。

43 名前:nobodyさん mailto:sage [2008/11/13(木) 12:09:13 ID:???]
私はTeraTermから

44 名前:nobodyさん mailto:sage [2008/11/13(木) 13:18:40 ID:???]
ActiveRecordの話なんだけど、
たとえば「会社」に「倉庫」が必ず1つあって、
そこで「商品」を扱う場合、

class company < ActiveRecord::Base
has_one :storage
end

class storage < ActiveRecord::Base
belongs_to :company
has_many :goods
end

class goods < ActiveRecord::Base
belongs_to :storage
end

ってなると思うんだけど。
倉庫自体はとくに固有のデータは持たなくて、
ActiveRecordの操作系メソッドが欲しいだけなんけど、
storagesテーブルは作成しなくちゃならないのかな。

モデル上、会社が直接商品を操作するんじゃなくて
手続きの集合としての倉庫クラスを置きたいんだけどさ。

45 名前:nobodyさん mailto:sage [2008/11/13(木) 21:31:38 ID:???]
>>42
Gtk+を使ったものがあるね。gVim。


46 名前:nobodyさん mailto:sage [2008/11/13(木) 21:33:30 ID:???]
>>44
会社オブジェクトにその手続きを持たせても構わないんじゃないの?
「現実にあるモノとそれらの関係」をそのままモデル化する必要はない。



47 名前:nobodyさん mailto:sage [2008/11/13(木) 21:34:48 ID:???]
module StorageOperations
end

class Company < AR::Base
include StorageOperations
end
とか。


48 名前:44 mailto:sage [2008/11/13(木) 23:46:39 ID:???]
>>46,47
なるほどねー。
手続きはまとめたいので、Moduleでやってみることにします。
ありがとう!

49 名前:nobodyさん mailto:sage [2008/11/14(金) 03:14:57 ID:???]
>>34
vimとscreenとbashでやってる。
macだからTerminal.app上で。
rails.vimはいれてるけど、使かわなくなってる。てか使いこなせてない。

まわりに使ってる人もいないし、
emacsやほかのエディタと比較してどうかはわからない。



50 名前:nobodyさん mailto:sage [2008/11/14(金) 03:29:40 ID:???]
Merbどうすか?
思ったよりメモリ食うイメージがあって手を出してないんですが

51 名前:nobodyさん mailto:sage [2008/11/14(金) 10:27:06 ID:???]
まだ情報少ないし、これからって感じかな。
趣味で試すには面白そう。
でも仕事はRailsかな。
チームのみんながある程度習熟してないと困るし。



52 名前:nobodyさん mailto:sage [2008/11/14(金) 17:04:20 ID:???]
rubyフレームワークが増えるとRailsの開発にも刺激になってよさそうですね

53 名前:nobodyさん mailto:sage [2008/11/14(金) 20:01:15 ID:???]
簡単なアプリで比べたけどMerbもrailsも
メモリーの使用量は変らない。
1プロセス、35MB以上くう。
railsはメモリーくいすぎ。

54 名前:nobodyさん mailto:sage [2008/11/14(金) 22:57:38 ID:???]
>>42
Terminalだね。WindowsからPoderosaでLinuxにアクセスしてる。

55 名前:nobodyさん mailto:sage [2008/11/14(金) 23:44:05 ID:???]
何がメモリくってんのかな。
rubyが悪いのか、ActiveRecordがわるいのか、ActionPackか?
PHPでなんかしらのフレームワーク使った場合と比べてどうなんすかね

56 名前:nobodyさん mailto:sage [2008/11/16(日) 03:32:41 ID:???]
バイナリのカラムを検索するいい方法はないでしょうか。
  create_table :hosts do |t|
    t.binary :macaddr, :limit => 6
    t.string :hostname
  end
のようなテーブルを作って、MACアドレスをバイナリで保存する処理を考えているのですが、
  Host.find_by_macaddr(mac_bin)
のようにMACアドレスで検索しようとしたらログに
  ActiveRecord::StatementInvalid: SQLite3::SQLException: unrecognized token: "'": SELECT * FROM "hosts" WHERE ("hosts"."macaddr" = '')  LIMIT 1
と出力され、うまくいきません。
  Host.find_by_macaddr(ActiveRecord::ConnectionAdapters::SQLiteColumn.string_to_binary(mac_bin))
のようにすることで一応動くのですが。


57 名前:nobodyさん mailto:sage [2008/11/17(月) 00:52:51 ID:???]
質問スレが見当たらなかったのでこちらで失礼します。
RailsでURLをクリックした時に、そのURLをcontorollerに渡す方法はありますか?
URLは、link_to title,urlで生成されているものです。

58 名前:nobodyさん mailto:sage [2008/11/17(月) 03:21:33 ID:???]
>>57
コントローラではrequest.url、request.request_uriあたりじゃね?
何が返るのかは定義を見ること。

# 実は referr?er だったり……


59 名前:nobodyさん mailto:sage [2008/11/18(火) 01:48:36 ID:???]
routesの書き方、という意味なら
「URLをパラメータにする Rails」あたりでぐぐる


60 名前:57 mailto:sage [2008/11/21(金) 03:55:17 ID:???]
>>58,59
そんなやり方があったのですね、どうもありがとうございます。
重ねてまた聞きたいのですが、外部のサイトに飛びつつactionも呼ぶことって出来ますか?
具体的に言うと、yahooの検索apiから結果を取得してresultsに入れたものを
view上で
<% @results.each do |result| %>
<li><%= link_to result.Title, result.ClickUrl %></li>
<% end %>
のように書き、このリンクをクリックした時にactionを呼び出して、そこでrequest.urlを使って色々とやりたいのですが。。

61 名前:nobodyさん mailto:sage [2008/11/21(金) 11:39:00 ID:???]
>>60
redirectでいいんじゃね?
「HTTP redirect」でぐぐってみて。



62 名前:nobodyさん mailto:sage [2008/11/21(金) 21:49:12 ID:???]
>>60
コントローラの中で @results が得られて、それをビューで一覧。
ビューに示されたリンクを辿ると最終的に該当URLに飛ぶ、ということか。

コントローラに
def goto
redirect_to params[:url] # 値に対してなんらかの検証をしたほうがいいかも。
end
みたいなリダイレクト専用アクションを用意して
<%= link_to h(result.Title), :action => 'goto', :url => result.ClickUrl %>

JavaScriptが使えるならクライアントサイドのみで
<%= link_to_function h(result.Title), %Q|location.href="#{result.ClickUrl}"| %>
とかも可能かも。


63 名前:nobodyさん mailto:sage [2008/11/22(土) 04:30:32 ID:???]
クリックされたリンクをロギングしたいってことだよね。
なら >>61-62 みたいに、リダイレクトが一番素直でしょ。
でもこれだと訪問済リンク問題がでるから、これを避けたい場合 >>62 みたいにJavaScriptを使うことになる。
Googleの検索結果ページは後者だよね。


64 名前:nobodyさん mailto:sage [2008/11/22(土) 06:12:17 ID:???]
さすがに location.href の書き換え先が対象URLじゃぁアクションは起こらないな。
<%= link_to_remote h(result.Title), :url => { :action => 'goto', :url => result.ClickUrl } %>
か?


65 名前:nobodyさん mailto:sage [2008/11/22(土) 21:19:46 ID:???]
上手く説明できるかどうか分からんしRubyスレ行きかもしれんが、質問。

migrationしてデータベースと Hoge modelだけ作って、
./script/console からデータベースをいじってる。
hoge = Hoge.new() してhoge.name = hage などしてデータを入れて、
hoge.save をした。
その後 hoge2 = Hoge.find(:all, :conditions=>"name = hage") をして
データを呼び出したんだが、これが array クラスになってしまって、
hoge2.name で hage を呼び出せない。
要は Hoge.find で呼び出したデータを簡単に Hoge クラスとして扱いたい。

どうしたらいいのか教えてほしい。

66 名前:nobodyさん mailto:sage [2008/11/22(土) 21:48:48 ID:???]
find :all しているのでArrayになる。条件に該当するオブジェクトを全部取得するので。

name = "hage" がユニークなら、Hoge.find(:first, :conditions => ["name => ?", "hage"]) や
Hoge.find_by_name("hage") とすればいい。

あるいは、仕様上 name = "hage" のオブジェクトが複数存在するなら、
hoges = Hoge.find(:all, :conditions=>"name = hage")
hoges.each{|hoge| do_something} と複数のオブジェクトに対して順に処理すればいい。

67 名前:nobodyさん mailto:sage [2008/11/22(土) 22:02:19 ID:???]
一個も無い時の返り値にも違いがあるのでご注意あれ

68 名前:nobodyさん mailto:sage [2008/11/23(日) 01:08:31 ID:???]
1個しかなくても:allなら配列で [ hage ] が返るってことだな。


69 名前:nobodyさん mailto:sage [2008/11/23(日) 04:16:51 ID:???]
質問させてください。環境はrails 2.2.2です。

www.tutorialspoint.com/ruby-on-rails-2.1/index.htm
を参考に初めてrailsやってるんですが、
www.tutorialspoint.com/ruby-on-rails-2.1/rails-views.htm
まできて、 /book/list にアクセスした際に、「テンプレートが無い」ではなく、「uninitialized constant BookController::Book」となりました。
見た感じ、BookControllerというクラスにBookなんて変数無い、と見えたので、BookControllerのlistメソッドを下記のように変更したら、次に勧めました
def list
+ @books = Books.find(:all)
- @books = Book.find(:all)
end

これはチュートリアルの間違いですか?それとも2.1と2.2.2の違いですか?

70 名前:nobodyさん mailto:sage [2008/11/23(日) 06:20:47 ID:???]
ls app/modelsして、そこにあるファイルの内容を貼ってみて。


71 名前:nobodyさん mailto:sage [2008/11/23(日) 06:22:06 ID:???]
たぶんあなたが
ruby script/generate Book とすべきところを
ruby script/generate Books としてしまったのではないかと思うのだが。




72 名前:nobodyさん mailto:sage [2008/11/23(日) 06:23:02 ID:???]
modelが抜けた。


73 名前:nobodyさん mailto:sage [2008/11/23(日) 13:43:37 ID:???]
>>70-72
app/modelsにbooks.rbがあるのと、コマンド履歴に>71がありました。
どう見てもtypoです。本当にありがとうございました。

74 名前:nobodyさん mailto:sage [2008/11/24(月) 02:00:37 ID:???]
皆さんどこでrails覚えましたか?

75 名前:nobodyさん mailto:sage [2008/11/24(月) 03:10:41 ID:???]
ベッドの上よ。うっふん

76 名前:nobodyさん mailto:sage [2008/11/24(月) 13:43:36 ID:???]
guides.rubyonrails.org/index.html
入門向けコーナーができたらしい

77 名前:nobodyさん mailto:sage [2008/11/25(火) 16:25:16 ID:???]
>>66
遅くなりましたが、ありがとうございます。解決しました。

78 名前:nobodyさん mailto:sage [2008/11/25(火) 17:37:28 ID:???]
validationしたときのエラー情報は、どこに保存されてますか?
model? controller? それともどっか別の場所?

79 名前:nobodyさん mailto:sage [2008/11/25(火) 18:49:48 ID:???]
>>78
ActiveRecord::Errorsオブジェクト。
validate対象オブジェクトのerrorsメソッドで取り出せる。
validateを自分で定義したりvalidates_eachの場合は
errors.addで自分でエラーを突っ込む必要がある。

api.rubyonrails.org/classes/ActiveRecord/Validations.html
api.rubyonrails.org/classes/ActiveRecord/Errors.html

80 名前:nobodyさん mailto:sage [2008/11/25(火) 19:54:59 ID:???]
>>79
ちょーさんくす
あいしてる

81 名前:nobodyさん mailto:sage [2008/11/26(水) 16:26:48 ID:???]
Merbが徐々に盛り上がってきましたね



82 名前:nobodyさん mailto:sage [2008/11/26(水) 22:20:54 ID:???]
Engine Yardの懐具合によっては開発スピード落ちるかもしれんね。

83 名前:nobodyさん mailto:sage [2008/11/27(木) 14:54:31 ID:???]
Rubyってスタンドアロンのアプリ作れる?

84 名前:nobodyさん mailto:sage [2008/11/27(木) 15:41:55 ID:???]
>>81
>Merbが徐々に盛り上がってきましたね
どのへんで?

85 名前:nobodyさん mailto:sage [2008/11/27(木) 22:36:19 ID:???]
>>83
想定しているモノが行き違っている気はするが、作れる。
>>84
アンテナ低すぎ。



86 名前:nobodyさん mailto:sage [2008/11/28(金) 04:24:33 ID:???]
>>82
rubiniusは縮小らしいですからね…

ところでRails画像アップロードプラグインって今もFile_columnが最強ですかね?

87 名前:nobodyさん mailto:sage [2008/11/28(金) 15:14:55 ID:???]
Merbのrailsに対するメリットって何?

88 名前:nobodyさん mailto:sage [2008/11/28(金) 16:09:21 ID:???]
>>85
>アンテナ低すぎ。
Railsはメディアが取り上げたりしてるから、盛り上がってるのはわかる。
でもMerbは個人のブログでその名をちょくちょく見かける程度で、どうみても盛り上がってるようにはみえない。
だから、どこでMerbが盛り上がってるのか聞いたんだけど?アンテナ高い>>85が教えてくれ。


89 名前:nobodyさん mailto:sage [2008/11/28(金) 16:14:38 ID:???]
Merbは先日1.0がリリースされたんで国内外のブログが取り上げただけだろ。
Merbにするメリットってあんまりないきがする。

90 名前:nobodyさん mailto:sage [2008/11/28(金) 18:14:03 ID:???]
MyModel.transaction do
end
だけれど、これってどのモデルのtransactionメソッド呼ぼうが
違いは無いという認識でよい?
テーブル毎にトランザクションの単位がかわるわけではないし。

91 名前:nobodyさん mailto:sage [2008/11/29(土) 12:20:47 ID:???]
railsって流行ってるみたいだけどどうやったら使えるの?



92 名前:nobodyさん mailto:sage [2008/11/29(土) 15:14:54 ID:???]
>>91
おまいにはムリ

というレスが明日までに10はつくであろう

93 名前:nobodyさん mailto:sage [2008/11/29(土) 20:11:35 ID:???]
rails 2.2.2でマイグレーションについて質問させてください。
booksテーブルを作成し、カラムを追加する手順です。

■booksテーブルを作成
./script/generate model Book

■booksテーブルにカラム作成するためにファイル編集
vi db/migrate/20081129110040_create_books.rb

class CreateBooks < ActiveRecord::Migration
 def self.up
  create_table :books do |t|
    t.string   :title
  end
 end

以下略

■DB作成
rake db:create

■migrate
rake db:migrate

booksテーブルが出来る。カラムはidとtitleのみ

94 名前:nobodyさん mailto:sage [2008/11/29(土) 20:12:29 ID:???]
続き

■booksテーブルにnameカラムを追加するためにファイル編集
./script/generate migration books_add_name

vi db/migrate/20081129110451_books_add_name.rb

class BooksAddName < ActiveRecord::Migration
 def self.up
   add_column(:books, :name, :text, :default=>'')
 end

 def self.down
   ramove_column(:books, :name)
 end
end

■migrate
rake db:migrate


ここまででbooksテーブルを作成し、カラム追加ができるのですが、以下が疑問です。
・booksテーブル作成時、 ./script/generate model Book のように「Book」と単数形で実行したのに、何故出来上がるのは「books」という複数形なのか
・そもそもスキーマを変更する手順はこれで合っているか

以上をよろしくお願いします・・

95 名前:nobodyさん mailto:sage [2008/11/29(土) 20:17:49 ID:???]
CoC。テーブル名は複数形

ファイル編集せずに
$ ./script/generate model Book title:string name:text
とかやった方がいいよ。
なんでnameがtextなのか知らんけど。

本番になるまではテーブルなんて壊し放題なんだから
add_columnとかするよりも元のファイル書き換えて
$ rake db:migrate VERSION=0
$ rake db:migrate
で作り直しちゃった方が良い。


96 名前:nobodyさん mailto:sage [2008/11/29(土) 20:51:55 ID:???]
>>95
> CoC。テーブル名は複数形

「設定より規約」で、「テーブル名は複数形、そのテーブルを扱うモデルは単数形」というルールがあるから、
自動的に複数形になるってことですか?

> ファイル編集せずに

ファイル編集した理由が、
www.tutorialspoint.com/ruby-on-rails-2.1/rails-active-records.htm
に従ったからなんですが、開発時のスキーマ定義は普通generateの引数に取るものなのですか?
開発時の常識とか、普通はこうする、とかを全然知らないので分からないので、変なところがあれば指摘してもらえると助かります。

参考に、redmineと9arrowsのソースを見たのですが、redmineはスキーマ変更用のマイグレーションファイルがたくさんあって、
9arrowsはスキーマ作成用のしかなかったので、95氏のいうような手法のようです。

> 本番になるまではテーブルなんて壊し放題なんだから

確かに開発時はその方法の方がスマートですね。
本番になった後にスキーマ変更したい場合なのですが、>94の方法は変なことをやっていますか?

97 名前:nobodyさん mailto:sage [2008/11/29(土) 21:41:46 ID:???]
それ自体は全然変じゃないよ。
本番になった後はもちろんそうする。

ただスキーマ定義はgenerateの引数の方が手っ取り早いかな。
generateしたあとでファイル開いて編集するの面倒だし。

あと、generateコマンド使うと勝手に複数形になってしまうので
そういうもんだと思った方がいい。
generateコマンド使わないなら、テーブル名を単数形にすることもできる。

class Book < ActiveRecord::Base
 set_table_name 'book'
end


98 名前:nobodyさん mailto:sage [2008/11/29(土) 23:10:10 ID:???]
>>97
勉強になりました、ありがとうございます。

99 名前:nobodyさん mailto:sage [2008/11/29(土) 23:40:23 ID:???]
質問です。今作ってるWebアプリでユーザ管理をしようと思っています。
そのために下記のページを参考にしているのですが、暗号の作り方
の部分がいまいちよく分かりません。
ttp://d.hatena.ne.jp/nyaago69/20080904/1220519371
特にdef self.new_salt の中身が分かりません。
rand.to_s.tr('+', '.') と書いてありますが、randを使ってる限り
その中に+が入り込むことはないと思いますし、
s[0, if s.size > 32 then 32 else s.size end]
は何をやっているのか分かりません。
解説をお願いします。

100 名前:nobodyさん mailto:sage [2008/11/30(日) 00:19:54 ID:???]
randはわからんが・・・

「s[0, if s.size > 32 then 32 else s.size end]」は
RubyのStringには「self[nth, len]」という書式があって、
文字列のnthバイト目から長さlenバイト目までの部分文字列を新しく作って返す
よって質問文の意味は、sの最初から32バイト以上ならsの32バイト分、それ以下ならsを返すという意味になる
ていうかこんな書き方できるんですね、勉強になりマスタ

101 名前:nobodyさん mailto:sage [2008/11/30(日) 00:39:29 ID:???]
>>100
ありがとうございます。自分はてっきり配列を作るときのtypoかと思ってました。



102 名前:nobodyさん mailto:sage [2008/11/30(日) 00:58:12 ID:???]
>>86
新顔でPaperclipというのが出た。
www.thoughtbot.com/projects/paperclip/

attachment_fuから乗り換えた人の記事。
thewebfellas.com/blog/2008/11/2/goodbye-attachment_fu-hello-paperclip

103 名前:nobodyさん mailto:sage [2008/11/30(日) 01:53:51 ID:???]
rakeでconfigsというテーブルを作った際、初期データも入れようと思って
カラム定義の次に Config.create() したら「createなんてメソッド無いよ」と言われ、
どー見ても合ってるのにと思ってしばらく悩んだ結果、
Config がrailsの予約語だったからのようなのですが(confにしたらテーブル作成に加えcreateもできたので)、
予約語に使われている語はテーブルにすら使ってはいけませんか?

104 名前:nobodyさん mailto:sage [2008/11/30(日) 01:59:30 ID:???]
たしかAdminもダメだったような気がする

105 名前:dai [2008/11/30(日) 08:55:02 ID:mlKxK2ns]
actives_caffoldについてご教示下さい。
2つのmodelを定義して、片方にだけ{カラム名}_columnを指定しようとした
のですが、同じカラム名を使っていると両方のmodelに適用されてしまうの
は仕様でしょうか。

例えば、
ruby script/generate model aaa title:string name:string
ruby script/generate model bbb title:string name:string
のようにmodelを生成し、各controllerにactivescaffoldの設定を行った後
にaaa_helper.rbにのみtitle_columnを設定。
------------
class AaaController < ApplicationController
active_scaffold :aaa do |config|
     :
------------
module AaaHelper
def title_column(record)
link_to(h(record.title), :action=>:●●●)
end
end
------------
こうすると、title_columnを設定していないbbbのtitleにもlink_toが適用
されてしまいます。
(ruby1.8.6、rails2.0.2、activescaffold1.1.1)


106 名前:nobodyさん mailto:sage [2008/11/30(日) 11:11:34 ID:???]
質問です。
日付を保存するのにDateクラスを使ってます。
このDateクラスのデータを上手く使ってweeks.agoなどの
演算をしたいのですが、どのようにすればいいのか分かりません。
よろしくお願いします。

107 名前:nobodyさん mailto:sage [2008/11/30(日) 13:07:05 ID:???]
Date.tody - 2.weeks
じゃだめってこと?

108 名前:nobodyさん mailto:sage [2008/11/30(日) 13:47:31 ID:???]
>>107
その方法で出来ました。
メソッドだけで完結せねばという思い込みが頭にありました。
ありがとうございます。

109 名前:nobodyさん mailto:sage [2008/11/30(日) 14:56:43 ID:???]
質問です。今ARの勉強をしています。
Magazine_titleというモデルとMagazineというモデルを作りました。
それぞれ以下のような関係性を持たせています。

class MagazineTitle < ActiveRecord::Base
has_many :magazines
end

class Magazine < ActiveRecord::Base
belongs_to :magazine_title
end

ここで、MagazineTitleのパラメータ次第で、Magazineの
パラメータを設定したいと考えています。具体的には、
magazine_title.cycle == "weekly" であった場合、
magazie.sale_close_date = magazine.sale_date + 1.weeks
としたいのです。
これを出来ればmodelでやりたいのですが、
そのような方法はあるでしょうか?
それともcontorollerでやる方が適切でしょうか?

どうかご助言をお願いします。

110 名前:nobodyさん mailto:sage [2008/11/30(日) 15:06:05 ID:???]
大乳児^H^H^H代入時に固有の動作をさせたいなら
メソッドを定義してしまえばいいんじゃない?

class Magazine
def magazine_title=(mt)
write_attribute(:matazine_title, mt)
write_attribute(:sale_close_date, sale_date + 1.week)
end
end



111 名前:nobodyさん mailto:sage [2008/11/30(日) 15:07:23 ID:???]
あれ、1つめのwrite_attributeはwrite_attribute(:magazine_title_id, mt.id) か。




112 名前:nobodyさん mailto:sage [2008/12/03(水) 11:06:41 ID:???]
windowsに開発環境をセットアップする手順を
詳しく丁寧に教えてください。

113 名前:nobodyさん mailto:sage [2008/12/03(水) 11:15:31 ID:???]
やっぱubuntuでいいや

114 名前:nobodyさん mailto:sage [2008/12/03(水) 21:40:37 ID:???]
>>112
Instant Rails

115 名前:nobodyさん [2008/12/04(木) 13:49:56 ID:ORX+Oq69]
webrickを起動するとアクセスログがコンソールに出力され続けますが、
これをコンソールじゃなくてファイルに出力するにはどうしたらよいのでしょうか?

116 名前:nobodyさん mailto:sage [2008/12/04(木) 20:12:28 ID:???]
>>115
$ script/server > /dev/null 2>&1
じゃね?

117 名前:115 [2008/12/04(木) 20:40:28 ID:ORX+Oq69]
>>116
$ script/server > /tmp/test.log 2>&1
としても/tmp/test.logに出力されなかったです

118 名前:nobodyさん mailto:sage [2008/12/04(木) 22:28:19 ID:???]
>>117
こちらの環境ではファイルに出力されますねぇ。
(バッファされるので時間差があるけど。)

というかlog/development.logではだめなんですか。

119 名前:115 [2008/12/05(金) 12:07:03 ID:KklI24b5]
>>118
/tmp/test.logは作成されますが、中身が空のままになります
時間差ってどれ位ですか?

log/development.logだと、何時にどこからどんなmethodで
どんなリクエストがあってどんなステータスコードを返したかとかが
わからないので、WEBrickが吐き出すログが欲しいんです


120 名前:nobodyさん mailto:sage [2008/12/05(金) 18:54:48 ID:???]
webrickのアクセスログはサーバインスタンス生成時に設定する
svr = WEBrick::HTTPServer.new(:AccessLog=>設定内容}
詳しくはリファレンスマニュアルとソース読め
railsでどのファイルをいじればいいかは知らん

121 名前:nobodyさん mailto:sage [2008/12/06(土) 00:13:43 ID:???]
mongrel入れてみたら分かるんじゃないかな。
WEBrickほとんど動かしてないからあれだけど。
mongrelのlog/development.logならお望みのものは分かるような。





122 名前:nobodyさん mailto:sage [2008/12/06(土) 00:23:19 ID:???]
(ログファイル指定とオプション設定)
/ruby/lib/ruby/gems/1.8/gems/rails-2.2.2/lib/commands\servers\webrick.rb
(paramsらへん)
/ruby/lib/ruby/gems/1.8/gems/rails-2.2.2/lib/webrick_server.rb

結局はlog4rとか使うのがよいのかも
使ったことないけど

123 名前:nobodyさん mailto:sage [2008/12/07(日) 02:47:53 ID:???]
>>115
環境は?
OS(じつはwindows?)とかシェル(じつはcsh?)とか分かれば
アドバイスもらえるんじゃね?

うちでは普通にリダイレクトできるけど。
Mac OS X/bash/Rails 2.1.2。


124 名前:nobodyさん mailto:sage [2008/12/07(日) 07:09:39 ID:???]
あれってただの標準エラー出力だよな

125 名前:115 [2008/12/08(月) 16:06:58 ID:pc3akaHE]
>>123
OS:CentOS 5.2
シェル:bash
この様な環境です

アプリ変えるとかソースいじるとかも解決方法になるのですが、
今出力されているものをファイルに向けるだけだと簡単に解決できるので
リダイレクトで処理したいのですが、なぜかリダイレクトできません…
なぜできないんだろう…

126 名前:nobodyさん mailto:sage [2008/12/09(火) 17:03:00 ID:???]
&2>1 つけた?

127 名前:nobodyさん mailto:sage [2008/12/09(火) 17:04:02 ID:???]
おっと、 2>&1

128 名前:115 [2008/12/09(火) 21:41:09 ID:Sc6VNW/K]
>>127
# script/server -p 3001 > /tmp/access.log 2>&1

ちゃんと付けてるのですが、やっぱりファイルに書き込まれません…

129 名前:nobodyさん mailto:sage [2008/12/09(火) 23:49:50 ID:???]
>>128
-e production つけてみたらどうだろう
つまりproduction環境で実行する

130 名前:nobodyさん mailto:sage [2008/12/10(水) 23:53:47 ID:???]
マイグレーションするためのファイルを作るとき、例えばbooksテーブルにuser_idを追加するとき、
./script/generate migration add_user_id_to_book user_id:integer
としたらint(11)なuser_idというカラムを追加するようなファイルができたのですが、カラムを複数追加するとき、カラム設定を複数書くとき(user.idにリファレンス張るとか)はどう書いたらいいですか?


131 名前:nobodyさん mailto:sage [2008/12/11(木) 00:09:40 ID:???]
本番運用中じゃなければ、migrationのファイル編集しちゃえば?
そのたびにファイル作ってたら、ファイル数えらい事になる。管理しにくい。

カラム足したりするmigration使うのは本番運用後で良いかと。




132 名前:115 [2008/12/11(木) 21:22:50 ID:R1xyPwhG]
>>129
それでも挙動は変わらなかったです…

133 名前:nobodyさん mailto:sage [2008/12/12(金) 09:26:25 ID:???]
質問です。
selectタグが使えません。
<% select "rate", "rate", [["未読", 0],["☆", 5], ["◎", 4], ["○", 3], ["△", 2], ["×", 1]], {:index => i}, :id => "rate_rate_#{i}" %>
の様に書いても、エラーなどは表示されずただselectタグがあるべき部分が
空白になって表示されるだけです。
仕方なしに
<select id="rate_rate_<%=h i %>" name="rate[<%=h i %>][rate]">
 <option value="0">未読</option>
 <option value="5">☆</option>
 <option value="4">◎</option>
 <option value="3">○</option>
 <option value="2">△</option>
 <option value="1">×</option>
</select>
の様に書き、それでちゃんと動くのですが、なぜselectタグが使えないのか
気になって仕方がありません。
一応./script/serverの吐き出すログを見てみたのですが、それも
特にエラーなどは出ていないようです。
どうかご指南お願いします。

134 名前:nobodyさん mailto:sage [2008/12/12(金) 10:18:24 ID:???]
> <% select "rate",...
ほんとにこの通りに記述してあるなら、typoだから

135 名前:133 mailto:sage [2008/12/12(金) 10:36:53 ID:???]
>>134
typoでした。お恥ずかしい…orz。
ありがとうございました。

136 名前:nobodyさん mailto:sage [2008/12/14(日) 15:27:49 ID:???]
ひどく抽象的な質問で答えにくいかもしれませんが
リンクを踏んだらそのページを新規windowで開き、
元のページの方をAjaxで書き変えたいのですが、何か良い方法はありますか?

137 名前:nobodyさん mailto:sage [2008/12/14(日) 15:50:22 ID:???]
>>136
うーん思いつかない…
Javascript直書きで何とかできそうだけど方法はわからない
Javascriptスレの方で聞いてみたらどうでしょうか?

138 名前:nobodyさん mailto:sage [2008/12/14(日) 15:52:51 ID:???]
ひんと

<a href="www.google.com" target="_blank" onclick="alert('hello'); return true">click!</a>
<a href="www.google.com" target="_blank" onclick="alert('hello'); return false">click!</a>


139 名前:138 mailto:sage [2008/12/14(日) 16:15:48 ID:???]
あれ、違いが出ないな。
寝ぼけていたらしい。


140 名前:nobodyさん mailto:sage [2008/12/15(月) 23:08:05 ID:???]
勘違いかもしれない話の、質問です。
モデルで
class Hoge < ActiveRecord::Base
 has_many :moges
(略)
class Moge < ActiveRecord::Base
 belongs_to :hoge
(略)
とします。そしてコンソールで
1 hg = Hoge.new
2 hg.save
3 mg = Moge.new(:hoge_id => hg.id)
4 mg.save
5 hg.moges << mg
としたときに、どのタイミングでhg.mogesにMogeオブジェクトが
追加されるのでしょうか?
何度かrailsを作るところから試してみたのですが、3の次にhg.mogesの
中にmgが入っていることもあれば、5までしっかり書かないとhg.mogesの
中にmgが入らないときもある気がします。
本当に勘違いみたいな話ですが、どのように書けばどのタイミングで
hg.mogesにMogeオブジェクトが追加されるのでしょう?

141 名前:nobodyさん mailto:sage [2008/12/15(月) 23:20:06 ID:???]
hg = Hoge.new
mg = Moge.new

if hg.save
hg.moges << mg # ここでMoge追加、save。:hoge_id => hg.id も自動で付く
end




142 名前:nobodyさん [2008/12/16(火) 14:41:43 ID:r+TWFAeS]
流行らないみたいだね。出るのが遅すぎたかな

143 名前:nobodyさん mailto:sage [2008/12/16(火) 20:48:01 ID:???]
俺たちこいつと出会うのが遅すぎたよね


144 名前:nobodyさん mailto:sage [2008/12/16(火) 23:01:40 ID:???]
Javaの代替手段でなくPHPの代替手段になって欲しいんだがなー
そっち方面ではもっと流行ってないのかな・・・


145 名前:nobodyさん mailto:sage [2008/12/16(火) 23:30:50 ID:???]
Railsはデザインはめるのが辛い。
モデル設計したりするのと違って、全然クリエイティブじゃない作業。
しかも、大方のデザイナにはこれができない(各種helperや, partialがあるから)。
会社にRailsのできるデザイナが居ればいいんだけど。

だから敷居の低いPHPの代替にはならない感じ。


146 名前:nobodyさん mailto:sage [2008/12/16(火) 23:44:45 ID:???]
実践railsって本はどうでしょうか?
入門のために買おうとして、amazonレビュー見たらそういう用途には向いてないようですが…
もし他にrails2系を学ぶのに良い入門書があればお勧めお願いします。

147 名前:nobodyさん mailto:sage [2008/12/17(水) 00:03:08 ID:???]
入門書はともかく、
リファレンスみたいなのは1冊あった方が良いよ。

- Ruby on Rails 逆引きクイックリファレンス (マイコミ)
- Railsレシピブック 183の技 (ソフトバンククリエイティブ)

どっちもRails2対応。
本屋で立ち読みでもして、自分に合いそうな方を選ぶと良いかも。
ただし、Railsは更新のスピードが早いので、本の内容はすぐ古くなる。
本に加えてネットで情報を集めるのが吉。

入門書はRails1.x系なら
- はじめようRuby on Rails (アスキー)
が良かったけど、さすがに内容が古くなった。


148 名前:nobodyさん mailto:sage [2008/12/18(木) 03:22:44 ID:???]
>>147
ありがとうございますた

149 名前:nobodyさん mailto:sage [2008/12/19(金) 12:21:17 ID:???]
Rails Metal
wota.jp/ac/?date=20081216#p01

「 圧倒的ではないか、我が軍は」
って感じだなw
suggestリクエスト先にでも使ってみるか


所でThin使ってる人いる?

150 名前:nobodyさん mailto:sage [2008/12/19(金) 13:48:58 ID:???]
RoRのリファレンスをローカルの8808番だか8088番だかポートで
見られるサーバを立ち上げるコマンドって何だったっけ?

151 名前:150 mailto:sage [2008/12/19(金) 13:54:18 ID:???]
自己解決。
gem serverだった。



152 名前:nobodyさん mailto:sage [2008/12/20(土) 10:13:51 ID:???]
emacs使ってる人、
emacs-railsとか
rinariとかあるけど
どれがいいわけ?

153 名前:nobodyさん mailto:sage [2008/12/20(土) 17:02:47 ID:???]
>>152
自分で試してみて、しっくりするものを使えばいいと思う。

154 名前:nobodyさん mailto:sage [2008/12/24(水) 15:06:29 ID:???]
合体するそうです。
rubyonrails.org/merb


155 名前:nobodyさん mailto:sage [2008/12/24(水) 15:09:15 ID:???]
なんか色々と酷いのが混じってるなwwww

rubyonrails.org/images/pages/merb/lori.jpg

156 名前:nobodyさん mailto:sage [2008/12/24(水) 17:46:07 ID:???]
>>149
lighttpdから乗り換えようかと思って弄ってる
所で、Apache互換のアクセスログの吐き方知らね?
gettext使ってるからlighttpdだとエラー出るしで困る、どうにかなれ!

>>155
こwれwはwwwww

157 名前:nobodyさん mailto:sage [2008/12/24(水) 20:31:31 ID:???]
すいません。教えてください。
ラジオボタンをファンクショナルテストする方法はどうすればいいですか?

◎都内 ○都外

getでテストデータ呼び出して、きちんと都内が選択されているかどうかを調べたいです。

158 名前:nobodyさん mailto:sage [2008/12/25(木) 01:06:25 ID:???]
>>157
それって、
<input type="radio" name="tonai" value="true" />都内
<input type="radio" name="tonai" value="false" />都外
みたいになってるのであれば、

# 都内が選択されている
assert(params[:tonai] == 'true')

という感じで良いのでは?



159 名前:nobodyさん mailto:sage [2008/12/25(木) 22:57:54 ID:???]
ActiveRecordで GROUP BY を複数する方法が分かりません。。。。

User.count(:group =>ここに2つ以上書く方法が分かりません。

どなたかご存知の方いませんか???

160 名前:nobodyさん mailto:sage [2008/12/25(木) 23:02:01 ID:???]
>>159

:group => 'x, y'

実はここに書いた値はそのまま "GROUP BY #{値}" されるだけ。
:order も同じ要領で DESC とか付けられるよ。


161 名前:nobodyさん mailto:sage [2008/12/25(木) 23:19:55 ID:???]
>> 160 さんへ

うぉぉ、ありがとうございます!!!!!!!!!!



162 名前:nobodyさん mailto:sage [2008/12/25(木) 23:36:57 ID:???]
>>158

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


163 名前:nobodyさん mailto:age [2008/12/30(火) 17:57:38 ID:???]
正月休みに ruby on rails を習得して社内の人にみせたいんですけど
お勧めのレンタルサーバってありますか???
(皆様はどこのサーバを使ってますか??)

164 名前:nobodyさん mailto:sage [2008/12/30(火) 18:17:55 ID:???]
>>163
Dreamhost
ドメイン、サブドメイン、MySQLが無制限に使える。
Passenger(mod_rails)がプリインストールでドメインごとに切替えられる。
SVNもプリインストールでコンパネから操作可。Capistranoでデプロイ可能。
結構安い。

なんて事書くと、アフィリエイトコード貼ると思っただろ?
貼らないよ。

165 名前:163 mailto:sage [2008/12/30(火) 19:31:32 ID:???]
>>164
本当に、ありがとうございます!!
海外のレンタルサーバなんですね。

海外サイトでクレジット番号を入力したことがなくて。。。。
(へたれですみません。)

国内でもいいのがないかググってみます。

166 名前:nobodyさん mailto:sage [2008/12/31(水) 11:42:26 ID:???]
意味がわからない。

167 名前:nobodyさん [2008/12/31(水) 15:59:48 ID:9mZRkEaM]
Railsの場合、root権がもらえるVPSプランがおすすめ。国内なら安いところで月額3000〜6000円。
無料でやりたいなら、自宅サーバがいいよ。

168 名前:nobodyさん mailto:sage [2008/12/31(水) 17:50:14 ID:???]
>>165
動かすだけならさくら供用・Xreaでもおk(ただし激遅)
Dreamhostは海外の超有名大手だから心配しなくてもおk
現実的な速度で動かしたいならVPSかな

でもRails環境作るの結構しんどいよー

169 名前:nobodyさん mailto:sage [2008/12/31(水) 20:54:39 ID:???]
どこがしんどいのか分からない
いくつもサービス上げてるけど、環境づくりに苦労したことは無いなぁ

170 名前:nobodyさん [2008/12/31(水) 22:57:58 ID:9mZRkEaM]
たぶんmakeやApacheという単語を知らない人には厳しいというニュアンスなんじゃない?

171 名前:nobodyさん mailto:sage [2009/01/01(木) 00:59:28 ID:???]
redhat系ならyumで相当楽
他は一切知らんけど



172 名前:nobodyさん mailto:sage [2009/01/01(木) 09:54:20 ID:???]
環境作りでめんどいところはとくにない。
アプリのディプロイは以前はlightyだmongrelだと面倒だったが
今はたいていpassengerでいいから劇的に楽になった。


173 名前:nobodyさん mailto:sage [2009/01/01(木) 10:53:45 ID:???]
最近のpassengerは安定してきたの?

174 名前:nobodyさん mailto:sage [2009/01/01(木) 11:08:14 ID:???]
37signalsが使うくらいには。

175 名前:nobodyさん mailto:age [2009/01/01(木) 17:25:43 ID:???]
すみません、RubyもRailsも初心者です

www.moongift.jp/2008/11/ruby_on_rails_portable/
sourceforge.net/project/showfiles.php?group_id=230695

のサイトから Ruby on Rails Portable を落として使ってみてるのですが、
コンソールからRubyのコマンドは返ってくるのですが、Railsのコマンド
が返って来ないみたいな、例えば一番単純な、rails の後にファイル名で
プロジェクトの作成とかも返って来ないのですが、
何かチューニングしなきゃダメなんですかね?


176 名前:nobodyさん mailto:sage [2009/01/01(木) 20:08:28 ID:???]
jp.rubyist.net/magazine/?0008-Win32OLE

177 名前:nobodyさん mailto:sage [2009/01/01(木) 22:49:49 ID:???]
>>175
RubyにおいてプラットフォームにWindowsを選ぶ時点で
無用なハードルを1つ増やすようなもの。


178 名前:nobodyさん mailto:sage [2009/01/01(木) 22:59:45 ID:???]
>>177
馬鹿じゃね

179 名前:nobodyさん mailto:sage [2009/01/01(木) 23:15:36 ID:???]
>>177
氏ぬの?

180 名前:nobodyさん [2009/01/02(金) 00:59:46 ID:0xasvExc]
開発環境や勉強用途ならWindowsはアリだと思う。
本番環境はLinuxが良いけど。

181 名前:175 mailto:age [2009/01/02(金) 04:17:35 ID:???]
展開したRuby on Rails Portable の ReadMeをGoogle翻訳してみると
どうやら「環境変数でパスを通して下さい」みたいな感じのことが書いてあるので
自分が置いてるD:\RailsPortable(Use)の場所をRailsに教えなきゃいけない
のかな?と思い、マイコンピュータのプロパティからシステム変数の修正でパスを
選んで 
;D:\RailsPortable(Use)\App\Rails\bin\rails
と付け加えたのですがRailsは動きません
根本的に何か違うのでしょうか?  



182 名前:nobodyさん mailto:sage [2009/01/02(金) 04:34:17 ID:???]
>>181
パスを通してなかったのか?
環境変数に通すパスはRailsのある(略)\binまでで良いよ

てか現状パスは通っているんだよな?
プロンプトでset PathするなりirbでENVでパス通ってるの確認できる状態なん?

183 名前:nobodyさん mailto:sage [2009/01/02(金) 04:47:55 ID:???]
>>181

rubyは動いてるから飛ばします。パス設定はしてあるようなので

rails -vでバージョン出ない?
出たらパス通ってる。

出なかったら次はプロンプトで
cd (おまいのRailsインスコしたディレクトリ)\binに移動して
上に書いたrails -vでバージョン出る?
ここで表示されるなら単純にパス設定をミスってるだけ。

ここでも出なかったらrails再インスコして上記を再度やる。

投稿から時間たってるし、ここに書いた事くらいはやってるよな?
やって動かないの認識でエスパー募集でおk?

184 名前:175 mailto:sge [2009/01/02(金) 09:28:43 ID:???]
おはようございます。
Ruby on Rails Portable ←(Portable)を Dドライブに展開しただけなので
Railsはインストールしてません。ただ同じようにインストールしてないRuby
の方はコンソールから ruby-vでバージョン出るので動いてるんですよ。

>>183 >>182
とりあえず Rails -v が返ってくるところを cd/ して見つけて
見つかったらそこにパスを通せば良いんですよね?

Ruby on Rails Portable の Railsがどこかにあるんだと思いますが
よく解りません。とりあえず今から出かけるので帰ってからまた探してみます。



185 名前:nobodyさん mailto:sage [2009/01/02(金) 10:32:02 ID:???]
>>184

>ただ同じようにインストールしてないRuby
>の方はコンソールから ruby-vでバージョン出るので動いてるんですよ。

インストールしていなければ、このような動きはしないぞ。
以前にRubyを入れた事があるんじゃないのか?
ActiveScriptRubyとか。
ちなみにgem -vでバージョン出たりしないか?
その場合、gem install railsでインストールできるからそれでOKだろ。
Portableを使いたいのではなく、Railsを使いたいんでしょ?

186 名前:nobodyさん mailto:sage [2009/01/02(金) 10:52:25 ID:???]
>>184
>Railsはインストールしてません。
>ただ同じようにインストールしてないRubyの方はコンソールから ruby-vでバージョン出るので動いてるんですよ。

ん??
インスコしてないのにruby -vで動作してるっておかしくね?
以前に入れた?もしくは展開しただけって言ってるけど普通にインスコしてんじゃね?

>Ruby on Rails Portable の Railsがどこかにあるんだと思いますがよく解りません。

自分でインスコ(してなく展開だけだっけ?)したのにどこのディレクトリ(フォルダ)に
あるのかわからん状態で>>181で環境変数に追加して動作しないって言ってたのか??

パスがどこかわかなん状態で適当にパスを追加したって動作しないくらいはわかるよな?
適当に追加 = そこには何も無い(奇跡でパスが当れば良いね) <- こんな感じですよ。

展開だけにしたにしろrailsが壊れてないならcd (展開したディレクトリ)に移動してrails -vで返答はある。
単にRailsを使いたいなら>>185のやり方が一番楽じゃないかなと思う。

187 名前:185 [2009/01/02(金) 11:11:00 ID:VbNvKLaT]
>>184
さっきのは忘れてくれ。
念のため、Portable試してみたら、確かに同じ状況を確認できた。
Portableは使った事がないから気づかなかった。
展開したディレクトリ直下のRailsPortable.exeを実行すると、
rubyとgemにパスが通った状態のコマンドプロンプトが起動する。
ここでは確かにruby -vは実行できる。
しかし、rails -vでパスが通っていないというエラーが出る。
(実際には、rails.cmdへパスが通っているのだが)

RailsPortable\App\Rails\bin以下に
rails.cmdとrailsというファイルがあってここが問題。
この中身を見れば何やっているか分かるはずだけど、初心者じゃ無理かも。
railsの中身は省略するけど、ただのrubyスクリプト。
で、修正するべきなのは、rails.cmdのほう。

rails.cmdの内容
--------------------------
@ruby "/PortableApps/RailsPortable/App/Rails/bin/rails" %*
--------------------------

zipを展開すると、RailsPortableというディレクトリになるから、初期状態では動くはずがない。
@ruby "/RailsPortable/App/Rails/bin/rails" %*
にしないと動かない。
もし、Dドライブに置くのであれば、D:/を付ける必要があるかも。
gemとかrakeも全部こんな調子だから、正直Portableはおすすめできない。
というかこんなの使いたくないなw

188 名前:nobodyさん [2009/01/02(金) 11:14:52 ID:l8SeDnaW]
>>187
おまい優しいなw

189 名前:nobodyさん mailto:sage [2009/01/02(金) 11:17:33 ID:???]
で昨日から返答してた奴らは>>187みたく動くか確認してやらなかったのがバレたなwww

190 名前:nobodyさん mailto:sage [2009/01/02(金) 11:51:32 ID:???]
C:/PortableApps の下で RailsPortable を展開すれば良かっただけじゃね?


191 名前:nobodyさん mailto:sage [2009/01/02(金) 11:53:31 ID:???]
>>181 = >>175
WindowsにおいてインストールディレクトリにD:を選ぶ時点で
無用なハードルを1つ増やすようなもの。



192 名前:nobodyさん mailto:sage [2009/01/02(金) 11:56:26 ID:???]
インストール先は個人の自由だけどさ
Railsを試すのが今回の目的っぽいし>>190の言うように
展開しとけば問題無かったんじゃないの?


193 名前:nobodyさん mailto:sage [2009/01/02(金) 12:04:37 ID:???]
素人は大人しくVMWareインスコしてLinux使ってなさいってことだな






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<55KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef