【Ruby】Ruby on Rails Part3
1 :
nobodyさん :
2007/02/06(火) 20:10:09 ID:nOZh/PU9
>> 1乙
>>4 Rdocは多分いちばんお世話になる情報じゃないか?
いったいナニがわからないんだ?
>>4 1番目のサイトも意味わからんな。今すぐ始めるRubyガイドにはならんだろ。
ならないな。Cで書かれたRubyのソースコードを解説してる。
10 :
2 :2007/02/08(木) 12:16:23 ID:???
2ゲット、すみませんでした。
rake test ってやるとdevelopmentのテーブル構造でtestデータベース作ってくれるんだけど、 各カラムに勝手にdefault属性をつけてくる。(MySQL) それは便利なこともあるからいいけど、text属性にまで付けようとして落ちる。 textはdefault値もてないから。どうしたもんかな。
>>11 migrateのスクリプトがおかしいだけとか?
13 :
nobodyさん :2007/02/09(金) 15:14:40 ID:0o4zhHm/
↑マルチ さてrailsの導入段階で失敗してる俺はふて寝する
fastcgiの導入の面倒さは特記すべき
16 :
11 :2007/02/10(土) 11:39:06 ID:???
1.1.6だからかな。同じ事が起きるか誰か試してちょ。
まぁ、Rubyが「書く楽しさ」とか曖昧で基準の無いアピールに逃げてるのも、 ひとえにその辺の「現実的な力における存在価値の無さ」ゆえだからな。
railsユーザはメインでは何使ってる気になる perl?php?java?
言語なんて適材適所だからメインなんて聞かれてもなぁ。
バッチ系はperl、いにしえの遺産はC、shell scriptも少々。で、メインはphp で、最近バッチ系をrubyにしようとしたら阻止されたw
まずはpythonだろ。常識的に考えて。
なんで?
日本じゃマイナーすぎ>ぱいそん 本もほとんどないしrubyより嫌がらそう。 railsを皮切りにrakeも普及してシェルやバッチもrubyで、というふうになればいいな。
ちょっとした自動化処理をPerlやRubyで書いた後、パズルの意味も兼ねて シェルスクリプトで再実装してみることはあるな。
25 :
nobodyさん :2007/02/11(日) 13:06:44 ID:U7k+fpd+
質問おけ?
routes.rbで
map.connect ':controller',
:action => 'index'
map.connect ':controller/:id',
:action => 'show',
:requirements => {:id => /[\d]+/}
map.connect ':controller/:action/:id'
って書いて、例えば
http://localhost:3000/user にアクセスしたら
user_controller#indexが呼ばれるようにしたいのに
user_controller#showが呼ばれて「Couldn't find User without an ID」って言われてしまうのはなぜ?
どこがおかしいの?
railsでPDFを扱いたいんだけど rjbからブリッジしてFOPで出力っていうのはできるかな?
>>25 んー、こっちじゃ期待通りに動いてるなー。
>>24 オフラインのホストとかの場合モジュールのインストールとか依頼するの面倒だから
バッチはシェルで書いちゃうな。それはもうゴリゴリと。
自動テストもMakeとシェルで書くぜ。
逆にシェルで書いた奴をPerlとかで書きなおしてみたことはあるよ。
お前らの趣味について質問しているわけではないのだけどね。w
30 :
nobodyさん :2007/02/13(火) 07:35:50 ID:QEaruDuK
質問です。 プロジェクトフォルダ直下の画像ファイルを読み込みたいんですが、どう設定したらよいでしょうか? "..\..\hoge.jpg"としてもうまくいきません。
画像を置く場所が間違ってる
32 :
nobodyさん :2007/02/13(火) 08:04:20 ID:QEaruDuK
>>31 生成した画像ファイルがプロジェクトファイル直下にできるのでpublic\imageに移動させたいんですが、移動させかたがわからないんです。
RAILS_ROOT + '¥hoge.jpg'
35 :
nobodyさん :2007/02/13(火) 14:24:56 ID:QEaruDuK
>>33 ,
>>34 ありがとうございました。
結局画像ファイルをpublicフォルダに移して解決しました。
rails1.2.2って意外と多くの変更があるような稀ガス
>>33-34 ていうかFile.joinでないと、いざunix環境もっていったときに動かなくなるよね
pathname.rbは便利なんだがWindowsではツカエネーしなー。
win環境でサンプルアプリを作ってるんだけど rubyやdbの文字コードをsjisにしても server起動してブラウザで画面表示させると 必ずutf8になって文字化けして困ってます。 画面遷移する度にブラウザでエンコード変更 すれば一応正常に表示されるので確認だけなら OKなんだけど・・・ どこか設定を変更すればsjisで初期表示できたりするものですか?
コントローラのフィルタで@headers['Content-Type']をソレナリに 設定するとか。
今さら好んでcp932使う意味あるの?
メモ帳でコード書いてるとか
最近はメモ帳でもUTF-8の読み書きできた気がする。
見てみたら、保存時にUTF-8指定できた
ケータイ用コンテンツとか?
まあ勝手にBOM付けられたりすることもあったり無かったり。
携帯のみ対応なら、db、ソースともsjisなら変換が要らないという理屈もあるけどな。。。
>>47 Rails ってエンコーディングの設定変更もできないんだ。使えねーな。
>>40 を具体的に書くと
# ApplicationController
before_filter :set_charset
after_filter :convert_to_sjis
private
def set_charset
@headers['Content-Type'] = 'text/html; charset="Shift_JIS"'
end
def convert_to_sjis
@response.body = NKF.nkf('-WS -m0 -x', @esponse.body)
end
つーか携帯ならActiveHeartプラグインも入れた方がいいんじゃね。
名前が体を表してないのが気に入らんが。
ActiveHeart ってそういうのに使えるんだ。 名前だけ聞いてキショかったんでそれ以上調べようとも思ってなかった。
ActiveHeartに入ってるのは、 validationのメッセージの日本語化。 メーラのISO-2022-JP化。 セッションIDをURLに自動的に付け、formにhiddenで埋め込む。 の3つだった。 上2つはgettextでもできるな。 最後のが携帯向けだた。
>>39 script/server -c Shift_JIS
1.2ならenvironment.rbの後ろのほうに
$KCODE = 'SJIS'
ActionController::Base.default_charset = 'Shift_JIS'
1.1.6ではこのcharset指定はできないので注意。
54 :
nobodyさん :2007/02/17(土) 22:47:51 ID:LiRd38e4
scaffold とかで作った編集画面で、データベースから引っ張ってきた 1000 個くらいの選択肢を選択させたいんです。 option で選択させるのではなく、別ウィンドウが開いて検索して選択できるようなお手軽な方法はありますか。
scaffold(足場)は本格使用のためのものじゃなく、あくまでとっかかり的なもの。 最終的には自前のコードで置き換えて消滅する立場の物なので、あまり凝った物 にはなってないし期待すべきでもない。 Railsが提供する範囲だと、auto completionが使えたりしないのかな?
ありがとうございます。 auto completion ちょっとためしてみます。
例外発生したときの既存のエラー画面のテンプレートはどこにあるのかにゃ。 それともハードコーディングされてるのかしら。
>>57 action_controller/rescue.rbの
template_path_for_local_rescue(exception)メソッド
かな。
呼ばれるrhtmlは
action_controller/templates/rescues
にあるようです。
ruby script/server でデフォルトではMongrelが立ち上がるけど、 Windows環境ではMongrelがコンソールに出力するメッセージにエスケープシーケンスが混ざっており、 これがWindowsのコンソールでは適切に認識できないみたく、表示が見にくくなっている。 回避方法がわからないので、Webrickを選んでいるけど、なんか解決方法ありますか?
>>59 config/environment.rbなどで
config.active_record.colorize_logging = false
Exception継承して独自の例外クラス作ったんだけど、これはどこに置くべき? modelに置いたけど何か違うような気モス。
lib/ じゃないかな。
64 :
nobodyさん :2007/02/19(月) 18:04:06 ID:XuEA94+B
入力の際に電卓のように右側から数字が出て3桁ごとにコンマが出るようにする良い方法を知ってる方 いたら教えて下さい。ヒントでもOK
65 :
57 :2007/02/19(月) 18:09:30 ID:???
コンマ付きの数値に整形するには数値を文字列化した上で true while x.sub!(/(.*¥d)(¥d{3})/, '¥1,¥2') 右寄せで表示するのはスタイルシートの仕事かな。
「入力の際に」ってことだから違うような。
Javascriptでも似たような置換できたはず。
>>62 Exceptionなんて継承しちゃダメ!
Rubyで独自例外を作るときははStandardErrorを継承するのが作法。
javascriptが良いような
1.1.6なんだがflashのassertがうまくチェックできない postしたあと assert_equal "hoge", flash[:notice] とかやるが、flash[:notice]の中身はnil。 何か仕様がかわったのかな。
73 :
nobodyさん :2007/02/25(日) 03:05:10 ID:J8TZXx7l
HAML使いたいんだけど、 gem install haml ってインストールしただけだと、 Railsから使えないんだけど、 Railsでは、どう設定したらいいんだろう。。
require 'haml' ?
75 :
nobodyさん :2007/02/26(月) 00:22:23 ID:uf+U74ev
<%= date_select 'hoge[]', 'fuga' %> ってまともに出力しなくない?
>>75 date_select "hoge", "date"
にしてみたらどう?
それにしてもこのスレ、活気ないな
これくらいまったりでちょうどいいんじゃね railsのソース読むの少しずつ慣れてきたがまだ割と迷子になる mix-inのメカニズムは書く時は楽だが 読むのには慣れるまで苦労するなあ、、
railsでのsingletonってスレッドセーフなんかな・・・ たとえば設定ファイルを具現化するクラスをsingletonにして、 30秒おきに設定を読み直す仕組みにするときって、 Javaだとsyncronizeとか使うよね。 railsでは、どうすればいいのだろう。 そもそもスレッドごとにsingletonでサーバー単位でsingletonじゃない?
singletonとIOの同期に何の関係があるのかよくわからない。
>>78 プロセス内では一つだけだけど、
普通 mod_ruby とか fcgi を使うと複数プロセスになるので注意。
そうなると Mutex とか使えない。
>>78 「読むだけ」ならどれだけ同時に読んでも問題ない気がするけど違うのかな。
>>83 このアプリで大変なのは、ぶっちゃけJavaScriptであって、バックエンドは簡単そうだから、べつにRoRである必要はないんじゃないかな。
RoRが強いのはデータのCRUDのようにformを使うものだと思う。
> このアプリで大変なのは、ぶっちゃけJavaScriptであって、バックエンドは簡単そうだから、べつにRoRである必要はないんじゃないかな。 RoR には RJS があるが、何か? ぶっちゃけるのは自由だが、Flash まくってるのは気のせいかね?
> RoRが強いのはデータのCRUDのようにformを使うものだと思う。 ワロスwwこの決め台詞は流行るww
まあ今時のウェブアプリはほとんどJS+Flashでバックエンドは何でもいい感じだからな・・
> まあ今時のウェブアプリはほとんどJS+Flashでバックエンドは何でもいい感じだからな・・ K*NT でもおk?
symfony使ってたら、rails使うのが馬鹿らしくなった
php なんかつかうやつはばかです。
こういう書き込みに対するレスポンスは迅速なんだな
まぁPHPだからな。
94 :
nobodyさん :2007/03/08(木) 04:20:40 ID:J25zk7/S
質問してもよろしいですか?
さくらレンタルサーバでruby on railsを動かそうとして、
ttp://d.hatena.ne.jp/usukey/20070305 にある通り設定しました。
railsプロジェクトを作ると
Welcome aboard
までは出るのですが、About your application’s environmentをクリックすると、
Application error
Rails application failed to start properly"
となってしまいます。
ググって見てもあまり情報が無く、サクラサーバで同じような現象になった方がいたら
アドバイスを頂きたいのですが、どなたかご存知ないですか??
95 :
nobodyさん :2007/03/08(木) 04:48:09 ID:J25zk7/S
94です. dispatch.cgiを動かすと、こんなんでます。。 $ ./dispatch.cgi Status: 400 Bad Request $HOME/local/ruby/gem/gems/activesupport-1.4.1/lib/active_support/dependencies.rb:404:in `to_constant_name': Anonymous modules have no name to be referenced by (ArgumentError) from $HOME/local/ruby/gem/gems/activesupport-1.4.1/lib/active_support/dependencies.rb:214:in `qualified_name_for' from $HOME/local/ruby/gem/gems/activesupport-1.4.1/lib/active_support/dependencies.rb:476:in `const_missing' from $HOME/local/ruby/gem/gems/rails-1.2.2/lib/dispatcher.rb:117:in `reset_after_dispatch' from $HOME/local/ruby/gem/gems/rails-1.2.2/lib/dispatcher.rb:51:in `dispatch' from ./dispatch.cgi:10
>>94 その機能はローカルでしか動かんよ。たしか。
さくらの専用サーバでRails使ってる。 About your application's environmentはリモートから見ようとすると For security purposes, this information is only available to local requests. と出るのが正しい。 とりあえずlog/#{RAILS_ENV}.logには何か出ないの? ところで、漏れもzsh使いだが、なんでそのURLでzshのインストールから 始めてるんだろう。
98 :
nobodyさん :2007/03/08(木) 08:46:53 ID:J25zk7/S
>97 94です $HOME/logと$HOME/rails/test/logには ~/log $ ls -al total 68 drwxr-xr-x 3 $usr_name users 512 3 8 04:54 ./ drwx---r-x 15 $usr_name users 1024 3 8 04:01 ../ -rw-r--r-- 1 $usr_name users 1342 3 7 04:54 access_log_20070307.gz -rw-r--r-- 1 root users 57985 3 8 04:54 access_log_20070308 -rw-r--r-- 1 $usr_name users 2 3 6 09:19 month drwxr-xr-x 2 $usr_name users 512 3 8 04:54 webalizer/ ~/rails/test/log $ ls -al total 4 drwxr-xr-x 2 $usr_name users 512 3 8 04:09 ./ drwxr-xr-x 14 $usr_name users 512 3 8 04:09 ../ -rw-rw-rw- 1 $usr_name users 0 3 8 04:09 development.log -rw-rw-rw- 1 $usr_name users 0 3 8 04:09 production.log -rw-rw-rw- 1 $usr_name users 0 3 8 04:09 server.log -rw-rw-rw- 1 $usr_name users 0 3 8 04:09 test.log とあり、#{RAILS_ENV}.logは無いらしいのですが、設定どこか間違ってますか?
>>98 えーと、
#{RAILS_ENV}.logと書いたのは、development.logとかproduction.log
のこと。
これのサイズがゼロってことは script/serverはリクエストを一度も受け付け
ていないはず。
つーか、script/server以外の方法で動かしてたりする?
apacheのログはまだ一切関係ないはずだが。
100 :
nobodyさん :2007/03/08(木) 09:38:41 ID:J25zk7/S
script/serverはやってません。。
動かし方は、
ttp://dgames.jp/dan/?date=20060218#p03を参考にしました 。
--
hoge/publicの.htaccessを書き換え
下の3行をコメントアウト。
AddHandler fastcgi-script .fcgi
AddHandler cgi-script .cgi
Options +FollowSymLinks +ExecCGI
config/environment.rbを書き換え
ファイルの先頭に下の2行を追加。
$LOAD_PATH.push("/home/xxx/ruby/lib/ruby/site_ruby/1.8")
$LOAD_PATH.push("/home/xxx/ruby/lib/ruby")
ってやってます。。
101 :
nobodyさん :2007/03/08(木) 09:45:25 ID:J25zk7/S
102 :
nobodyさん :2007/03/08(木) 09:52:45 ID:J25zk7/S
101で投稿したのは、apacheのログってだしましたが、あれは違うrailsアプリの500エラーで、今回作成したrailsアプリのログじゃありませんでした。 申し訳ありません。 ですが、、何もしてないのに、Internal Server Errorになっちゃいました。。
じゃあ head -1 public/dispatch.rb は期待どおり?
おっとdispatch.cgiか。
105 :
nobodyさん :2007/03/08(木) 10:19:57 ID:J25zk7/S
$ head -1 dispatch.cgi #!/usr/local/bin/ruby18 となってます。 /usr/local/bin/ruby18 は存在しているようです。
で、error_logにはなんと出てるの?
107 :
nobodyさん :2007/03/08(木) 18:58:34 ID:J25zk7/S
error_log はどこにあるんですか? 。。。あーなさけない。。。。。
>>98 にはaccess_logしかなかったのか。
apacheの設定ファイル見て探すしか。
109 :
nobodyさん :2007/03/08(木) 19:36:26 ID:J25zk7/S
スタンダードプランなので、apacheの設定ファイルは読めないようです。。 /var/log以下もpermission deniedだそうです、、 はーん。
Webminとかで見られないものなのかな。
111 :
nobodyさん :2007/03/08(木) 22:39:59 ID:J25zk7/S
res遅くなって申し訳ありません。。
どうやらwebminでも見れないようです。
script/serverで動かしたのですが、About your application’s environmentを
クリックしたときだと思いますが以下のエラーが出てしまってます。
--
./script/server:3
Rendering /home/id/lib/ruby/gem/gems/actionpack-1.13.2/lib/action_controller/templates/rescues/layout.rhtml (500 Internal Error)
Processing InfoController#properties (for xxx.xxx.xxx.xxx at 2007-03-08 22:34:13) [GET]
Session ID: 60e8c627e40afc6bf02bb26355cb6027
Parameters: {"action"=>"properties", "controller"=>"rails/info"}
Completed in 0.00101 (994 reqs/sec) | Rendering: 0.00004 (4%) | 500 Internal Server Error [
http://id.sakura.ne.jp/rails/info/properties]
112 :
nobodyさん :2007/03/08(木) 22:44:05 ID:J25zk7/S
また、dispatch.cgiを動かすとこんなエラーがでてます。 どうしたらよいのでしょうか? #<ArgumentError: Anonymous modules have no name to be referenced by> [ "/home/id/lib/ruby/gem/gems/activesupport-1.4.1/lib/active_support/dependencies.rb:404:in `to_constant_name'", "/home/id/lib/ruby/gem/gems/activesupport-1.4.1/lib/active_support/dependencies.rb:214:in `qualified_name_for'", "/home/id/lib/ruby/gem/gems/activesupport-1.4.1/lib/active_support/dependencies.rb:476:in `const_missing'", "/home/id/lib/ruby/gem/gems/rails-1.2.2/lib/dispatcher.rb:117:in `reset_after_dispatch'", "/home/id/lib/ruby/gem/gems/rails-1.2.2/lib/dispatcher.rb:51:in `dispatch'", "/home/id/lib/ruby/gem/gems/rails-1.2.2/lib/webrick_server.rb:113:in `handle_dispatch'", "/home/id/lib/ruby/gem/gems/rails-1.2.2/lib/webrick_server.rb:79:in `service'", "/home/id/lib/ruby/lib/ruby/1.8/webrick/httpserver.rb:104:in `service'", "/home/id/lib/ruby/lib/ruby/1.8/webrick/httpserver.rb:65:in `run'", "/home/id/lib/ruby/lib/ruby/1.8/webrick/server.rb:173:in `start_thread'", "/home/id/lib/ruby/lib/ruby/1.8/webrick/server.rb:162:in `start'", "/home/id/lib/ruby/lib/ruby/1.8/webrick/server.rb:162:in `start_thread'",
113 :
nobodyさん :2007/03/08(木) 22:45:27 ID:J25zk7/S
"/home/id/lib/ruby/lib/ruby/1.8/webrick/server.rb:95:in `start'", "/home/id/lib/ruby/lib/ruby/1.8/webrick/server.rb:92:in `each'", "/home/id/lib/ruby/lib/ruby/1.8/webrick/server.rb:92:in `start'", "/home/id/lib/ruby/lib/ruby/1.8/webrick/server.rb:23:in `start'", "/home/id/lib/ruby/lib/ruby/1.8/webrick/server.rb:82:in `start'", "/home/id/lib/ruby/gem/gems/rails-1.2.2/lib/webrick_server.rb:63:in `dispatch'", "/home/id/lib/ruby/gem/gems/rails-1.2.2/lib/commands/servers/webrick.rb:59", "/home/id/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require'", "/home/id/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require'", "/home/id/lib/ruby/gem/gems/activesupport-1.4.1/lib/active_support/dependencies.rb:495:in `require'", "/home/id/lib/ruby/gem/gems/activesupport-1.4.1/lib/active_support/dependencies.rb:342:in `new_constants_in'", "/home/id/lib/ruby/gem/gems/activesupport-1.4.1/lib/active_support/dependencies.rb:495:in `require'", "/home/id/lib/ruby/gem/gems/rails-1.2.2/lib/commands/server.rb:39", "/home/id/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require'", "/home/id/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require'", "../script/server:3"]
app/controllers/application.rb module ApplicationController < ActionController::Base def local_request? [ "127.0.0.1", "自宅のIPアドレス" ].include?(request.remote_ip) # 単にtrueでもOK end end とかして家からのアクセスでもエラーが出るようにしたら、 なんか出ないかねぇ。 「以下のエラー」ってのは画面に出たもの? log/development.logには何もでないのかね。 ログがゴチャゴチャしてきたら一度 rake log:clear オススメ。
×module ApplicationController ... ○class ApplicationController ...
116 :
75 :2007/03/09(金) 21:38:21 ID:???
>>76 [] を入れることによって、自動的にインデックスをつけたいんだけど、 [] が効力を発揮してないと思われるんですわ。
rails 1.2 だと直ってるっぽいんだけど。1.2 に移行するしかないのか。
RadRailsってどこがRadなの?
>>117 まぁRails自体がRADだと言えなくもないからな。
だったらtgのがよっぽどRADだけどね
LoginEngine Pluginを導入したいのだけど、どうしてもうまくいかない。 LogineEngine/Engine ファイル群をpluginsディレクトリに配置して、 environment.rb, application.rb、applicationHelper.rbを編集した後に rake db:migrate:engines:login_engine を実行すると rake aborted! Don't know how to build task 'db:migrate:engines:login_engine' で失敗。何かヒントを持っている人いませんか?
同じように入力してハマってる人どこかで見たな。 vender/plugins/login_engine/READMEを見てみてるといいよ。 その次の関門のヒントは、Rails1.2 + Engines1.2だ。
みんなスペックどんくらいのPCでRailsしてるん? script/consoleとかgenerate migrateとか結構な時間待たされない?20秒とか。 うちはPenM1.2/Mem1Gのノートなんだけど、、、、せっかちなだけかなぁ。 ちょと気になったから書いてみた
せっかちなだけ。 一息ついて水でも飲め。
Core2Duo/メモリ2Gで、一呼吸あって起動する感じ。
Pentium III 800MHz 128MB RAMのマシンでやってるが、 アールグレイとスコーンを食べながらまったりしながらやってるよ。
126 :
122 :2007/03/14(水) 01:47:59 ID:???
おk。わかった。水とスコーン買ってくるわ。
>>126 そんなものより、もうワンランク上のPC買って来い
130 :
120 :2007/03/15(木) 00:53:36 ID:???
>>121 結局、1.2ではEngineは使えないと見なして、捨てることにしました。
131 :
nobodyさん :2007/03/17(土) 02:28:16 ID:99ZI4xV2
upload_progress プラグインが1.2でうごかない。。。。 しょうがないからmongrel_upload_progressプラグインつかったけど、これ大丈夫なのかなぁ。
132 :
nobodyさん :2007/03/17(土) 10:18:11 ID:IM4PoT/S
あんな贅沢なハード使ってて、そういう結果なの?
それが、Rubyの性能。
RoR のアプリって重すぎw
rails作った人って、ひょっとしてJavaで開発してたときも TextMateで作ってたんじゃないの? Railsやってみても、開発環境揃ったJava製FWより圧倒的に いい感じはそんなにないんだけど…
Java のフレームワークに十分慣れていて困ってないなら Rails 使うこともないんじゃない。
>>136 「開発環境揃ったJava製FW」とやらを具体的に説明しない限り誰も相手にしてくれない
IDEを使えば書くのはそんなに大変じゃないけど、 読むのは面倒って印象があるけどね Java
むしろ読む方が楽じゃね?
相手にしてくれないといいつつ、
しっかり釣られてる
>>138
すみませんが、質問です。 rhtmlファイル(ERb)で、Rubyコードを含んだコードをコメントアウトするには、 どのように書けばよいでしょうか? <!-- --> だとRubyコードが実行されてしまうと思います。
<%# ... %>
どーしてマニュアルを読まないんだろうか
145 :
142 :2007/03/20(火) 20:18:03 ID:???
$ ri ERB <snip> Recognized Tags --------------- <snip> <% Ruby code -- inline with output %> <%= Ruby expression -- replace with result %> <%# comment -- ignored -- useful in testing %> <snip> と出た。
147 :
142 :2007/03/20(火) 21:38:54 ID:???
RubyCookBookついに翻訳が終わって来月出るみたいだね
ソースクレ
>>150 149のか?
オライリーのMLで来月の発売予定に入ってたよ。
ruby は一通り使えるつもりですが、 rails はもちろんサーバーサイドも初めてな私に、 オススメの書籍があれば教えていただけないでしょうか?
はじめてのRuby on Rails
>>152 オーム社の「RailsによるアジャイルWebアプリケーション開発」
って本で今勉強中。
最初に秀和システムの「Ruby on Rails入門」というのを買ったんだけど
よく解らなかったので。
秀和のってことは舞波本か。 アレは分かってる人向けの本だな。 「RailsによるアジャイルWebアプリケーション開発」通称ADWwR DHH(Rails作者)による本。監訳は前田修吾氏。 あたりまえだが網羅的。 「はじめようRuby on Rails」 かずひこ氏他著。 テストファーストで作っていく。 「ライド・オン・Rails」 配備周りを詳しく書いてある。 「かんたんRuby on Rails」 ステップ・バイ・ステップでコードの解説が詳しい。 もう1〜2冊あったと思う。
PerlやPHPとかで既にサーバサイドプログラミングしている人なら舞波本お薦め。 Railsによる云々を最初に読んだんだがもどかしくてかなわん。
157 :
152 :2007/03/30(金) 00:16:02 ID:???
みなさんレスありがとうございました。 「Ruby on Rails入門」がダメなことは分かりましたw 「RailsによるアジャイルWebアプリケーション開発」は高いけど良さそうで、 「かんたんRuby on Rails」は安くて簡単そうなので、 このふたつを中心に明日本屋で立ち読みして 良さそうな方を買ってこようかと思います。
ActiveSupportやセキュリティについていちばん詳しく書いてるのは 舞波本だったと思うが、「1冊目」には選ばない方がいいかなぁ。
いや、全部買えよ
RubyもWebプログラミングも初めての人は どれを読めばいいですか?
>>160 まず Rails を知りたいなら「はじめよう Ruby on Rails」かなぁ。
実際に手を動かして感覚を掴め。
しかるのちに「プログラミング Ruby 第二版」の言語編、ライブラリ編を
辞書代りにしつつ「たのしい Ruby」とか「はじめてのプログラミング」とか。
本を読む場合は以上のような感じがいいかな、と思うけどwebで勉強するなら
るびま読破がおすすめ。内容はバラバラだけど記事のレベルは高い。
ちなみに他言語の経験はあるのか?webじゃないプログラミング経験。
リファレンスマニュアルは、ローカルにgem_server走らせて 見られるのも便利だな。
リモートのLinuxサーバにMongrel入れてちゃんと動いてるかどうかの確認をしたいのですが、 RailsのWelcome Aboard 画面で「About your application’s environment」を リモート環境から参照する方法ってありませんかね…?
すみませんが、質問です。 ActiveRecordでオブジェクトのデフォルト値を設定する方法はありませんか? DBのテーブル定義のカラム初期値を取得してくれるのかと想像していたのです が、そうではなかったようです。
>>164 Rails::InfoController#local_request?が常にtrueを返すように再定義
すればいいのかと思ったが、どうもうまく書けない。
とりあえず、mongrelで動いているかどうかだけなら、
$ telnet WEBサーバ名 80
HEAD / HTTP/1.1
Host: アクセスする際のWEBサーバ名(バーチャルサーバのときなど)
(改行2回)
で、Server: 行を見ればわかるだろう。
>164 どーやってサーバーあげてんの? 大体の場合ログ見ればわかるよ。
>>165 $ rails zoo -d sqlite3
$ ./script/generate model Animal
class CreateAnimals < ActiveRecord::Migration
def self.up
create_table :animals do |t|
t.column :name, :string
t.column :leg, :integer, :default => 4
end
end
end
$ rake db:migrate
$ ./script/runner 'puts Animal.new.leg'
4
とかいう結果になったぜ。
sqlite> .dump 'animals'
BEGIN TRANSACTION;
CREATE TABLE animals ("id" INTEGER PRIMARY KEY NOT NULL, "name" varchar(255) DEFAULT NULL, "leg" integer DEFAULT 4);
COMMIT;
169 :
165 :2007/04/05(木) 17:13:42 ID:???
>>168 ありがとうございます。こちらも、TINYINTだとそのように動作しました。
数値だとうまく行くのかもしれません。
VARCHARだとうまく行かないのですが、いかがでしょうか?
ちなみにDBはMySQL5.0です。たぶん関係ないと思いますが。
>>168 の例で
t.column :name, :string, :default => 'No Name'
としたバージョンを作ってみた。
$ ./script/runner 'p Animal.new.attributes'
{"name"=>"No Name", "leg"=>4}
sqlite> .dump 'animals'
BEGIN TRANSACTION;
CREATE TABLE animals ("id" INTEGER PRIMARY KEY NOT NULL, "name" varchar(255) DEFAULT 'No Name', "leg" integer DEFAULT 4);
COMMIT;
となったぜ。DB依存なんだろうか。
$ sqlite3 -version
3.3.8
$ rails -v
Rails 1.2.3
$ ruby 1.8.6 (2007-03-13 patchlevel 0) [i386-darwin]
$ uname -v
Darwin Kernel Version 8.9.1: Thu Feb 22 20:55:00 PST 2007; root:xnu-792.18.15~1/RELEASE_I386
AR-1.15.3/lib/active_record/connection_adapters/mysql_adapter.rb
にこんなコメントがあるんだけど英文の意味がよーわからんです。
# MySQL misreports NOT NULL column default when none is given.
# We can't detect this for columns which may have a legitimate ''
# default (string, text, binary) but we can for others (integer,
# datetime, boolean, and the rest).
#
# Test whether the column has default '', is not null, and is not
# a type allowing default ''.
>>170 「NOT NULLかつデフォルトが空文字列('')かつ
テキスト系の型っていう場合はMySQLでは
正しくデフォルト値を検知できねーんだよウワアアン」
っていう感じじゃないだろうか
そこのコードはその3つの条件をチェックしたbooleanを返して
真だったらカラムのデフォルト値が強制的にnilになるようになっている
すみませんが、質問です。 Emacs で rails.el を使うと、C-c C-c l でログを表示できます。 末尾10行(tail)が表示され、エスケープシーケンスによる色付けにも 対応しています。 この表示行数を変更するにはどうしたらよいでしょうか? これを規定する変数がどこかにあると思うのですが。
rails-log.elで (start-process "tail" buffer "tail" "-f" (rails-core:file (concat "log/" log-file))) とあるが、これが使われているのなら、tailのデフォルト値である 10がそのまま使われていることになりますな。
174 :
172 :2007/04/07(土) 02:12:21 ID:???
>>173 ありがとうございます。そうでしたか、残念。
何とか修正しようと見よう見まねでコードをいじってみましたが、失敗しました。
>>174 最近emacs使ってないし入れてもいないんだけど、
こんな感じで対応できたりする?
--- rails-log.el (リビジョン 169)
+++ rails-log.el (作業コピー)
@@ -27,6 +27,7 @@
;;; Code:
(defvar rails-log:last-log nil)
+(defvar rails-log:lines-to-follow 10 "*Number of lines to follow by tail")
(defun rails-log:files ()
(directory-files (rails-core:file "log") nil "¥¥.log$"))
@@ -48,6 +49,7 @@
(start-process "tail"
buffer
"tail"
+ "-n" (number-to-string (or rails-log:lines-to-follow 10))
"-f" (rails-core:file (concat "log/" log-file)))))
(defun rails-log:open (log-file)
RailsというかARなんだけど、あるsaveだけ例外的に updated_atが自動更新されるのを防ぎたいんだけど どうやったら良いですか?
>>176 方法1: クラス単位ながら record_timestamps = true/falseで制御できるので
save の度にこれを切り替える。
方法2: updateが、updated_without_tmestampsだけを呼ぶように、
特異メソッド定義をする。(cf. AR/lib/active_record/timestamp.rb)
あたりでどうか。
typo. updated_without_timestamps→ update_without_timestamps
>>176-177 おぉ激しくサンクス。
方法1であっさりできました。
ググってもなかなか見つからなかったので..
180 :
nobodyさん :2007/04/09(月) 11:12:11 ID:znqt2L3W
すみません、 date_select で年の範囲を指定(増やす)したいのですが、 いい方法はありませんか?何個かあるので個別にでなくまとめて できればいいんですが・・・。 さっきから検索してますが、なかなかみつかりません。 おねがいします!
ApplicationHelperにでもヘルパメソッドつくって そんなかでdate_selectを定義して呼びだせばいいんじゃまいか?
>>181 >date_selectを定義して
date_selectを呼ぶように定義して
ありがとうございます。 初心者なのでなかなかわからないことばかりなのですが、 ヒントをいただいたのでもうちょっとがんばってみたいと思います。
184 :
172 :2007/04/09(月) 18:42:20 ID:???
>>175 遅レスですみませんが、今試したところ、うまく行きました!
setvar rails-log:lines-to-follow 100 で100行の表示になります!
本当に便利になりました。ありがとうございます!
すみませんが、質問です。 2つのテーブルがあります。それぞれa, b とします。どちらのテーブルも定義 は同じで、 id, user_id1, user_id2 となっています。 テーブルaのレコードのうち、user_id1 と user_id2 の組み合わせが、テーブ ルbに含まれないものを取り出したいのですが、どのように指定したらよいでしょ うか?SQLを書く以外に方法を思いつかなくて、困っています。教えていただけ ないでしょうか? なお、他にuserテーブルもあって、 id, name という定義になっています。このidが、aとbのuser_id1, user_id2に収められ ています。
whereで普通に絞り込めると思うけど、 同じスキーマのテーブルが2つあるって。。 テーブル設計やり直した方がいいとおも
187 :
185 :2007/04/10(火) 00:06:52 ID:???
残念ながら、私には絞り込めませんでした。 両方に含まれるものを取るなら簡単ですが、 aには含まれ、bには含まれないというものを指定する方法が分からないのです。
188 :
185 :2007/04/10(火) 00:14:04 ID:???
補足ですが、a, b は実際には同じ定義ではありません。質問の簡単のために省 略しましたが、それぞれ他のカラムも持っています。 これらのテーブルは実際のところ、user_id1, user_id2 の二つを主キーとする 複合キーに近いのです。aはトランザクションテーブルであり、bは2ユーザの禁 止された組み合わせを保持するマスタだとお考えください。 もっと良いテーブル定義があるなら、それもお教えいただければ大変助かりま す。
そうだな。 まず会社名から聞こうか。
190 :
185 :2007/04/10(火) 12:49:41 ID:???
全く回答がいただけません。難しいのか、それとも質問が問題外なのか。
とりあえずはSQLで対処することにします。Railsアジャイル本のP221にも、必
要ならSQLを使おうと書いてありますし。
ActiveRecordは、自動採番の1カラムID以外をサポートしておらず、従来のデー
タモデリングの手法がそのままでは使えませんが、ノウハウを身につければそ
んなにSQLを書く必要はない、とどこかで聞いたような記憶があります。
ですから、
>>185 そのままのテーブル定義でもActiveRecordで所望の結果を得ら
れる、またはテーブル定義を改変すれば得られる、のではないかと予想して質
問したのですが、どうも質問の仕方が悪かったようです。
今さらですが、質問を追加すると、ActiveRecordでどうしてもSQLを使わなけれ
ばならない場合もあると思いますが、それを見分ける方法はないものでしょう
か?
>>190 > 全く回答がいただけません。難しいのか、それとも質問が問題外なのか。
問題外だから。
> どうも質問の仕方が悪かったようです。
だったら書き直してこいよ。あんな情報量の少ない質問に答えられるハズがない。
> 今さらですが、質問を追加すると、ActiveRecordでどうしてもSQLを使わなけれ
> ばならない場合もあると思いますが、それを見分ける方法はないものでしょう
> か?
必要なときに使う。見分け方はリファレンスを見て該当する機能がない場合。
>>190 SQLつかわずに、id1,2の組をaから抽出しつつ
rubyのコードでループまわして解決することもできるとおもうが
それはダメ?
active recordでなんでもできるというよりは、 railsつかうくらいなんだから、
sqlよりはrubyが使えるという前提なだけなんだとおもうが,
どっちが効率いいかは自分で考えて、やりたいほうでやればいいとおもう。
193 :
nobodyさん :2007/04/11(水) 07:30:46 ID:n4G4bIgP
要求するレスポンスやソースの可読性によりきりわけてる。 それにヒアドキュメント使えばそこまで ソースは汚くならないよ。 S2Daoの外だしSQLみたいなライブラリがあればもっと悩まなくていいんだけどね
select タグが初心者で戸惑っています。 users テーブルと prefectures テーブルがあります。 users テーブルには name, email などのフィールドがあり、prefecture_id というフィールドを prefectures テーブルの id フィールドに関連付けています。 prefecture テーブルは id, name の2フィールドだけです。 user.rb では belongs_to :prefecture と宣言して views/users/_form.rhtml では <%= select('participation', 'prefecture_id', @prefectures, :include_blank => true) %> と記述すると、データは引っ張ってきてるようなのですが、値が <option value="#<Prefecture:0x48a8e38>">#<Prefecture:0x48a8e38></option> となってしまいます。 これはどうやったらいいのでしょうか? <option value="1">北海道</option> のように表示したいです。 ちなみに users_controller.rb では @participation = Participation.new としています。
ヘルパー定義 module PrefectureHelper def options_for_prefecture Prefecture.find(:all).map{|pref| [ pref.name, pref.id ]} end end コントローラ helper :prefecture ビュー <%= select 'participation', 'prefecture', options_for_prefecture %> とかかなぁ。
collection_selectじゃだめなのか?
>>195 レスありがとうございます、おそくなってすいません。
教えてもらったやり方で都道府県のプルダウンが表示できました。
でも更新がエラーになりました。
フィールド名が prefecture_id でなく prefecture となるためのようです。
>>196 <%= collection_select('participation', 'prefecture_id', @prefectures, 'id', 'name', :include_blank => true) %>
とすることで解決しました。
お二人ともどうもありがとうございました!
199 :
nobodyさん :2007/04/14(土) 00:33:16 ID:6tinSehY
$rails hello
$cd hello
$./script/server
として、
http://localhost:3000/ を表示、
About your application’s environment
をクリックすると、
`/rails/info/properties' not found.
何が足りないんでしょうか?
rails本体ロードできてるのかそれ
201 :
nobodyさん :2007/04/14(土) 15:37:31 ID:6tinSehY
Welcome aboard までは表示されるんですよね。 うーむ
スタックトレースは?
ログ見ろ
>>202-203 を確認するには、
$ ./script/server
を実行したディレクトリから相対パスで
log/development.log
というファイルを見る。
205 :
nobodyさん :2007/04/14(土) 18:46:14 ID:B2xpWsRy
206 :
nobodyさん :2007/04/14(土) 21:40:24 ID:6tinSehY
そもそもの/rails/info/properties ってどこを読みにいってるんでしょうか?
>>206 rails-x.y.z/builtin/rails_info/rails/info_controller.rb
というかログは見たのかと。
208 :
nobodyさん :2007/04/14(土) 22:41:35 ID:6tinSehY
About your application’s environment
をクリックしたときのログは、
Processing InfoController#properties (for 127.0.0.1 at 2007-04-14 22:38:27) [GET]
Session ID: f23ae9ce2c7a252c1b125a13c239630e
Parameters: {"action"=>"properties", "controller"=>"rails/info"}
Completed in 0.08135 (12 reqs/sec) | Rendering: 0.00256 (3%) | 200 OK [
http://localhost/rails/info/properties] となっています。
それだとrails的には正常に動作しているな。 コンソール(script/console)から >> app.get('/rails/info/properties') はたぶん200が返るよね。(正常動作) >> Rails::Info や >> Rails::Info.properties は実行できる?
210 :
nobodyさん :2007/04/15(日) 00:54:17 ID:VaZuR0Tw
script/consoleの実行でエラーが出るので、たどっていったら、 irbが入っていませんでした。 ruby1.8-devは入れたんだけどな。 というわけで, #apt-get install irb でAbout your application’s environmentから動作環境が表示されるようになりました。 ありがとう。
grepしてもirbの有無が影響しそうなところは見あたらないなと思ったのだが、active_support/breakpoint.rb が require 'irb' してるのが影響するのかな。
irbパッケージはバイナリだけなんだけどなあw irbのライブラリ側でバイナリあるかみてるのかね
213 :
nobodyさん :2007/04/15(日) 01:47:46 ID:bwS+3MUr
Railsの有効な要件範囲を5行で答えよ
そういやwebricのコンソールにエラーは出なかったの?
ちと長いけどWebrickのエラーです。
#<ArgumentError: Anonymous modules have no name to be referenced by>
["/usr/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/dependencies.rb:404:in `to_constant_name'", "/usr/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/dependencies.rb:214:in `qualified_name_for'",
"/usr/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/dependencies.rb:476:in `const_missing'",
"/usr/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/dispatcher.rb:117:in `reset_after_dispatch'",
制限かかったので中略。
[2007-03-29 06:50:53] ERROR `/rails/info/properties' not found.
192.168.0.8 - - [29/Mar/2007:06:50:53 JST] "GET /rails/info/properties HTTP/1.1" 404 294
http://192.168.0.10:3000/ -> /rails/info/properties
irb抜いて再現。
>>215 dispatcher.rb:117がまさに
Breakpoint.deactivate_drb if defined?(BREAKPOINT_SERVER_PORT)
だな。ここでRailsの自動ロード(const_missingから↑の処理)によって
breakpoint.rbが読まれて、最初(18行目)のrequire 'irb'に引っかかるってことか。
217 :
216 :2007/04/15(日) 11:23:32 ID:???
しかし
>>212 によれば
Debianのruby-irbってバイナリ(というか/usr/bin/irbはスクリプトだが)
しか入ってないらしいから、requireが失敗するのは変だな。
あ、ubuntuです。 インストールファイル一覧みると拡張子.rbなスクリプトが結構あるようです。 ちなみにVine4,1でも同じ現象に悩んでて、irb追加で動作しました。
debもvineもやまださんがパッケージングしてるから構成が似てるのかな。
220 :
212 :2007/04/15(日) 13:33:24 ID:???
なるほど、ubuntuはirbパッケージに irbのライブラリも入ってるのか debian使ってるのでdebianかと思って早とちった debianはirbパッケージがbinの分だけの構成 納得
ubuntuならrails1.1.6パッケージがあるんで、そっちを入れればスムーズだったでしょうね。 依存情報みると、 ruby1.8(>=1.8.2-3) rake(>0.7.0) rdoc(>1.8.2) libpgsql-ruby1.8 |libmysql-ruby1.8 | libdbi-ruby1.8 libredcloth-ruby1.8 liberb-ruby となってます。 irbは推奨。 パッケージ使うのとgemから入れるのとどっちがよかったんでしょ? #深く考えずにgemから入れてるので、ruby関係のファイルダブってる予感。
パッケージはやっぱり最新になるまで若干ラグがあるから gemで入れれるものは全部gemで入れるなあ あとダブっちゃうとパッケージ入れたものが優先されちゃって それのバージョンが古くて動かないとか時々ハマる ので、基本rubyのライブラリはgemで入れている
223 :
nobodyさん :2007/04/15(日) 22:26:40 ID:R7zqEagR
パッケージはとにかくお手軽で入れたい人用。更新は遅い gemは、面倒だが更新が早い(というか即更新) 面倒っつーか、正式にはgemだけど
>>223 gem 面倒かなあ。
gem のインストールを1回やれば、あとは手間というほどのものは
ないとおもうけどなあ
gem本体はパッケージで入れてる
226 :
nobodyさん :2007/04/16(月) 16:54:04 ID:Cp2bXGKb
@aa @aa.bb = bb.new @aa.cc = cc.new if @aa.save render :action => 'susumu' else render :action => 'modoru' end の状態でccのvalidateがうまくいかない。 bbモデルのvalidateではちゃんと検出して差し戻しが起きるのに ccモデルのvalidateではerrors.addしても susumuに行ってしまいます。 わかる方いたら教えてください。
227 :
nobodyさん :2007/04/16(月) 19:21:02 ID:beYyUphl
数あるプログラミング言語の中から Rubyを選んでRailsという素晴らしいアイデアを 実現したDHHって今更ながら凄い。 多分、RailsがなければRubyという言語の良さに 一生気づく事も無かったかもしれない。 Railsについてはまだまだ知らない事だらけだが、 こいつのやる事なら勉強してみる価値ありそうだ そう思わせてくれる。
>>226 has_oneとかbelongs_toとかはどうなってるの?
229 :
nobodyさん :2007/04/16(月) 21:24:33 ID:3HLa8xFU
All your base are belong to us
230 :
nobodyさん :2007/04/16(月) 21:59:48 ID:a8d2FLrt
もうすぐオライリーのRailsクックブック発売ですが、RailsクックブックとRailsレシピって、内容かぶってるんですか? それとも、両方手元のあった方が良い?
Rubyクックブックじゃなくて?
232 :
nobodyさん :2007/04/17(火) 07:24:14 ID:57xOi4kk
>228さん aa has_many bb has_one cc で、両方とも belongs_to aa になります。
233 :
nobodyさん :2007/04/17(火) 07:25:33 ID:57xOi4kk
あ、なので、正確には @aa.bb << bb.new @aa.cc = cc.new ですね。
belongs_to :aa はないの?
235 :
230 :2007/04/17(火) 08:18:58 ID:65SxndUC
すんません、RubyとRails勘違いしてました。
236 :
nobodyさん :2007/04/17(火) 08:46:27 ID:57xOi4kk
>234さbb bbにもccにも belongs_to :aa があります。 ちなみに、cc.saveをするとちゃんとvalidateが動いて差し戻すので addしてるerrorsが違うオブジェクトなのでしょうか…。
rubyリストの本が今日某電気屋においてあった
railsアプリ内でwww.hogehoge.comへのアクセスを hogehoge.comにリダイレクトする方法ありませんか? mongrelのみでアプリ立ち上げているもんで、、、
DNSの仕事じゃないの?
RadRailsについてですが、こちらで質問させて頂きます。 RadRailsで、右下のペインのタブ(Servers, Generators, Rake Tasksなど)を 閉じてしまった場合、どうすれば元に戻せるでしょうか? タブを閉じるボタンはあるのに、再度開く方法が分からず、 タブを移動する際に誤って、閉じる(×)ボタンを押してしまわないか心配です。
>>240 しばらくeclipse使ってないんだが、
Windowメニューの中からViewを選んで表示できない?
243 :
240 :2007/04/20(金) 22:48:25 ID:???
>>242 ありがとうございます。
Window > Show View > Other ...
から、各項目を復帰できる事を確認しました。
周りにも、タブを閉じてしまって困っている人がいるので助かりました。
フォームのセレクトの使い方がわからない。。 <p><label for="user_type">タイプ</label> <%= select 'user', 'type', [ "タイプ1", "タイプ2", "タイプ3" ] %></p> とすると、こんなんでます。 TypeError in users#create Showing app/views/users/_form.rhtml where line #8 raised: wrong argument type String (expected Module) どなたかご教授ください。
246 :
244 :2007/04/23(月) 17:18:10 ID:???
typeカラムがなかったYO!
>>245 びっくりしたYO!
特定のモデルクラスに対してのみpluralize_table_names=falseを 適用したいと思い、継承したクラス内でクラス変数の設定をしたのですが、 親クラスのクラス変数も上書きされてしまっています…。 ↓ソースだとこんな感じです class Model < ActiveRecord::Base self.pluralize_table_names = false end 回避するにはモデルごとにpluralize_table_names変数をセットするしかないのでしょうか…? どなたか良い解法後存知でしたら教えてください。
なんでクラス内の変数が 親クラスに影響与え天だよ スコープが甘いんじゃねーの?
249 :
nobodyさん :2007/04/24(火) 22:58:31 ID:cwLWyb36
RadRailsのwebrick立ち上げがメッサ遅いんですけど(WindowsXP) 何でなんだろ・・・ コマンドラインからだと、そこまで遅くないんだけどな
>>247 class Model < ActiveRecord::Base
def self.pluralize_table_names
false
end
end
>>248 1.9 では親クラスと共有しなくなった。
Rails1.2でARのObject#idがdeprecatedになってるんだけど、これってもう 実装者からはid触れなくするってことなんかな? バッチとかでtrancateしてinsertし直す時に困りそうな気がするんだが…。
>>253 自己レス
warning: Object#id will be deprecated; use Object#object_id
よく嫁よ俺…orz
255 :
nobodyさん :2007/04/25(水) 15:55:33 ID:l0yezZx4
RadRailsでWebサイト作ってるんですけど debugってどうやればいいんでしょう? サイトをいじりながらデバッグしたいんですけど、 出来ないのかな?
256 :
244 :2007/04/25(水) 20:29:04 ID:???
ラジオボタンのcheckedってどーやんだ。 <%= radio_button 'send', 'type', 'mail' %>aaa <%= radio_button 'send', 'type', 'login' %>bbb Rails API ドキュメントむずい・・
先に <% send.type = 'mail' %> と値を設定しておいてやればいいのでは?
あ、もうちょっと考えて書けばよかった。 <% send.type |= 'mail' %> の方がいいね。
260 :
244 :2007/04/25(水) 21:51:46 ID:???
<% send.type ||= 'mail' %> <%= radio_button 'send', 'type', 'mail' %>aaa <%= radio_button 'send', 'type', 'login' %>bbb no method name given だめでし
261 :
257 :2007/04/25(水) 22:15:50 ID:???
>>260 <% @send.type ||= 'mail' %>
です。重ね重ね済まん。
262 :
244 :2007/04/25(水) 22:56:47 ID:???
うーん、 エラーで無くなったけどcheckedにならないですね。 <% @send.type ||= 'mail' %> <%= radio_button 'send', 'type', 'mail' %>aaa <%= radio_button 'send', 'type', 'login' %>bbb だめぽ
263 :
nobodyさん :2007/04/26(木) 08:06:56 ID:7y5iCbkB
脆弱性乙
>>244 単に@send.typeがObject#typeを呼んでるだけなんじゃないの?
method_missing経由でカラム名のアクセサがあるように見せているので、
すでにメソッドがあったり、自分で上書きしたりすればデフォルトのアクセッサは
動かなくなる。
ARって検索で大量のレコードがHitすると検索結果を全部Arrayに入れようとするので重くなりますよね。 ARでカーソルみたいなRecordSetのような概念はないんでしょうか? WebアプリだったらそもそもそんなにHitする画面はねーよ、っていう思想なのかな・・
すみませんが、質問です。 Railsで、アップロードされたファイルを受信する際に、ファイルのサイズに制 限をつけるにはどうしたらよいのでしょうか?巨大ファイルを送信されたとき に拒否したいのです。
初歩的で恐縮ですが、質問です。 ファンクションテストで使う、assins には、メソッドと単なるハッシュの二種 類があるそうですが、この単なるハッシュのスコープは何でしょうか? 単なるローカル変数だとしたら、そのテストメソッドの中のスコープしかあり ませんから、テストメソッドの実行前に価をセットしておけるはずがないと思 います。不思議です。
ゆっとることがよくわからんし、assinsがassinsertかassignsかも判然としないけど、
assignsのハッシュはViewのインスタンス変数のハッシュそのものじゃないか。
ソース見てないけど。
>>267 File.size(params[:uploaded_file].local_path) じゃだめかね
直接params[:uploaded_file].sizeでいけたかも。
CruiseControl.rbってRailsなのね。
271 :
nobodyさん :2007/04/28(土) 14:21:31 ID:weHXkhvg
>>265 この現象ってページングの時もですか?
1億件から30行とってくる場合に、1億件ARRAYに入れて30件抽出すると言う事ですか?
pagination は内部では find(:all, ... :offset => paginator.current.offset, :limit => per_page) という呼び出しをしているのでだいじょぶ。
ただ、デフォルトの pagenate は小さいオブジェクトをたくさん作るので、 そこでメモリ食ったり処理速度上のネックになったりはする。 表示する件数がやたら多い場合とかだけどね。
274 :
271 :2007/04/28(土) 18:50:24 ID:weHXkhvg
Rubyって現在運用に向いてるの? あんまりみたことないし、作者のサイトがPHPなんだけどw この言語はネタかww
作者のサイトとは?
運用ってどんな運用よ?
つれたつれた
で、作者のサイトとは?
PHPのアホ言語仕様に気づかないようなプログラミングセンスのない奴は 所詮何使っても同じだよ
へえ、たとえばどんな?2〜3例ばかり挙げてもらえる?
山ほどあるが、一番アホなのは高階関数が使えない事かな。 PHP function cube($n) { return($n * $n * $n); } $a = array(1, 2, 3, 4, 5); $b = array_map("cube", $a); print_r($b); Ruby a = [1, 2, 3, 4, 5] p a.map {|x| x**3} 実装の多重継承を行う仕組みがないところ あとは組み込み関数にオブジェクト指向が全然活用されてないところ、 Perlに中途半端に似てるシンタックス
うーん、だっさーいけどcreate_functionを使えば同等のことができると思うけど。 それを言うならclosureがないのがアホだろう。
あー、あと実装の多重継承(rubyでいうinclude)がないのには結構悩んだ。 けどこれもなんとかなるんだよね、実は。requireを使えばできる。 組み込み関数にオブジェクト指向が活用されてないのは仕方ないよ。 だって全部がオブジェクトじゃないし、元々の出自が違うもの。 そこは割り引いてあげなきゃ。 Perlに文法似てる? 全然そんなことないと思うけど。 Perlの文法で特徴的なのは文脈で変数の解釈が変わることで、 PHPにはそれがないよ。
連投すまん。 だからといってPHPがいいとはちっとも思ってない。 アホ言語仕様とまでは思わないけど、 まあ文法はださいけど結構色々できるよってことね。
Rubyはイテレータが便利で今までFor文とかほとんど書いた事がなかったんですけど、ERBだとFor文を使ってますよね。 AWDwRのサンプルコード見てもそうですし。 これがどうにもRubyぽくない(というかほとんどJSPに見える)ので嫌なんですが、どうにもならないところなんですかねぇ。。。 イテレータ拡張してブロックの評価結果を戻り値で返すって言うのはダメですか?
単にデフォルトのscaffoldで生成されるテンプレートがforループを使っているだけであって 使いたくないなら使わなければ良いっていうか、好きにすれば良いっていうか... でもViewで凝ったループを使いたくなることは無いし、forだとだれにでも判り易くていいんじゃない。 表記の好みだけが問題ならどっちでもいいじゃん?
phpはオブジェクト指向を途中から中途半端に入れたからもう無理だろ
eachよりもforのほうが軽い。(eachはループごとにブロックスコープを生成するがforはブロックを作らない)
>>289 それは知らなかった。横で見ていたものだが教えてくれてありがとう。
でもforみたいに新たな文法を導入するよりeachの方が好きなんだよね…。
>>286 eachで書くことが出来ないと思っているならそれ誤解だから。
値の検証でmodelに validates_presence_of :name, :message=>"名前がありませんよ" みたいにしてるんですけど、カラムが全部未入力の場合だけエラーとしたい場合、 どんなふうにするんでしょ?
モデルにvalidate というメソッドを定義して好きにチェックする。 レコードとして不正だったら、 errors.add_to_base(エラーを伝えるメッセージ) という呼び出しをすればOK。
>>286 これるびまの誰かへのインタビューで
なんか理由が書いてたような記憶あるなー
forとendが対照的で見やすいのもあるんじゃねとかそういう話
別にeachでも全然いいんじゃないの
追記。 定義したvalidateは必要に応じてフレームワークから呼ばれるので 自分で呼ぶ必要はないです。
296 :
292 :2007/05/01(火) 21:42:12 ID:???
modelに def validate if gakunen_id.empty? validates_presence_of :name, :message=>"名前がありませんよ." end end とすると以下のエラーが・・ You have a nil object when you didn't expect it! You might have expected an instance of Array. The error occured while evaluating nil.empty? なぜに。
よくわからんが霊視して答えてみることにする。 if self.gakunen_id.empty? でどうだ?
未初期化なら''じゃなくてnilだから、empty? は呼べない。 blank? 使え。
299 :
292 :2007/05/01(火) 22:14:29 ID:???
blank?やnil?でも同じ感じ。 You have a nil object when you didn't expect it! You might have expected an instance of Array. The error occured while evaluating nil.inject Extracted source (around line #6): 6: <%= collection_select 'seller', 'gakunen_id', @gakunen, 'id', 'gakunen', :include_blank => true %><br> なぜー
validateと関係ないじゃねーか!
collection_selectの3つめの引数は配列でないといけないんだが。 injectでエラーになってるようだが、 collection_select(..., ..., choices...) => to_select_tag(choices,...) => options_for_select(choices,...) でchoices(引数としてはcontaienr)に対してinjectが呼ばれる。 ここでエラーになってないか?
ruby言語仕様がアホすぎてダメだわ。
kwsk
なんでrubyの作者のHPでrubyが使われず、phpが使われてるのかおまえらは考えたことがありますか?
Rubyの言語仕様を理解できない自分がアホだという事には気づかなかっただけ幸せかもね
Rubyの作者のHPって matzにっき?(tDiary) ruby-lang.org?(Radiant=Rails)
また「釣れた」とか嬉しそうに言うからほっときなよ。 どうせ何もわかっちゃいないんだし。
matzって最近はPHPの悪口言わなくなったな。大人になったのかな。
Model.find(:all, :include => [:foo,:bar], :joins =>[inner join table t on t.foo_id = foo.id]) と言った感じでInner JoinとLeft joinを使い分けていたのですが、パフォーマンスを 調べていたところ、:joinsオプションで指定したテーブルはJoinこそしてくれてはいるものの、select句で カラムをまったく指定しておらず、無駄になっている事が分かりました。 (結局参照するときにSelect投げなおしている) んで、じゃあしゃーないと、:selectでカラムを指定してみてもまったく無視されているようで、SQLに反映されません。 ARでinner joinは茨の道なんでしょうか?DHHからの愛を感じません。
レスありがとうございます-。
>>289 500万回のループを回して処理時間を計ってみたら
forとeachでは0.5〜1秒くらいforの方が早かったです。
そこまで気にしなくてもいい感じですね。
>>290 Σ(゜д゜;)
>>294 <% hoge.each do |v|
foo <%= bar() %>
<% end %>
こんな感じですかね?
言われてみればなんとなく気持ち悪い気もします。
312 :
nobodyさん :2007/05/03(木) 00:05:55 ID:n7bcDdTM
Rails Edgeって何なんですか? Ruby-MLで、重いって言われてたんですけど・・・
開発の最先端のRailsのこと。
レールの先端て終点ですか
コーナーリングのときに車体が浮いて、車輪が引っかかってる部分が エッジのような気がする。
316 :
nobodyさん :2007/05/03(木) 01:38:43 ID:nyRAYwv8
女性用ってとこがまた似合ってるな
Rubyはスタイリッシュな女性 Perlはガツガツした現場主義マッチョ PHPはにちゃんねら ってイメージだな
そういやhelperのテストって書いてますか? 基本はviewから呼ばれるものの、ユニットテストとかできそう。 なんだけど機構がないよね。
railsで作られた有名なサイトって何がある? なんか個人が片手間で、しかもRailsじゃなくても簡単に 作れるようなサイトしか表に出てないから、 イマイチ実績がわからん…
ランダムに眺めてみたけど なんかデザイン最悪、アクセシビリテ悪し、ってやつが多いなあ・・・
325 :
nobodyさん :2007/05/04(金) 10:04:27 ID:DRYOcLVN
326 :
nobodyさん :2007/05/04(金) 10:06:14 ID:DRYOcLVN
美しいサイトを紹介してくれ。 これじゃMVCじゃなくてMCだ。
MVCという言葉は知ってるらしいが Vのデザインまでフレームワークが作ってくれると 思ってるのか
329 :
nobodyさん :2007/05/04(金) 13:37:14 ID:L0mwz8+Z
>>327 ちょwwww
Rails関係なくない?
関係あると思うよ。 Vのデザイン開発クオリティを支えるのも含めてMVCのVだよ。
あのな、MVCモデルってのはプログラム内部の「作り方」の話で、アプリケーションのみてくれや機能とは関係ないんだけど。 で、RailsにDreamweaverやホームページビルダー的なものを期待しているのか?
まぁ、将来は統合されたような物がでるかもしれないが、 いまはないな
今はVのデザインもフレームワークがやってくれるじゃん。 rails以外のrails派生フレームワークはscaffoldである程度整ったもん出してくれるし。 もちろん「設定より規約」に従って、そのデフォルトデザイン自体も指定可能だし。
しかしerbがデザインナーには優しくない訳で・・・。
335 :
nobodyさん :2007/05/05(土) 03:34:46 ID:q6FwsdVV
ちゅーか、デザイナにデザインつくって、 コードに落とすのは、マの役目じゃねーのか? MVCのVっつったて、まさか、HTMLでデザインするとこまで、マがやるわけじゃあるまいに・・・
スキンやテーマから選択みたいな機能をRailsに実装しろって話?
普通のHTMLをテンプレートとして利用できるようにしろと。 Dreamwaverなんかでちゃんと見れるHTMLを。 あとさ、scaffoldなら、データベースのフィールドが増えたら 自動的にビューに反映される。 その便利な機能を、独自のテンプレートでも反映させられるようにしろと。 たとえば独自で作ったrhtml内に特殊なタグ<% scaffold %>を書いておけば、 そこがscaffoldで生成したようなフォームになる。 ただし、rhtmlですでに項目を使用しているのならそれは除く。 一度作ったrhtmlそのままで、データベースのフィールドの追加に 追尾できるような仕組みがあるといい。 もちろん追尾した部分のデザインは汚いだろうが、それはあとから直せば良い。 それよりも動作チェックを早くしたい。
データベース設計からやり直せよ…。
>>338 DRY原則。やり直すなんてもってのほか。
何言ってんだ?根本的にデータベース設計が糞なんだろ?初めからやり直せよ。 フィールドが途中で増える様な、仕様すら決定してない段階でV作りこんで、何するつもり?
Agileでは作ったものに対して仕様追加という作業がなんども発生する。 だから、作ったビューに対して、仕様変更が発生した場合、 それをデータベースに反映させられるといい。 具体的に言えば、ビューにテキストボックスを追加したら、 データベースでもフィールドが追加される。(手動で追加するのではない)
>>340 最初から仕様を決定するウォーターフロー的な開発は現代に合わない。
アジャイル開発手法においては、開発対象を多数の小さな機能に分割し、
1つの反復 (イテレーション) で1機能を開発する(⇒反復型開発)。 こ
の反復のサイクルを継続して行い、1つずつ機能を追加開発してゆくのである。
おのおのの反復は、小規模なソフトウェア開発プロジェクトに似ている。
各反復では、それまでに開発した成果物に1つの小さな機能を追加する。
計画、要求分析、設計、実装(コーディング)、テスト、文書化といった、
ソフトウェアプロジェクトに要する全ての工程を、1つの反復内で行う。
場合によっては、1つの反復内で開発すると計画していたソフトウェア機能を、
必ずしも期間内で充分に実現できるとは限らない。 このように時にはうまくゆかない反復もあるが、
アジャイル開発手法では、各反復が終了するごとに、機能追加された新しいソフトウェア (ビルド) を
リリースすることを目指す。 各反復が終了するごとに、プロジェクトチームは、
プロジェクトにおける優先度を評価し直す。
単なるフィールドの追加に データベース設計なんか関係ないだろ。 そのフィールドが外部キーとかになっているのなら話は別だが。
なんつーか、データベース設計きちんと学んだこと無いだろ…。 あー、ここにフィールド1個追加したいなぁって言って出来るのは、初めから、そう言うデータベース設計をしてある時だけだよ。 つーか、その為にscaffoldがあるんだろうが…。
>>343 本気で疑うぞ。そのフィールドに関して、どう言う負荷してるんだ?
つか、何でそのフィールドが必要か?ってのが、データベース設計と言うか、アプリケーションの肝だろ。
例えば、
>>341 これを例に取れば。
テキストボックスを追加したら…。と簡単に言っているが、これの意味する所を理解しているか?
このアプリケーションで、どう言う情報を収集、蓄積するか、決まっていない。こう言う意味なんだぜ?
そんな段階で、Vなんか作りこむより、scaffoldででも検討して、データベース設計に落とし込めよ。
>>347 アジャイルに対して何のコメントもしてないね。
もしかして知らないのかな?
必要な情報ってのは、あとで変るもの。
スピードの早い今、最初に決めるなんて不可能。
仕様変更が全く無いということが
現実に起こりえるのか考えてみれば良い。
繰り返し言うが、最初に決めるなんて不可能。
そういう現実的な前提に立った開発がアジャイル
>>349 単なる出たとこ勝負の考えなしとアジャイルを一緒にするな
典型的なマーケティング売り文句を そのまま受け売りでこれ見よがしに アジャイルアジャイル言ってみたい年頃なんだよ ほっといてやれ
アジャイルに対して、 まともな反論が 無い事が何よりの証拠。
アジャイルをマーケッティング用語だと言う奴がいることが驚きだ。調べた事無いのか?
だから? 先進的なソフトウェア会社も言っているよね。
>まともな反論が >無い事が何よりの証拠。 ん?反論がなければ俺の勝ちだぞ? という名言を思い出した
> つーか、その為にscaffoldがあるんだろうが…。 scaffoldの意味を英和辞典で調べてみ。scaffoldで生成されたコードは、 そこから手を入れていくことを前提とした、ただの土台の役割だよ。 データベース定義を変えるだけで、ぜんぶ面倒をみてくれるような、全自動なフレームワークが 欲しいなら、無理してRailsを使わないで、デジエでも使ってたほうがいいと思うよ。 まじで。
べつに仕様変更なんかあってあたりまえだろ。
> このアプリケーションで、どう言う情報を収集、蓄積するか、決まっていない。
べつにその段階で作り始めてもいいじゃん。AWDwRでも顧客の要求に従ってテーブルに項目をばんばん追加してるし。
変更があってもそれに柔軟に対応できるのがRailsのいいとこじゃん。そのためにARやmigrationがあるんだろ?何のためにRails使ってるんだ?
>>337 がいってるのは一理あるだろ。RailsはActiveRecordやmigrationがあってDBまわりは仕様変更に強いようにできてるけど、
viewまわりはerubyをほぼそのまま使っているだけで、まだまだ改良の余地があるじゃん。
337はそれについて提起しただけだろ。なんでこんな拒否反応でるかな。問題点を指摘されたら、それについてどういう解決方法があるかを考えようぜ。
それから
>>337 は言い方悪い。便所の落書きに言い方も糞もないけど、もし俺が作者なら337の言い方はやる気なくす。もし337が上司なら喧嘩してる。
ただいってることは同意。テーブルの仕様変更がModelに自動的に反映されるなら、同じことがViewでもできないかと考えるのは自然なこと。
それがわからず拒否反応示すだけの奴らは想像力が欠落してるかわいそうな奴らだからほっとけ。
>>358 あほか。
DBの変更が自動的にViewに反映できるわけないだろ。
具体例で考えてみろよ。
いや、ていうかジェネレータじゃない方のscaffoldもあるし
そっちでフィールド追加で自動的にViewにも反映されるしさ、
んである程度プロトタイプができたら自分で手入れてくために
ジェネレータの方で生成してコード加えていくわけでしょ
全部自動で処理しきれないところも出てくるから手を加えていく
そんなのはちょっとrails触った事あるなら誰だって分かる事だろう
一理あるも何もどう見たって
>>337 も
>>358 も
アジャイルアジャイル言ってる奴もrailsを
使ったことないようにしか見えねーよ
Viewに手を加えてからDBを変更することだってあるだろ。 特にユーザーなんか、見せて最初に指摘するのは、 ”見た目”だぞ。 見た目ダサくて英語ですけど、ちょっと使ってみて 感想教えてくれませんか?じゃ通じません。 エンドユーザー交えて仕事した事ありませんね?
MVCのVとは、かっこいいデザインを作ってくれる機能だと勘違いし、 アジャイルとは、データベースを変えると、すべて良きにはからってくれる機能だと勘違いし、 Railsスレに文句を「提案」すれば、解決方法をだれかが実装してくれると勘違いする。 ずいぶん人任せ、フレームワーク任せだなー。 まあ、ぜんぶ、同一人物なんだろうけど。 Rails作者のDHHの言葉をmatz日記から引用するから、ちょっと考えたほうがいいよ。 「RubyもRailsもオープンソースだし、簡単に手を入れられるんだから誰かが自分の問題を解決してくれないか、 口をあけて待ってるんじゃなくて自分で解決して世界に貢献したらいいのに」
> MVCのVとは、かっこいいデザインを作ってくれる機能だと勘違いし、 どれを見てそう思ったんだ? つまり、お前が勘違いしているだけじゃん。 viewを一旦作った後でもscaffoldのように DBにフィールドを追加したら、それがすぐに反映されるといいだろ としか、どこにも書いてない。
> Railsスレに文句を「提案」すれば、解決方法をだれかが実装してくれると勘違いする。 こんなことも思ってないし。 なんだこいつ。自分一人が、勘違いして空回りしているだけかよ。
>>327 で書いてるじゃんw
>>364 じゃあ、おまえがこのスレでぐたぐた文句言っている意味ってなに?
>
>>327 で書いてるじゃんw
だれそれ?w 一日も前だし。
なるほど、やっぱり勘違いしていると。
> じゃあ、おまえがこのスレでぐたぐた文句言っている意味ってなに? ここはRuby on Railsに関する事なら なんでも書いていいところですが? それとも、お前が気に食わないことを言ったら駄目と どこかに書いてあるのか? 意味。じゃあお前が書き込んでいる意味は?w
小学生かよw
欲しい機能があれば作ればいいだけじゃん。 なんのためのオープンソースなんだか・・・
罵り愛はID出してやれよ。
なんかくだらんことで激しくレス消費してるな… しかも時間の感覚見ると、一人が何レスにも分けてレスしてるっぽいし
文句言ってるやつが何使ってアプリ作ってるのか知りたい Djangoか?
GWでrailsデビューしちゃったんだろう
Djangoはちょっと貧弱すぎるな。tgかsymfony。 よく言語仕様のせいにして、出来る人間になったと勘違いしてるやついるが、 フレームワーク自体が優れてりゃ言語仕様なんてさして気にならん。 Yahoo Bookmarksもsymfony採用してるし、ここでPHP馬鹿にしてる実績なしよりも、 Yahoo Bookmarksの開発者の方が信用に足る。
よお、負組ども^^ 低レベルなプライドのおかげでいまさらPHPにいけないんだろ?www サイト構築もできねーくせにえらそうに語ってる厨房は逝けよwww
どうだろう、phpは通り過ぎてる人が多いんじゃないかな
377 :
nobodyさん :2007/05/06(日) 10:51:37 ID:FNDfpVmp
Rubyなんてはやらねえんだよ
趣味でだろwwwww 企業が採用してるかな?
楽天とか 夏にはまだ早いはずだがなぁ
PHPもRubyも使ってるよ もう$this->書くのめんどくせ
静的なHTMLファイルを読み込ませるのってどうやってますか? ERB評価をさせたくないのであればFile.readして<%=%>で埋め込むしかないんですかねぇ。 なんかいけてないような…。
<%= render :partial => '_静的な.rhtml' %> というのはどうですか? 挿入されるHTMLを_付きの名前のRHTMLとして置く。 中身はただのHTML断片でERBコードを含む必要はなし。
:partial => の値に.rhtmlはイランカッタ。
render :templateはどうかな
388 :
358 :2007/05/06(日) 19:25:18 ID:???
>>359 いまはどんなやり方があるかを議論しはじめようとしたところだろ。自分で考えるのをやめたやつは引っ込んどいて。
>>360 ジェネレータじゃないほうのscaffoldではそもそも今回の要求はみたせないし対象外だろ。
いろいろ手を加えたviewに対して、DBテーブルの仕様変更を反映させるうまい方法がないかが論点。
勝手に人をRails使ったことないと決めつけるのもいいけど、そのまえに話を正しく認識しろな。
で、337がまだみてるかどうかわからんが、どうもscaffoldやActiveRecordとは別のアプローチじゃないと解決できそうもなくね?
scaffoldのようなアプローチだとフォーム項目の生成ルールに手を加えられるようになってないと厳しい。
ActiveRecordはやり方として動的にGeneration Gap patternを使ってるようなもんだから、
自動生成される部分と手動で書く部分がきれいに分離できるし、自動生成された定義を手動で細かく上書きできる。
けどviewは基本がHTMLだから、erubyで頑張ろうにもうまくいかん。
結局、DreamweaverやRadRailsやAptanaが十分賢くなって、form定義とテーブル定義の差異を検出するようになるのがいちばん現実的なんじゃないだろうか。
おれの頭じゃこんくらいしか思いつかん。
そもそもおれでも思いつくような方法があればとっくにDHHが実装してるわな。
>>385 レスありがとうございます。
こればっかりはベンチとって見ないとなんとも言えないんですが、感覚的には
File.readの方が速そうな気がするんですよね。
http://blog.masuidrive.jp/articles/2007/01/01/def_erb_method この辺を見る限りだと。。
んで、毎回読み込みだとテラオソス
メソッド化するとサーバ再起動まで変更されない
とかだとやっぱり後者になると思うんですが、そうするとバッチでHTMLを作るときとかに都合が悪いんですよね。
自分で自動expire機能付きのファイル読み込みモジュールを作った方がいいのかなぁ。
絶対ありそうなんですけどね…。
>>387 レスありがとうございます。
render :templateはビューのファイル毎置き換わっちゃいませんか?
始めはrender :fileを検討してたんですがこっちがそう言う仕様だったので。
>>389 性能の話はfragment cacheが導入できるならアル程度は無視できるけど、
どうなのかな。
Railsでサーバにアクセスした際にログに残る処理時間って Completed in 1.78100 (0 reqs/sec) | Rendering: 0.18800 (10%) | DB: 1.07700 (60%) こういうフォーマットだと思うのですが、足して100%にならないのはなんででしょうか?
model のリレーションで A と Bのモデルで共通に使う Xというモデルがあるとき Xのモデル定義は belongs_to :a belongs_to :b でOKですか? これだと 一つのモデルが aにもbにも所属しているのと同じに なっちゃわないのかと思うんですが。
Xがa_idとb_idを持ってればそれでいいんじゃないかな
>>393 script/consoleで実際に色々いじってみれ
centos5にyumインスコしたemacsにemacs-railsを立ち上げると Debugger entered--Lisp error: (void-function define-button-type) (define-button-type (quote rails-button) (quote follow-link) t (quote action) (function rails-core:button-action)) eval-buffer(#<buffer *load*<3>> nil "rails-core" nil t) load-with-code-conversion("/root/.emacs.d/rails-core.el" "rails-core" nil t) require(rails-core) eval-buffer(#<buffer *load*<2>> nil "rails" nil t) load-with-code-conversion("/root/.emacs.d/rails.el" "rails" nil t) require(rails) eval-buffer(#<buffer *load*> nil "~/.emacs" nil t) load-with-code-conversion("/root/.emacs" "~/.emacs" t t) load("~/.emacs" t t) #[nil "^H\205\227^@ ?=\203^Q^@?^H?Q\2025^@ ?=\203'^@????#\203#^@?\2025^@?\2025^@ ?=\2031^@?\2025^@?^H?Q^Z?^S?\n?$ command-line() normal-top-level() ってでます。どうしたらいいですか。助けてください。 macosxのターミナルから利用したくていろいろやってます。
あきらめてvimを使う
rubyってこれからどんどん表にでてくるの? あおりとかじゃなくて本気で聞きたい
400 :
nobodyさん :2007/05/11(金) 13:29:43 ID:0AuPXgrZ
railsが使えて月500円以下の安いレンタルサーバーってある? 勉強目的なのであまり高いサーバーは借りれない
板違い
まぁこのスレに期待するのは間違いだなぁ
ここは初心者の憩いのオアシスです
>>400 勉強目的なら自分のPCでやれ。
Rails自体はwindowsでも動く。
Rails勉強するのと Railsをサーバーで動かすようにするのは別だから 仮想サーバーでも自分のPC内に立てて味噌
Railsの勉強だけならSQLite3とWEBrickでいいしな。 WindowsならInstantRailsなんてのもあるし。
407 :
400 :2007/05/12(土) 02:32:15 ID:Z+ay/xmr
ローカルPCなら簡単に動いた。 まさか、サーバーに設置してそのまま動くと考えてるのか?
409 :
400 :2007/05/12(土) 02:44:53 ID:Z+ay/xmr
WEBアプリをローカルで動かして何の意味があるんだ。 ネットで公開して初めて役にたつだろ。 ここにいるのはみなローカルのPCで動かして喜んでいるのか?
華麗にスルー
>勉強目的なのであまり高いサーバーは借りれない >ネットで公開して初めて役にたつだろ 自分勝手でむちゃくちゃですね
>>409 ローカルで開発、そのあとは友達がやってるデータセンターに
ちょっと間借りさせてもらって公開。そういう友達がいないのなら、
金を払えってこった。
逆にローカルとサーバの違いがよくわからんのだが、 俺はローカルで開発して楽しんで、いいものが出来たら そのままポートを開けて公開してるけど。 最近アクセスが多いからそろそろサーバを借りようかとは思っていたが。
というか、レンタル鯖でテストすると、他の奴が迷惑かかるとか ワケワカラン理由で、ああだこうだと言う奴がいることは確か。 別にレンタルで開発して何が悪いってなもんだけどね
なにこの自分主義みたいな奴
おれは外部公開用はさくらの専用サーバを使ってる。月額6000円くらい。
なんだその自分主義っていうのは。 契約範囲内でなにやってもいいだろうが
昔はプロバイダの固定IPアドレスサービスを使って自鯖を外部公開してた けど、終夜稼働の音がうるさいし、ハードウェアの保守も億劫になってき たので、相応のサービスを使うほうが楽だなぁ。 Railsが使えるホスティングってことでTextDriveをためしてみたが、Rails のバージョンが古かったぜ。 外国にはこの手のRailsホスティング結構あるけど国内にはあんまりない?
確かにないな 安価でrailsホスティングしてくれるところが出てきたら railsベースの個人作成webアプリがもっと出てくるかもな
なんでローカルとサーバを同列に考えるんだよ サーバーの対はクライアント ローカルの対はwww(ワールドワイドウェブ) クライアントで操作してサーバーで処理だろ。 ローカルエリアでゲームでもして、www(ワールドワイドウェブ)でインターネットする って考えろよ
・ローカルの対はグローバル ・ローカルエリアではなく、ローカルホスト ・「インターネットする」とはいわない
>>420 Web(サーバ)で公開するのもlocalhost(ローカル)で公開するのも原理上はほとんど同じ
>>420 ネットに繋がっている以上ローカルじゃないんじゃないじゃないの
>>417 どのサーバーでも過負荷禁止は規約に入ってますよ><
427 :
nobodyさん :2007/05/13(日) 00:58:07 ID:I6qZDPkK
BasecampみたいなWebアプリを作りたいのですが Ruby on Rails か JavaでGWT(GoogleWebToolkit) 使うのではどちらがおすすめでしょうか? Ajaxばりばりにしたいです! 現在JavaはできてRubyはほとんどできてないのですが 出来るだけ楽に開発したいです。
>>426 どこ契約しても契約違反になるんだから、大人しくRailsはやめなさいって事。
Railsはスケール最悪なので、いつまでたっても普及はしません。
個人で借りるようなレンタルサーバで選択肢が少ないことと スケーリングするかどうかとどういう関係が?
レン鯖はテストする場じゃない。 ネチケットぐらい勉強しなさい
>>430 >スケーリングするかどうかとどういう関係が?
開始地点も立派なスケーラビリティの一部ですが?
他人のスクリプトの設定いじる感覚で レン鯖でトライエラーしてますがなにか
レン鯖の扱い方の話とかどうでもいいんで
レン鯖、開発、ってキーワードで、自治忠告屋が沸いてくるので仕方がない
>>432 じゃあJavaは対応しているレン鯖が少ないから
スケーラビリティがないと。
ローカルで環境構築できねえ奴はRubyにふれるなっ!!!
438 :
nobodyさん :2007/05/13(日) 22:02:08 ID:??? BE:599551564-2BP(0)
>>437 ローカルで動けば、レン鯖でも動くって思ってるやつ発見。
439 :
nobodyさん :2007/05/13(日) 22:15:51 ID:??? BE:449664236-2BP(0)
440 :
nobodyさん :2007/05/13(日) 22:19:11 ID:??? BE:1398953287-2BP(0)
>438 ローカルでチェックもできない人ですかw?そうみたいですね文面からして。
レン鯖はレン鯖でも、大人しく専用サーバー借りておいたほうが良いと思う。 おすすめは、さくらの専用サーバー(月6800円)。 貧乏学生だったらしょうがないかもしれないけど。
初めからよっぽどでかい規模でサービス開始できるあてでもなけりゃ 光回線 + 適当なメーカーPCにメモリ4G積むだけで十分過ぎるよ。 なんだって高い金出して専用サーバーなんて借りようと思うのかね。 法人でもあるまいに。
>>443 俺が借りるとしたら。。。
うるさくないのと、雷とかで電源を心配しなくてもいい。の2点かな。
貧乏でワンルームに住んでたらよけいだ。
Railsをフルスタック扱いするのそろそろやめようぜ。 最近は便利なもんは大体プラグインで外に出ちゃってるし。
>>446 ワロタww
ジャーってのは"ビン"と".jar"をかけてるのかな。
まぁ、Sunがjarという名前を付けたのもその伝だろうね。 (配ってるアイコンが瓶入りのコーヒー豆だったりするし)
なぜ、くまちゃんの瓶詰がhibernate?
ruby on railsでつくったweb applicationのパフォーマンスを測定しようとして、
apache benchを使ってみたのですか、
$ ab -n 10 -c 1
http://localhost:3000 Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd,
http://www.zeustech.net/ Copyright (c) 1998-2002 The Apache Software Foundation,
http://www.apache.org/ Benchmarking localhost (be patient)...
Test aborted after 10 failures
apr_connect(): Invalid argument (22)
というエラーが出てしまいます。
ぐぐってみても適当なページが見つかりません。
どなたかおたすけを。
ruby1.8.5, rails1.2.3
>>450 hibernateを辞書で調べるべし。
>>451 straceでどのシステムコールでエラーが出てるのか追ってみて、
apr_connectのどこに該当するのか調べてみてはどうだろうか?
454 :
nobody :2007/05/17(木) 12:49:34 ID:XsRei0dE
ActiveRecordだけを使いたいのですが、gemsをインストールする必要がありますか? ある解説書によるとActiveRecordだけを使う場合も、 require 'rubygems' require 'active_record' としなければならないとなっていたのですが。。なぜrubygemsが必要なんでしょ?
acts_as_sluggableを日本語でurl表示できるようにと思い string.to_s.downcase.gsub(/[^a-z0-9]+/, '-').gsub(/-+$/, '').gsub(/^-+$/, '')を string = URI.escape(string.gsub(/\ +/, '-')) に変えてみたのですが、%25E6%25ADみたいに4桁になりステータスバーにうまく表示されません。なぜなんでしょうか?内部、表示ともUTF8にしているつもりです。 受け渡しも実はうまくいかないのですが、対象ページ頭でparams[:id]=params[:id].to_iで対処してます。
gemsでrequireが再定義されてるからじゃないの
>>454 その解説書がgemでARをインストールしてるから。
458 :
nobodyさん :2007/05/17(木) 14:05:52 ID:XsRei0dE
>>457 gemでARをインストールしていると、なぜrequire RubyGemsしなきゃいけないんですか?
gem使わないでARインストールするのと、インストール済みのARは何が違っているのですか
>>458 じゃあgem使わないでARインストールすれば?
460 :
nobodyさん :2007/05/17(木) 15:10:16 ID:XsRei0dE
gem使用と非使用とで インストールされたARは何が違うのでしょうか
いい加減自分で試してくれ
462 :
nobodyさん :2007/05/17(木) 15:24:49 ID:XsRei0dE
いろいろ事情があって簡単に試せない人もいるということも理解していただきたかった
今すぐ開発環境に触れないなら、今すぐ知る必要もない気がするが
464 :
nobodyさん :2007/05/17(木) 16:09:14 ID:Uj8RNsNK
ブラウザからJSONをPOSTする方法ってありましたら、教えて頂けないでしょうか。
自動的に、@paramsへJSONから生成したハッシュが格納できれば、便利だなと思いました。
ちなみに↓の記事を参考に試行錯誤してみましたが、力及ばずできませんでした。
http://www.fraction.jp/log/archives/2007/05/1123 または、Rails側で@params[:json]を、自動的に@paramsに展開とかできればと
思っているのですが、何かヒントがありましたあ教えて頂けないでしょうか。
466 :
nobodyさん :2007/05/17(木) 16:58:26 ID:XsRei0dE
じゃあ require Rubygems しないとだめなのはなぜ?
>>466 だからrequireがrubygemsで再定義されてるの、
require 'rubygems'
require 'active_record'
require 'rubygems' された時点でrequireが再定義される
2つめのrequireはもうビルトインのrequireじゃなくて
gemsで定義されてるrequireが呼ばれてるわけ、
んでgemsのrequireはちゃんとgemsで入れたディレクトリから
よしなにactiverecordのファイルをロードしてくれるということ
OK?
>>467 ここは偉大なインターネットですね。
偉すぎるよあんた。
469 :
nobodyさん :2007/05/17(木) 17:26:25 ID:XsRei0dE
俺だったら最初の質問時点でスルーだな
なぜなら、わからないから!
>>467 質問者じゃないけどサンクス。
必要ないからスルーしてたけど、実は不思議に思ってた
>>464 json = params[:json]
data = ActiveSupport::JSON.decode(json)
params.update(data)
じゃ駄目?
まあそもそもJSONをparamsで利用する状況がワカランが。
474 :
nobodyさん :2007/05/18(金) 02:08:25 ID:mkSsUdP0
>>473 ありがとうございました。自分でもいろいろ試してたんですが、
application/x-www-form-urlencodedでは、JSON内に"="を含む場合に
うまくいきませんでした。(単に必要な処理が抜けてるだけだと思いますが)
今は諦めて、素直にapplication/x-www-form-urlencodedでPOSTしています。
>じゃ駄目?
>まあそもそもJSONをparamsで利用する状況がワカランが。
UIを、Ext(Javascript)でごりごり書いているのですが、
application/javascriptでPOSTできたら楽だなあと思って、質問しました。
JSON形式のレスポンスを期待しているので、だったらリクエストもJSONで
できないのかなとふと思ったもので。変な質問ですいません。
475 :
nobodyさん :2007/05/18(金) 06:47:37 ID:E7j+ElzH
すいません、質問させてください。 これからプログラミングを覚えたいのですが rubyを覚えるメリットってなんですか? デザイナーあがりでPHPも視野に入れているのですが Rubyのほうがおもしろそうなイメージがあるのでお聞きしました。 もし不適切でしたらスルーしてください
だったらまずプログラムを覚える目的を書きなさい。
>>475 PHPの方が良いと思う。
Rubyはまだまだマイナーなお洒落言語。
熱烈信者が居るから声がでかいので外から見ると勘違いされてるけど。
>>475 rubyを覚えるメリット
--> web作り以外にも使える
(たぶん使ってるであろう) MacOSに標準装備
ruby on railsを覚えるメリット
--> 今もっとも話題のシステムなので最先端ポク見える
webおみくじ作るくらいなら、豪華過ぎ。
(たぶん使ってるであろう) MacOSに標準装備予定
俺が知ってたころのPHPだと普通のアプリとかの役にはたたんとおもうんだが、
最近だとPHP/Cocoaとかあったりする?
>>475 会社がPHPやってるならPHPやっとけ
単に自分の趣味でやるならRubyやっとけ、損はさせん
でも今のメインストリームは JAVAと.NETだよね。 初めてやるならこのどっちかのほうがいいんじゃねー仮名
>>475 全く、プログラミングが初めてなら、Java辺りを勧める。
そこで、基礎的なプログラミングを学んでから、PHP、Rubyの様な言語を学んだ方が良い。
スクリプト言語は、とっつきが良いが、基礎が無いと、滅茶苦茶なスクリプトを書くようになって、悲惨な結果を招く。
ボクはtcshスクリプトでプログラムを初めて、Cでオブジェクト指向プログラムを学び、 PHPでWebProgをやらされた挙げ句にいまRubyとJavaでご飯を食べています うーん、なんか回り道っぽいな。しかも全部外部の圧力に負けて学習を始めてる。
483 :
nobodyさん :2007/05/18(金) 18:15:21 ID:mqtLheIJ
Windows で開発して、本番はLinux で運用しようと考えているのですが、Railsをインストールするにあたって、
一番よい方法はどういう方法がありますか?
http://masuidrive.jp/rails/ ここで公開されている動画どおりにインストールしても、本番のLinux運用も問題なく移行できますか?
ActiveScriptRubyはWindows用らしいのですが・・・。
よろしくお願いいたします。
>>483 とりあえずrails触ってみたいってんなら
Instant Railsとかでいいんじゃね
でもlinuxで運用するのを前提に考えてるなら
自前でlinux入れたマシンでやるか、
Windowsでもvmwareとかcolinuxなりで
仮想のlinux環境を用意して自分でgemやパッケージなりで
インストールできるようになっておいた方がいいだろうね
mongrel の質問です。 ./script/server webrick して WEBrick だと問題なく動くアプリケーションがあります。 ところが ./script/server して mongrel で動かそうとするとエラーとなります。 ただし public/*.html などの静的コンテンツは大丈夫ですが、controller を介するようなページだとエラーのようです。 calling Dispatcher.dispatch uninitialized constant RailsHandler::Dispatcher /opt/rubygems/gems/activesupport-1.4.2/lib/active_support/dependencies.rb:477:in `const_missing' /opt/rubygems/gems/mongrel-0.3.3/bin/mongrel_rails:75:in `process' /opt/rubygems/gems/mongrel-0.3.3/bin/mongrel_rails:73:in `synchronize' /opt/rubygems/gems/mongrel-0.3.3/bin/mongrel_rails:73:in `process' /opt/rubygems/gems/mongrel-0.3.3/lib/mongrel.rb:371:in `process_client' /opt/rubygems/gems/mongrel-0.3.3/lib/mongrel.rb:332:in `initialize' /opt/rubygems/gems/mongrel-0.3.3/lib/mongrel.rb:331:in `timeout' /opt/rubygems/gems/mongrel-0.3.3/lib/mongrel.rb:331:in `initialize' /opt/rubygems/gems/mongrel-0.3.3/lib/mongrel.rb:328:in `initialize' /opt/rubygems/gems/mongrel-0.3.3/lib/mongrel.rb:328:in `new' /opt/rubygems/gems/mongrel-0.3.3/lib/mongrel.rb:328:in `initialize' /opt/rubygems/gems/mongrel-0.3.3/lib/mongrel.rb:328:in `times' /opt/rubygems/gems/mongrel-0.3.3/lib/mongrel.rb:328:in `initialize' /opt/rubygems/gems/mongrel-0.3.3/bin/mongrel_rails:166:in `new' /opt/rubygems/gems/mongrel-0.3.3/bin/mongrel_rails:166:in `start_mongrel' /opt/rubygems/gems/mongrel-0.3.3/bin/mongrel_rails:181:in `run' /opt/rubygems/gems/mongrel-0.3.3/lib/mongrel/command.rb:183:in `run' /opt/rubygems/gems/mongrel-0.3.3/bin/mongrel_rails:224 /opt/rubygems/bin/mongrel_rails:16:in `load' /opt/rubygems/bin/mongrel_rails:16 これってなにが悪いのでしょうか。 ちなみに Debian sarge で ruby 1.8.2 です。
486 :
485 :2007/05/18(金) 19:04:45 ID:???
追記です。 /opt/rubygems/gems/activesupport-1.4.2/lib/active_support/dependencies.rb の該当のエラー行ですが、 462 def const_missing(class_id) 463 if [Object, Kernel].include?(self) || parent == self 464 super 465 else 466 begin 467 begin 468 Dependencies.load_missing_constant self, class_id 469 rescue NameError 470 parent.send :const_missing, class_id 471 end 472 rescue NameError => e 473 # Make sure that the name we are missing is the one that caused the error 474 parent_qualified_name = Dependencies.qualified_name_for parent, class_id 475 raise unless e.missing_name? parent_qualified_name 476 qualified_name = Dependencies.qualified_name_for self, class_id 477 raise NameError.new("uninitialized constant #{qualified_name}").copy_blame!(e) 478 end 479 end 480 end ってかんじです。 mongrel のバージョンが古い気がして、 # gem uninstall mongrel # gem install mongrel --include-dependencies しても ver 0.3.3 のままです。 最新版の 1.0.1 って ruby のバージョンの関係とかでインストールできないのでしょうか? おまけに # gem update すると mongrel と mysql だけ何度 update しても再インストールされます。。。
>>483 colinuxが一番手間かからず、本番と同じ環境になるんではないか
へんなところで困らない可能性大
>>487 vmwareの方が簡単な気がするんだが。
>>487 最近使ってないからアレだが、ふつうにインストーラが使えるVMWareとかのほうが楽ではないかと。
ふつうのひとにはcolinuxを使うこと自体が大変かと。
むしろLinuxだけで生活すんのが楽かと。
でもWeb系だといつかInternetExplorerでテストしなきゃならんのでWindows自体は捨てられないかと。
VirtualPCのほうが簡単だよ
>>488 playerでも空のVMどっかからもってきて インストールすればいいのか。
只でやるためにはvmwareよりcolinuxだなあとおもってたが、
よくかんがえたらvmware playerでいいね。たしかに。すまん
たいして変わらん、colinuxでもvmwareでも マシン用意してやってもどれでもいいと思うよ 要はlinuxの環境を自前で用意できないのに 運用しようと考えるのは厳しいってことだな
493 :
nobodyさん :2007/05/19(土) 12:30:12 ID:??? BE:1049215267-2BP(0)
>>491 VMplayerだとさくっと入るけど、画面サイズが固定で小さい
VirturalPCだと一発で入れれない不具合があるけど(画面の色数をいじらないと画面がおかしくなって先にすすめない)
画面の広さを設定で広くすることができるからお勧め
VirtualPCをWinXP homeに入れると未サポートの警告がでるけどそのまま入れれば問題なく動くよ。
誰か Windows で Gyre まともに動かせた人いますか? DebugController の NoMethodError が解決できず手詰まり2週間目…。
>>486 mongrel 1.0.1だと、
s.required_ruby_version = Gem::Version::Requirement.new(">= 1.8.4")
となっております。
>>493 PuTTYとか使えばいいじゃん。あるいはXmingあたりで。
497 :
486 :2007/05/19(土) 20:58:09 ID:???
>>495 レスありがとうございます。
最新版はRubyのバージョンがおいついてないのですね。
それにしても0.3.3は古すぎるので、gem update したらせめて 0.3.12 とかに
なってもよいようにかんがえるのですが、それもバージョンのせいでしょうかね。
# gem install mongrel -v 0.3.12 してみました。 mongrel 0.3.12ですでにRuby 1.8.4以上が必要ですね。 mongrelのバージョンは0.いくつからポンと1.いくつに飛んだので、 わりと古く見えるバージョンでも実はそんなに古くないのです。
railsも確か一気に上がってたよな てかruby1.8.2ってのがちょっと古い etchもstableになったんだしetchにしたらいいとおもう
500 :
486 :2007/05/19(土) 23:18:42 ID:???
>>498-499 ありがとうございます。
Rubyのバージョンあげないかぎりmongrelはこのバージョン使用するしかなさそうですね。
sarge は ruby に限らず他のアプリケーションもバージョン古いので、できれば dist-upgrade したいのですが、
サーバはデータセンターにあって、もしなにかあってリモートから操作できなくなるのが怖くて。。。
woody -> sarge は問題なく dist-upgrade できたんですが。
わたしはあきらめてRubyとその依存物(erubyとか)は自分でmake & installする ことにしました。 DebianでのPerlみたくシステムの根本パッケージみたいになってると気軽にこん なことはできませんけど、幸か不幸かそこまでのレベルにはないようなので。
> DebianでのPerlみたくシステムの根本パッケージみたいになってると気軽にこん > なことはできませんけど、 できるだろ。常識的に考えて。
ならapt-get remove --purge perlしてみな。
>>501 はディストリの提供するRubyをアンインストールした上で
自前でインストールする話で、
>>502 はそれは残したまま/usr/local
に入れる話。
apt-line一時的に書き換えてruby関連だけ 新しいパッケージのをインストールして ピン止めすればおーけー
506 :
nobodyさん :2007/05/21(月) 10:35:03 ID:I7evBswX
パスのセパレータとか、文字コードとか、ソフトウェアのバージョンとか 環境依存する部分をあたりまえに気をつければたぶん大丈夫だけど 保証はまったくないので、結局自分で気を付けるしかないよ。
508 :
nobodyさん :2007/05/21(月) 12:57:32 ID:WrbVQDsV
RailsでApache2がうまくいきません。 RailsでWEBrick動かしたらちゃんと動く。 その状態で,Apacheに切り替えたらだめ。 http.confをちゃんと書き換えて、 Railsのpublicディレクトリのdispatch.cgiは動いているらしいが、 「We are sorry but something went wrong」っていう赤い文字が出る。 log/development.logの最後の2行は /usr/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/dispatcher.rb:40:in `dispatch' /rails/public/dispatch.cgi:10 で止まってる
cgiで動かすなんてありえない
510 :
508 :2007/05/21(月) 13:12:04 ID:WrbVQDsV
うまくいけばもちろんfcgiに移行しますよ まずは生cgiで
511 :
nobodyさん :2007/05/21(月) 13:19:32 ID:I7evBswX
>>507 Windowsでバリバリ開発したいなら、そのURLのとおりインストールして問題ないですよね?
後でLinuxで運用しようとは思ってますが・・・・
Windows上でLinux環境を構築するのがめんどそうなので、、、
Linuxはまだ手元にないんですが。
>>511 VMWarePlayerやVPC使えば?
513 :
508 :2007/05/21(月) 18:33:05 ID:WrbVQDsV
おいらが使ってるレン鯖のサービスに知らないうちにRORが追加されてたよ。
515 :
413 :2007/05/22(火) 00:10:55 ID:??? BE:524607473-2BP(0)
>514 海外なんだけどたまに途中経路で断線するから国内鯖にしようと思ってたところなんだけどまた更新しちまったよ。
Javaからの移転組なんだけど、どうもRDoc?HTMLのAPIが読みにくい。 with_optionsについて調べたかったんだが、ソース読むにもどこに書いてあるのかわかららら がんばって覚えたいけどなかなか慣れない俺ガイル
>>517 量の問題じゃないの?
JavaにしたってオフィシャルのAPIドキュメントは超充実してるけど、それ意外では
たとえばメジャーそうなJakartaあたりでもドキュメントの質と量はプロジェクトによってマチマチでしょ。
たしかにRailsはリフレクションを濫用してるから、使ってるメソッドが もともとのクラス定義に存在しないので、ソース読むとストレス溜るよね。 存在してないならいいけど、どこかで書き換わったりしてるから余計困る evalに文字列を渡してメソッド再定義してあると探しにくくて結構泣ける。 まぁ、rdocのマニュアルはけっこう使えると思うけどね。
520 :
nobodyさん :2007/05/23(水) 16:33:49 ID:M5ep4n2y
表示はUTF8で、SJISのORACLEを使う場合、ORACLEから読み込んだ直後と 書き込む直前に、漢字コード変換をかける方法を知りませんか?
> with_optionsについて調べたかったんだが、ソース読むにもどこに書いてあるのかわかららら grep とかつかったことないの?
523 :
nobodyさん :2007/05/23(水) 19:47:03 ID:n/+v7OTj
超初心者です、どなたか教えてもらえないでしょうか?
Ruby ではじめるプログラミング 【最終回】
ttp://jp.rubyist.net/magazine/?0005-FirstProgramming ↑この回の分を実行しようとしますと、
「tk84.dllが見つからなかったため、このアプリケーションを開始できませんでした。」と出ます。
インスコし直しても症状が同じで、どうすればよいのかまったくわかりません。
ruby 1.8.6 (2007-03-13 patchlevel 0) [i386-mswin32] で
RubyForge: Project Info- One-Click Ruby Installer のページからダウンロードしました。
よろしくお願いします<(_ _)>
>>525 もともとの質問自体が、railsと関係ないという罠。
ruby自体の質問に答えてくれる心温まる優しいスレとして認定しとこう。
> ruby自体の質問に答えてくれる心温まる優しいスレとして認定しとこう。 Tk は、ruby 自体なの?w
EZ DO Ruby
徹夜Ruby工場
Railsって管理画面とか自動生成できるの?
scaffold
scaffold って結局書き直すんだから、作るだけ無駄というか。w
railsではなくCMSとかそんなのがほしいのかな?
>>532 まさか、scaffoldを素のまま使って、全部の画面を書き直してる?
それともCRUD以外のコントローラにscaffoldを使おうとしてる?
535 :
530 :2007/05/31(木) 16:55:06 ID:???
cmsがほしいんじゃなくてPythonとかPHPの一部だとできるみたいなんでRailsもできるのかなぁと
djangoのアドミン見たいな奴? 何人かがいろいろ作ってたよ。ajaxバリバリの奴とか。 wikiからたどるか、ググるかしてみ。
scaffold(足場)っていうのは最終的に捨てるものだぞ。
538 :
nobodyさん :2007/06/01(金) 00:25:19 ID:uCfgpxop
多言語対応する常套手段ってなにがありますでしょう?
>>536 ありがとー!
必要になったらやってみるよ!
「かんたんRuby on RailsでWebアプリケーション開発」で勉強中なんですが、 6日目でLoginEngineを入れると500 サーバエラーが出ます。 5日目のプロジェクトに対しプラグインを追加(CD-ROMからコピー)し、 config/environment.rbを変更してrake db:migrate:engines を実行し、 app/helpers/application_helper.rb を変更するまでは(ログインプラグイン抜きで)動作しますが、 app/controllers/application.rb を変更するとアウトです。 このことからLoginEngineに制御が渡るとエラーになるようですが、 どのあたりを追えばいいんでしょうか? バージョンは次のとおりです。 OS WinXP Pro SP2 Ruby 1.8.6 Rails 1.2.3 LoginEngine 1.0.2 Engines 1.1.2 WEBrick 1.3.1 MySQL 5.0.37
>>542 その本はRails1.1系でしょ。
なぜ1.2系を使う。
ちょっと調べれば1.2系でそれまでのEnginesが使えなくなったのわかるでしょ。
>543 いきなりRoRでやれと言われてるんで、事情方面のツッコミはカンベン願いたい。 Rails自体まだまだ発展途上なので、よさげな本もすぐ内容が古くなるみたいだし、 その中からとっつき易そうな本を指示された訳。 >544 トン Engines入れ替えて再トライするっす
> いきなりRoRでやれと言われてるんで、事情方面のツッコミはカンベン願いたい。 > Rails自体まだまだ発展途上なので、よさげな本もすぐ内容が古くなるみたいだし、 > その中からとっつき易そうな本を指示された訳。 これが1.2を使う理由とは思えない。 1.1と1.2の違いがわからないんなら、 素直に本の通り1.1をつかっとけっつーの。 1.2ですがまた動きませんとかいうのがオチ。
その、かんたんRuby on Railsって本は初心者に分りやすいの? Ruby on Rails入門読んでみたが、リファレンス的な内容で 具体的にどうやって実際に役に立つもの作るのか今ひとつイメージ できなかったので、Agail Web Development with Railsの第2版を 英語で頑張って読むか、どうやってもう少し馴れたらいいのか 迷って暫くRailsが離れてたんだけど。
かといって、 「Rails1.1のインストール方法教えてください」 とか書かれても、それはそれでケンケンしてそうだな。 まったりいこうよ。
>>547 英語版第2版のPDF版買って読んでるけど、なかなか良いよこれ。
読むってか、コードのとこ見てるだけでもいいかんじ。
> いきなりRoRでやれと言われてるんで、事情方面のツッコミはカンベン願いたい。 どーせ納期過ぎても完成できないだろうから、会社辞めちゃえばいいじゃん。
>>547 「Ruby on Rails入門」とクックブックとレシピ以外は
ストーリーに沿った内容だから英語でがんばる前に
一冊くらい選んで読んでみてもいいのでは
Capistrano使いたいんだけど、日本語で詳しく書いてあるサイトなり書籍なりってないかな?
WEB+DB プレスの vol.37 に記事があったような? 他には知らない。
>>552 「ライド・オン・Rails」に少しのってるよ
立ち読みできるなら、眺めてみるといいかも
うぉっ! ride on持ってるのに、気がつかなかった... でも、レシピの書き方とか、イマイチ詳しくないよねぇ...
558 :
nobodyさん :2007/06/04(月) 12:14:23 ID:yWNAd0Hu
engine/login_engineをインストールして
ここのサイト(
http://rubyist.g.hatena.ne.jp/pulscope/20070327 )
のように設定したのだが、以下のように generate plugin_migrationでエラーが出る。
何が悪いのでしょうか。
# script/generate plugin_migration
/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require': ./script/../config/../config/environment.rb:14: unknown regexp options - lcal (SyntaxError)
from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require'
from /usr/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/commands/generate.rb:1
from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require'
from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require'
from script/generate:3
なお、このエラーは、environment.rbの中の次の記述で出ている模様だが、
require File.join(/usr/local/rails/thisappli,"vendor","plugins","engines","lib","engines","deprecated_config_support")
この/usr/local/rails/thisappliが、このアプリのトップディレクトリ。
/usr/local/rails/thisappli がクォートされてないからRegexpと評価されてエラーが出てるんじゃないの
560 :
nobodyさん :2007/06/04(月) 12:45:15 ID:yWNAd0Hu
>>552 確かに。ありがとうございました。
しかし一つ前にやった別のアプリではクオートせずに同じことやって成功してる。
よくわかんないけど とりあえず今回は解決しました。
561 :
nobodyさん :2007/06/04(月) 12:50:14 ID:yWNAd0Hu
559の間違い
前の時は/tmp/iとかのvalidな正規表現だったからとか?
俺が楽しければそれでいい
Rails1.1向けに書かれた本のプログラムを実行するには、 Railsのバージョン落として Rubyのバージョンも古いソースコンパイルし直さないと いけないのかな?
あっ、optディレクトリとかに古い方入れればいいのか、 どのバージョンのRailsがどのバージョンのRubyに対応してるか だけ調べるか
着実に、zopeと同じ道を辿ってるな…
怖いなぁ
568 :
nobodyさん :2007/06/08(金) 15:23:53 ID:pyQvltMP
ActionMailerで, recipientsやfromに続いてreply-toってヘッダーを入れたいのだけどどうすればいいんでしょ?
>568 reply_to/reply_to_addrsっちゅーメソッドがあるやん。 使いかたはfrom/from_addrsと同じ。
570 :
nobodyさん :2007/06/08(金) 17:04:39 ID:pyQvltMP
fromと同じように class myMailer < ActionMailer def mail recipients "xxx" subject "xxx" from "xxxx@xxx" reply_to "xxxx@xxxx" body "xxxx" end end のように書けばいい? reply_to入れたらエラーになるんすが。
572 :
nobodyさん :2007/06/08(金) 18:31:50 ID:pyQvltMP
RoRを使っているfeedbringerについて
574 :
nobodyさん :2007/06/08(金) 20:02:18 ID:KbDZEEwd
date_select でデフォルト値を使う方法ってありますか? date_select のオプションで,:default => 3.days.from_now みたいなことをやりたいのだが。。
575 :
nobodyさん :2007/06/08(金) 21:33:43 ID:5H3Shl3s
すでにあるテーブルをメンテする場合どうすればいいんですか?
>>574 フツーにモデルのフィールドに日付をいれておけば表示されるんじゃない?
>>575 リレーションにSQLのスニペットを指定して定義することはまぁ可能。
けどあきらめた方が多分いいね。思わぬところでハマることがあるから。
まぁ set_primary_key とか、foreign_key => の明示的な指定とかで できる範囲を超えたらあきらめたほうがいいな。
578 :
574 :2007/06/09(土) 01:00:59 ID:K9Grt71j
>>576 DBにレコードを初めてINSERTするときのデフォルト値を表示させたいんですよ。
だからモデル側はまだ何も無い状態。
>>578 なにもないなら自分で埋めよう。
def new
@hoge = Hoge.new
@hoge.date = 3.days.from_now
end
<% = date_select :hoge, :date %>
モデルかデータベースでデフォルト値を定義してもいいけどね。
Rubyに移行しようと思っているんだすが、 mod_perlのような、起動オーバーヘッド軽減できるような仕組みはありますか?
あるんじゃね?
Rubyは本当によく出来た言語だと思う。 ただ、遅い・・・これが致命的につらい。 気長にマッタリ勉強していける性格ならRubyをお勧めするよ。 ま、ついでにApacheとかもがんばって勉強してもいいけど・・・ 毒を食らわば皿までだ。
585 :
583 :2007/06/12(火) 00:15:17 ID:???
誤爆スマン
586 :
nobodyさん :2007/06/12(火) 07:08:24 ID:gjdXbgZv
583じゃないけど、作者本人が遅いと認めてるところはやっぱり遅いと感じる
587 :
nobodyさん :2007/06/12(火) 07:09:57 ID:gjdXbgZv
あ、作者ってRubyの作者(まつもと)のほうね
よくある注文系フォームをRubyで作ってるんだすが、 画面遷移がどうも重い。同じ条件下のPerl製より速度が出ない。 皆さんどのへんチューニングしてます?
全体的に遅いのは俺だってそう思うが、 その作者が遅いと認めてる部分や その注文系フォームをどういう環境で動かしていて遅いのか もう少し具体的に書いてくれ、でないと ああそこはやっぱりどうしようもないね、なのか こうやったら速くなるんじゃね、とか言い様が無いからさ
プロセス自体が起動する早さ?はperl,ruby,pythonでかなり違いあるの?
テストでsessionを使えないんですけど、 sessionを使うために何か準備することとかあるんでしょうか? session[:user]の有無でログイン状態をチェックしているのですが、 ログイン処理とは関係のないコントローラ(ただしログインしていることが前提) でテストをしたいので、とりあえず session[:user] = @hoge と適当なユーザオブジェクトを放り込んでやろうとしたら Symbol as array index というエラーが出てしまいます。 ログインを管理するコントローラの方では普通にsessionにアクセスできるのですが、 sessionの初期化かなんかの方法があるんでしょうか? 教えてくださいませ
直接 @request.session[:user] = @hoge しないとだめだったよーな。
593 :
591 :2007/06/12(火) 22:08:43 ID:???
自己レスです @request.session[:user] でした
594 :
591 :2007/06/12(火) 22:12:05 ID:???
>>592 あ、ありがとうございます
なんか当たり前のトピックのような割には書いてあるサイトとか意外と少ないですね。
rails とかふつーに重いだろw
RailsはFastCGI必須と言える位重いな
FastCGIとかややこしそうだね・・・ レンサバじゃインスツールしてくれないとか。
海外のレンタルサーバの値段てちょっと信じられないほど安いんだよな FastCGIも使えるし なんで国内とこんなにも価格差があるんだろ
土地が狭いからと予想
ミミ彡  ゚̄ ̄' 〈 ゚̄ ̄ .|ミミ彡
601 :
nobodyさん :2007/06/13(水) 21:48:20 ID:??? BE:227591633-2BP(0)
Mongrelという選択肢はないのか? かなり早いぞ
Tomcatが脳裏によぎった ような気がするかもしれん
<a href="hoge#foo">bar</a> みたいにページ内にリンクを張りたい場合は、 link_to ではなく <a href="<%= urf_for :action => "hoge" %>#foo">bar</a> のようにする以外ないんでしょうか?
url_forにanchorのオプションがあるから <%= link_to "bar", :anchor => "foo" %> でいけるんじゃないか試してないが
605 :
603 :2007/06/14(木) 00:02:26 ID:???
>>604 ありがとうございます。
無事に :anchor => "foo" でいけました。
助かりました。
ところで、
オンラインのドキュメントなどでは、ヘルパーメソッドに渡すオプションの項が options などと書かれていて
実際にどのようなオプションがあるのか、分からない事が多いです。
「options がどのようなオプションを受け付けるか」を知るにはソースを読む以外ないのでしょうか。
このようなリファレンス的な文書が見当たらず困っています。
たいてい説明中に箇条書きで有効なオプションのことは書いてあると思うけど。 link_toのanchorの場合は、url_forに渡るということが本文中に書いてあるので url_forを見ることになる。
607 :
603 :2007/06/14(木) 00:42:03 ID:???
>>606 ありがとうございます。
ActionController::Base#url_for に、各 options について書いてありました。
お恥ずかしい限りです。
もう少しちゃんとドキュメント読んでみます。
scaffold便利そうだけど、足場という割には手を入れづらくないですかね。 項目名を日本語化したり、項目非表示にするのはスペジェネ入れないと面倒っぽい? あと、日付要素の出力フォーマットは設定とかできるんでしょうか? 初歩的質問で申し訳ないです
個人的にscaffoldの利点だと思っていることは、 最初にrailsを使ってみるときに、即座に動くモノが得られること。 とりあえずのアプリを作るときに手間が省けること。 くらいかな。 本格的なものを作るときにはどうせ最後には無くなるものだし、 最初から使わない。
>>608 はげどー
おれは
/usr/local/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/rails_generator/generators/components/scaffold/templates/view_*.rhtml
を改変しちったよー
でもほんとはいけないことだから、自分用のscaffold generator作る方法だれか教えて!
611 :
nobodyさん :2007/06/16(土) 17:49:27 ID:fqTepViI
カメレスでスマソ。
>>439 DreamHost糞重いよ。
あと、MySQLがとにかく重い。さくらインターネット並み(それ以上か?)に重い。
お勧めしないよー。
安かろう悪かろうの代表だよ。
安くて大容量だから、別の用途で、俺は使ってるけど、Railsはさすがに無理だった。
誰か、DreamHostで、Railsをまともに動かしている人、ノウハウ書いてくれっ
俺は、高くても、Rails対応をメインにうたっているサイトをお勧めします。
そうね。たとえばどこさー?
wisenot がなんかやってた気がしたけど、使ってる人いるの?
2つ位までのアプリならmedia templeがいいかと。 (無料のRoRコンテナはメモリが64Mなので…。)
入力フォームにベタでdate_selectタグを使おうとして泥沼にはまった。 スマートに日付とるにはどうすりゃいいんだ?
validates_なんとかのエラーメッセージを動的に変えたいんですがどうすれば良いんでしょうか? validates_presence_of :mail_address, :message=>hoge() undefined method 'hoge' for User:Class といわれてしまうんですが(もちろんhogeメソッドはあります) :if みたいにシンボルを渡すのかなーと思ったんですが、これもダメでした。 教えてください
def hoge じゃなくて def self.hoge にしたら、いいんじゃない多分
Ruby on Rails入門 優しいRailsの育て方は読み難い。 もう少し分かりやすく書けなかったのだろうか。 クラスの説明なんか、 動物を親として、継承して犬や猫を作るありきたりの例で 良いのに、攻撃だの技だの、変な例で説明している。 こういうのは誰もチェックしないで出版するのか。 まともなリファレンス本は無いのか。
いや、攻撃だの技だのは新機軸で結構面白かった。 継承とか、Mix-inなんかは動物だとか、オブジェクトは「モノ」だとかいう 説明は結構解りづらい。他言語から入るひとのために、Rubyにはプリミティブ型 がないことをもっとはっきり言ってあげた方が親切だったかな。 あと、あの妙なAAはいただけなかったなあ。 AAって画面では面白く見えるんだけれど、紙面では絵に見えないんだ。 いっそ北斗の拳とかドラゴンボールで説明すれば理解しやすかったかもと 思ったり。 Rails本は5冊ぐらい買ったがアジャイル本とこれがあれば事足りる。 アジャイル本は今はもう人に勧められないからマイグレーションと ActiveRecordまわりを追補して改訂第2版出してくれ。
>>623 俺的には最初は黄色い本か青い電車の本がわかりやすかった。
黄色の本の dbのセットアップをrakeにするというのは
開発マシンと運用が違うときに同じ作業をすぐ実行できるという点で
面白かった。まあ、何度かやってたら思いつくんだろうけど。
でも結局 アジャイル本を日本語と 第二版の英語の2つ用意して
この2つを見比べながらってことになってしまう。
1.2対応の日本語版でないのかな。でも出たころには
railsがさらに先に進んでるんだろうな。。。
625 :
620 :2007/06/22(金) 11:24:53 ID:???
>>621 クラスメソッドでもダメでした
gettextの説明ページで
validates_presence_of :title, :message => N_("%{fn} can't be empty!")
ってかいてあったんで関数指定できるのかと思ったんですが
ダメなんですかねえ
(そもそもN_()は関数じゃない?
gettext使ったことないのでわからないです)
とりあえずvalidateで全部自前で書きましたがわかる方教えてください
validates_presence_ofがclass_evalされるタイミングで 存在しないもの呼んだりしちゃってるんじゃない?
ということは validates_presence_of より前にメソッド定義すればいいのかしら?
rails で開発する際、テーブルは先に 作るんですか? それともテーブルは作らずに generate model Hoge して、 db/migrate/001_create_hoge.rb に定義書いて rake migrate かけるんですか? また、テーブルにフィールドを追加した時の作業手順とか、みなさんどうしてるのでしょうか? ある程度決まっているものなのか、人それぞれなのか等も含めてオレはこうしてるっていうの教えて頂けると 助かります。
629 :
620 :2007/06/24(日) 21:22:59 ID:???
>>626 ,627
ありがとうございます。
同一ファイル内なのでメソッドの順番を変えてみましたがやっぱりダメでした。
validateの条件のifはシンボルでメソッド名を渡せるので
メッセージもそうだろうと思ってたんですが、ActiveRecordのソースを見ると
evaluate_condition(configuration[:if], record)
と評価している(?)みたいなのに対して
:messageの方はそういうのはやってませんでした
(すいません、ソース見ても意味がよくわからないんでまちがってるかも)
ということで出来なさそうです
sessionのタイムアウトってデフォルトではどうなってるのでしょうか? sessionの有効期限(時間)を指定する方法はありますか? どなたか、ご教授下さい。
class CreateCat < ActiveRecord::Migration def self.up create_table :cats do |t| t.column(:name,:string) t.column(:age,:integer) } end end のときに、 Cat.find_by_name("ミケ").alter_name #=>"ぬこ" Cat.find_by_name("タマ").alter_name #=>"ぬこ" Cat.new.alter_name #=>"ぬこ" とやりたいのですが、 class Cat < ActiveRecord::Base public def alter_name "ぬこ" end end としてもDBのalter_name列を探しに行ってしまってうまくいきません。 何がダメなのでしょうか…。
>>630 ActionController::CgiRequest::DEFAULT_SESSION_OPTIONS.update(:session_expires => Time.now + 1.week)
とかでしょうか。
最初に作成されたときから1週間と、
最後にアクセスされてから1週間じゃ意味がぜんぜん違う気がするけど。
>>631 ふつうにできたんですが……
>>628 テーブルが先に決まってたら(与えられていたら)前者
そうでなければ後者でmigrateしたほうが変更が楽なはず。
migrateに関しては 日本語のアジャイル本に載ってないのが残念だ。
>>633 とっかかりは載ってる。存在を知ればこっちのもの。ぐぐって理解したよ。
>>634 え、あれ…
migrateって1.1からの新機軸なので1.0にあわせた アジャイル本1版には
出てないと思ったんだけど読み方があまかったか?
ちなみに英語の2版には出てますね。
知らない俺がバカだったくらい気持ちよくなれた.
>>635 いや、訳者が気を利かせて訳注と追補してくれているんだよ。
ちなみに第1版第1刷で537ページから記述がある。
638 :
631 :2007/06/25(月) 06:52:35 ID:???
>>632 言われてエラーの内容を順番に辿っていったら、違う理由でDBを見に行ってました
ごめん。ありがと。
1. find( :all, :conditions0=>... 2. find_by_sql( ["SELECT * ... 3. find_by_sql( ["SELECT column1, column2... の三つを比較すると123の順で速くなる(3が最速)だと思ってたんだけど、 RSSを生成するテストをしてみたら実際には123の順に遅くなった。 なんでだろう? find/find_by_sqlメソッドを単体でテストすると確かに3が一番速いんだけど。 もちろんRSS生成メソッドのfind以外は全部共通です。
640 :
間違い :2007/06/25(月) 16:09:34 ID:???
×1. find( :all, :conditions0=>... ○1. find( :all, :conditions=>...
>>630 無い。
ファイルのタイムスタンプを見て、自分で削除する。
643 :
639 :2007/06/26(火) 00:02:16 ID:???
>>642 一回のテストで1,2,3を順番に実行してたんだけど、
一回ずつバラバラにやってみたら期待通りの結果になった。
なんでだかわからないけど一安心。
どっかのレイヤで結果がキャッシュされてたんじゃないの
ActionMailerでメール送信時に正常に送信されたかどうかの チェックってどうやんの?
俺は、チェック用のアドレスにも同時に送信するようにしてる。 相手先のSMTPに正常に届けられたかどうかは、maillogをチェックするしかないな。
Return-path のメールボックスを監視していればいいんじゃないかな。
<%- if @hoge -%> ...... <%- end -%> で前後の改行が出力される… 改行コードをCR+LFからCRにしても直らなかったから 悶々としてたけど、念のためLFだけにしたら直った。
Rails + JRuby を.warファイルに固めてTomcatにデプロイ一発、なんてこと可能?
650 :
nobodyさん :2007/06/29(金) 21:29:34 ID:cisHoRst
>>649 rake war:standalone:create
じゃなくて?
651 :
649 :2007/06/30(土) 08:23:56 ID:???
>>650 ごきげんよう。
そういうコマンドで可能なんですのね。
すいません、一つ質問させてください。 ActionMailerでメールを送るとき、POP before SMTP認証するにはどうすればいいのでしょうか? ActionMailer::Base.server_settingにはPOPサーバを指定する項目がないようなのですが…。
自分で認証コード追加しちゃえば?これだけでしょ require 'net/pop' pop = Net::POP3.new( 'pop3.server.address', 110 ) pop.start( 'YourAccount', 'YourPassword' ) pop.finish
>>653 標準で用意されてるようだったら、よりスマートに書けるので、お聞きした次第です。
人の作ったものなのでできればあまり手を入れたくなかったのですが…。
試しに、その方法でやってみます。
656 :
652 :2007/07/02(月) 06:08:36 ID:???
>>655 おっと!まさに探してたヤツです。
早速使わせていただきました。多謝!
初のWebアプリ開発をしようと思っている新人なのですが、 概念的な事が気になっているので教えて頂きたいのですが・・・ (Rubyに限らず、他のWebフレームワークにも当てはまる事かもしれませんが) Railsで開発したWebアプリケーションをapacheなどから起動しようとした時、 ルーティングコンポーネントでURL解読を始めるなどの動作は、Railsがインストール されているマシンにJavaのように実行環境(仮想マシン)が存在してそれが制御 しているのでしょうか? それとも、プロジェクトを作成する際に、必要なRailsのライブラリ郡が 作成されるスケルトンに全てrequireか何かで組み込まれて、プロジェクトを 制御しているのでしょうか? 馬鹿な事を質問してるかも知れませんが、よくわからなくて気になったもので・・・
後者だな、多分
ビューが <% form_tag("search", :method=>:get) do %> <%= text_field_tag "query", "size" => 40 %> <%= submit_tag("検索だよ〜んぴろぴろぴろ〜ん") %> <% end %> とすると、paramsの中に{”commit”=>”検索だよ〜んぴろぴろぴろ〜ん”}が渡されます。 POSTなら気にしないのですが、GETを使いたいので恥ずかしいです。 なんとかcommitを渡さない方法はないでしょうか。
onclickにJavaScriptを書いてsubmitなinput要素をマッサツしたらできるかも? 試すのは任せた。
「検索だよ〜んぴろぴろぴろ〜ん」ボタンの画像を作って image_submit_tagにすればいい
>>659 <%= submit_tag("検索だよ〜んぴろぴろぴろ〜ん", :name => nil) %>
663 :
659 :2007/07/02(月) 23:31:38 ID:???
>>660-662 <%= submit_tag("検索だよ〜") %>
が、
<input name="commit" type="submit" value="検索だよ〜" />
に展開されて、
nameとvalueのセットが送られるというhtmlの仕様に則ってこんなことになってたんですね。
htmlソース見てよく考えればよかった…。気をつけます。
ありがとう!
>>658 え、マジで?
俺は使えればいーや!ってタイプなので深く考えた事無かったが、
なんとなく前者ジャマイカと思ってた。
そうすっと、RoRのプロジェクトはapacheからはRubyで組み上げた
一つにアプリみたいに見られてるの?
ActiveRecordみたいなRoRのライブラリ群はふつーのライブラリみたいに
Rubyのインスコディレクトリからrequireするみたいな感じで。
>>659-663 おまいら、大真面目に「ぴろぴろぴろ〜ん」って・・・・フイタ
>>664 ・まずRailsを動かすのに、Apacheが必須なわけではない。
・ApacheをRailsを一緒に使う場合は、mod_rewriteなりを普通使うと思うけど、
この場合、内部的には単に通信をproxyしているだけ(つまり、ApacheからRailsは、"Webサーバー"として見られている。)。
そんなこといわれてもなぁ Rails以前の基礎的なとこから理解してないようだし ここにすべてを印すには余白が足りない
668 :
664 :2007/07/03(火) 02:39:45 ID:???
>>665 解説アリがd
「Webアプリケーションフレームワークと言ってるけどRailsの実体とは何ぞや?」という概念で見たら、
Railsのプロジェクト(=Rubyで作成したWebサーバアプリの基幹?)と介錯して良いんでしょうか?
プロジェクト自体はURLを解読してコントロールやアクションを呼び出すようなWebサーバの
制御部分を担ってて、Webアプリとしての中身はプロジェクトの開発環境を使ってユーザが
作る・・・みたいなイメージでOK?
(プロジェクトのディレクトリ構成も、Webアプリの仕様みたいな)
ActiveRecordのようなライブラリもRubyにパッケージとしてインスコされているもので、
人間からみたらRailsという概念もマシンからみたらRubyのプログラムに過ぎないと
考えて良いでしょうか?
>>668 ok
「ruby script\server」で、Railsのプロジェクトを起動させるんだけど、severファイルからrequireが始まるでっかいRubyのプログラムが起動するだけだよ。
で、前の質問からちょっと、CGIの仕組みでRailsが動いている、と勘違いしているんじゃないかなと思った。違ってたらすまん。
「ruby script\server」でRailsを起動させた場合、Webサーバーを含んだRubyスクリプトが起動するんだ
なので、Railsを処理の面から見た場合
HTTPリクエストを受ける→URLを解釈する→アクションを実行する→HTMLなりを返す
までを含んだ、WebサーバーなRubyスクリプトだと見ることが出来るかな。
Webサーバーの役割をなくすこともできるけど、まあいいや。
>669 >CGIの仕組みでRailsが動いている、と勘違いしているんじゃないかなと思った 横槍スマソ、apacheがWebサーバの場合はCGIで動く事もあるんじゃないの? (CGIじゃ遅すぎるから、FastCGIとかmod_rubyとか使うだろうけど・・・・・) 「ruby script\server」の場合は(大抵の環境では)WebrickがWebサーバとして起動して 「DispatchServlet.dispach」を呼び出すし、 apacheをWebサーバとして使用する場合はVirtualHostとして動かしたいRailsのプロジェクトの publicをDocumentorootとして設定する事で apacheのCGIからアクセス → [Railsプロジェクトの]public/dispatch.{cgi,fcgi,rb} を実行 の流れで最終的に「require "dispatcher" Dispatcher.dispatch」が呼び出されて、URL解析が 始まるんジャマイカ? Webサーバーのアプローチが異なるだけで、 >HTTPリクエストを受ける→URLを解釈する→アクションを実行する→HTMLなりを返す >までを含んだ、WebサーバーなRubyスクリプトだと見ることが出来るかな。 って所には同意だけど。
>>659 <BUTTON type="submit">検索だよ〜んぴろぴろぴろ〜ん</BUTTON>
今つくってるプロジェクトの検索ボタンを 「検索だよ〜んぴろぴろぴろ〜ん」にしてみよっと。
673 :
659 :2007/07/03(火) 20:32:16 ID:???
>>671 検証してないですが、そうやって直書きなら問題なくいけますよね
折角フォームヘルパがあるので
>>662 のやり方でやらせてもらいましたが。
>>672 をいw
Rails 1.2 から LoginEngine が使えないようですが、代替のプラグインってあるのでしょうか?
>>674 acts_as_authenticatedがおすすめ。
なぜかstart_form_tagを書くとrewriteがエラーを起こす.rhtmlファイルがある。 ファイル内に問題のフォームだけ書いてもエラー。 別のrhtmlファイルに記述して問題なく動作しているフォームをコピペしてもダメ。 とりあえずデバッグを進めたいからHTMLタグをベタ打ちにしたけど、いったい何なんだろう?
deprecatedじゃなかったっけstart_form_tag
すみませんが、質問です。 画像を表示するactionを作ろうとしています。 DBにデータがある場合は、send_data で、ない場合は、デフォルト画像を send_file で送出するのですが、どちらのアクセスの場合もページキャッシュ を生成します。 ところが、send_file の場合に、キャッシュが正しく生成されないのです。 キャッシュされて出来たファイルは、画像ファイルではなくテキストファイル になっていて、中身は以下のものが1行ですものです。 #<Proc:0x00002aaaac5de6f8@./script/../config/../vendor/rails/actionpack/lib/act ion_controller/streaming.rb:68> 何が原因で、どのように解決したらよいでしょうか?
age
send_fileの中で、 render :status => options[:status], :text => Proc.new { |response, output| ... } でProcを渡してるんだな。これをcallするわけか。 ところで、ページキャッシュ(caches_page)は after_filterで controller.cache_pageを呼んで、 response.bodyをそのままwriteしてるようです。 深く追ってませんがcallせずに文字列化されちゃったのは このへんの絡みでしょうねぇ。
HTMLを返すときはERbを通ってそこでprocが評価されるけど、 まんまwriteしちゃうとproc.to_sされちゃうとかなんとか?
683 :
679 :2007/07/05(木) 22:47:12 ID:???
皆さん、ありがとうございます。 どうやら proc.to_s が原因の、Railsのバグのようですね。 今回は、 picture_field = File.read パス名 send_data(picture_field, ... で行こうと思います。
684 :
カカロフ :2007/07/06(金) 09:57:47 ID:BTq+K64y
fcgi 使うと rhtmlの頭に空行がいたら駄目なんて知らなかったよ!
686 :
nobodyさん :2007/07/08(日) 19:42:05 ID:HpgAFttn
ちょっと質問していいですか? ActiveRecordの主キーid intって最大値まで使っちゃうとどうなるの?
bigintになる
間違えた。Bignum というのは置いておいて、まずDBの方の制限にひっかかるんじゃないかな。つまり、DBごとに違う
なんだってそりゃビックリンコだ
データベースからデータを引っ張ってくるときの条件なんだけど、 ・特定キーでマッチング → :conditions =>[ 'キー = ?', 条件 ] ・個数制限 → :limit => limit は分かったけど、「末尾のレコードから検索」はどうすればいい? (同時に上記の条件も満たすものとする)
orderでおまえが望む末尾からに並び替えればいい railsというよりDBの話だな
693 :
nobodyさん :2007/07/09(月) 20:33:45 ID:ypOM/m4j
>>688 はい。どうもです。
で例えば、MySQLのbigintだと最大値は9223372036854770000の用ですが、
idをココまで使っちゃうとどうなっちゃうのかなぁ?と。
ま、気の遠くなる様な大きさですが。
694 :
693 :2007/07/09(月) 21:08:13 ID:???
おそらく先にディスクI/Oで死ぬかディスクの容量が足りなくなるので 気にしなくていいと思う。
696 :
693 :2007/07/09(月) 21:30:05 ID:???
>>695 > 気にしなくていいと思う。
pragmaticってこういう事なのかぁ…って思った。
697 :
sage :2007/07/09(月) 22:45:52 ID:pNke+qhj
セッションがタイムアウトした瞬間に、 Railsから指定のメソッドが呼び出されるようにする機構はありますか?
>>693 試してみればいいんじゃないか?
insert into items (id ) values(9223372036854770001);
とか、SQL打って。Postgresqlだと、
ERROR: integer out of range
ってエラーが出たよ
>>692 JavaScriptだけで動いてるから、Rails関係ない。エラーコンソールでも見れ
レイアウトで <%= stylesheet_link_tag 'default' %> が、 <link href="/stylesheets/default.css?(数字たくさん)" media="screen" rel="Stylesheet" type="text/css" /> という出力になります。 css?のあとの数字たくさんは何なのでしょうか。 development環境だけかと言えばそんなことはないし…。 しばらく前から気になって夜も寝られます。
Version
>>699 ブラウザがCSSをキャッシュしないよう
強制的にリロードさせるようにするためじゃね?
キャッシュされるのを抑制するために問い合わせ文字列をつけている。
つーか寝られるなら気にするな。
704 :
699 :2007/07/10(火) 05:56:31 ID:???
>>700-703 優しい人ばっかりだな!
キャッシュ抑制という発想はなかったわ。
ありがとね。
705 :
692 :2007/07/10(火) 12:26:12 ID:???
理由がやっとわかった GeocoderはGoogleMapsAPIの認証キーを厳密にチェックしてて、 Railsをローカルで動かすと登録したURLと一致しないということではじかれてた 地図は適当なキーでちゃんと表示されてたのでそこまで気にしてなかったなあ
706 :
nobodyさん :2007/07/12(木) 17:28:19 ID:??? BE:809212984-2BP(0)
RubyConfで出た統合開発環境って情報出ないね EcripsベースってRadRailsとどう変わるんだろ? 最近、仕事で色々エディタ使ってるけど、楽しいものがないんだ。 書いてて楽しいと思えるものは、みなさんだと何でしょ? 私はWinだとEmEditer LinuxだとEmacsです
vim
国際化するにはどうするのがよいのでしょうか?
gettextで
magic_model_generator というのをgemで見つけて試してみたのですがエラーになってしまいます。 使ったことある人いますか? $ ./script/generate magic_model undefined method `table_name' for Transaction:Module You have a nil object when you didn't expect it! You might have expected an instance of Array. ....(省略) $ rails -v Rails 1.2.3
Netbeans の Ruby版
komodo edit使ってる komodo ideほしいけど金無し
713 :
nobodyさん :2007/07/15(日) 01:05:03 ID:gojNHc9A
Functional Test(たとえばuser_controller_tes.rb)でsession[:user_id]とかできないんだけどどうしたらいい? sessionはHashじゃなくてArrayだって言われてしまう。 Functional Testではどうすればsession上の変数を扱えるの?
小さいプロジェクトなのでapplication.rhtmlにヘッダ、フッタを書いて済ませていたのですが rssを付ける段になってコントローラに layout nil, :only => :rss と書いたところ、同じコントローラの別アクションもレイアウトがかからなくなってしまいました。 逆に layout "application", :except => :rss と書けば大丈夫なのですが、この辺の仕組みが分かる方おいでます?
モデルにバリデータが着いちゃってるけど、 この画面の段階ではいらないけど、 このときには必須になるみたいなケースな場合どうするの?
>>713 一度何かリクエスト/レスポンスのやりとりをしないとセッションが出来ないかも。
>>714 コントローラの属性テーブルに "layout" => 名前 というペアを挿入する形なので、
名前がnilだと親コントローラに探しに行ってしまうんじゃないかしらん。
>>715 validates_xxx :on => :update とかでは対応できないのなら、
自分で validate メソッドを書く。
「xxxがnilでないときのみyyyもnilでないこと」みたいなのも確認しほうだい。
714を読み間違ったみたい。忘れて。
>>713 は、@request.session て話では
1.8.5と1.8.6の互換性に触れると「Railsが悪い」と言うくせに、 Rubyって何に使えるのと聴くと「Railsが凄い」と言う…
それだけ影響力があるってことだろう
レコードを更新したいけど、updateo_onフィールドを一時的に更新させないようにする方法は ありますか?
ActiveRecord::Base.record_timestamps = false ですね。はずかしすぐる・・・
724 :
nobodyさん :2007/07/19(木) 21:58:27 ID:oZlZzBRy
DelWiki - Senro
http://delwiki.info/?Senro > Delphi と Ruby on Rails と SQLite の組み合わせで簡単に
> ローカルデータベースアプリケーションを作るプロジェクトです。
DelphiとRailsの夢のコラボ
Delphiを今使うメリットってなんですの?
CakePHPもある今、遅いRailsを使うメリットってなんですの?
CodeIgniterもある今、遅いCakePHPを使うメリットってなんですの?
紙とえんぴつがあるのに、コンピュータを使うメリットってなんですの?
紙とえんぴつじゃ遅いからじゃないかな
最近えんぴつが品薄だから
えんぴつは使うのが難しいからじゃないかな
えんぴつをナイフできれいに削れるヤツは少ないだろ
>>728 君が今、周りを見渡して、鉛筆とPCとどっちが先に見つかる?
735 :
mod_fastcgi :2007/07/20(金) 19:54:32 ID:DvId2R7o
apache上で動かすと死にそうなぐらい遅いのですが 対策方法ってあるのでしょうか? 環境は ruby 1.8.6 apache 1.3 windowsXP です。。。 InstantRailsでインストールしました。 OSを変えるべきなんでしょうか?
webrickかmongrelでやればいいんじゃね (fastじゃない)cgiでrailsはどうやっても重過ぎて使えないよ無理
mongrelお勧め。 まぁRailsのアプリだけならね。 lighttpdも合わせて使うと良いと思われ
うちはapache(mod_proxy)とmongrel(railsアプリはこれで動かす)の連携。
実際にrailsアプリを公開しようとすると 実質(apache+)lighttpd + fastcgiか apache + mongrelってことなんだろうけど、 この環境が無料あるいはワンコインレベルの共有サーバで 使えるようになる日はくるのかね xreaとかでもfastcgiはリソース使用量が高いっていう理由で サポートされてないんだけど、それは多分fastcgiが プロセスを死なせず常駐させるような仕組みだからだと思うんだけど それが速い理由だからfastcgiは無理っぽいし mongrelだとmongrel自身がhttpdだから それぞれのユーザがデーモンを常駐させる必要があるし、 結局そういう流れでrailsに特化して最適化したサーバが 必要で国内にもいくつかあるみたいだけど やっぱりワンコインみたいな気軽に借りれそうなところは無い ほんと後はこの壁だけだと思うんだよ PHPのような普及に至るためには railsももちろんそうだけど、 webでrubyを気軽に使える世界になって欲しいんだよな 無料サーバでもすぐに使えますみたいな rubyって楽に素直に書けるから 長文になってしまった失礼
Rails環境を整えることでビジネスチャンスに繋がるということを 認識できるレンタルサーバ業者がどれだけ出てくるかという事だろね。 ロリポもはやくRails対応してー。
mod_ruby が安定したり、phpみたいにセーフティーモードがあれば組み込むんだけど
しかし、Railsを使おうと思ったら現状デーモンを常駐させないと使い物にならんしねぇ。 俺がレンタル鯖屋さんだったら、1ユーザ・1デーモンのサービス開始しようとは思わないなぁ。 むちゃくちゃリスキーな訳だし
vpsでいいじゃん。rapidvpsとかなら1000円ちょいだろ?
> 俺がレンタル鯖屋さんだったら、1ユーザ・1デーモンのサービス開始しようとは思わないなぁ。 1個で良いの?www
745 :
nobodyさん :2007/07/21(土) 20:04:31 ID:UNPvyq3t
http://jp.rubyist.net/magazine/?0004-RubyOnRails を参考に、 connections\native_mysql\connection.rb を修正、
$ ruby -I "connections/native_mysql" base_test.rb
を行ったのですが、以下の部分(base.rb:1031)でのエラーが多数でます。
ActiveRecord::RecordNotFound: Couldn't find Topic with ID=1
./../lib/active_record/base.rb:1031:in `find_one'
./../lib/active_record/base.rb:1014:in `find_from_ids'
./../lib/active_record/base.rb:419:in `find'
base.rb の def find_one(id, options) の部分を見てみたのですが、いまいちよく分かりません。どう訂正すればいいのでしょうか。
環境は、win xp, xampp 1.6.2 で、One-Click Ruby Installer 1.8.6-25 ( 1.8.5-24 でも同じエラー ), Rails 1.2.3 です。
テーブルは作った?
747 :
745 :2007/07/21(土) 21:05:02 ID:UNPvyq3t
> 746
ありがとうございます。
http://jp.rubyist.net/magazine/?0004-RubyOnRailsで 、
$ mysql -u root activerecord_unittest < test/fixtures/db_definitions/mysql.sql
$ mysql -u root activerecord_unittest2 < test/fixtures/db_definitions/mysql2.sql
の部分ですよね?やりました。
あと、activerecord_unittest.topics.author_name で
\ r '
\n "
という項があるのですが、エラーと関係ありますかね?
エラーメッセージはfind()でidから1件取得で 失敗した時のだから単純にfixturesが入ってないとか テーブルができてないとかだと思ったんだけど、、、 テスト結果がほぼ全コケなら そういう感じの単純な理由だと思うけど 中途半端だとなんとも railsのテスト周りはwindows環境でもちゃんとチェックされてんのかなあ
749 :
745 :2007/07/21(土) 23:04:27 ID:UNPvyq3t
> 748 レスありがとうございます。 # base_test.rb テスト結果 手許のxp、二台で試してみたのですが、同じ結果でした。 > 137 tests, 318 assertions, 9 failures, 39 errors errorについては、すべて base.rb `find_one'がらみです。 とりあえずrailsのバージョン変えて試してみます。
とりあえずスタックトレースが出るんだからどこで何が悪いのかはわかるんじゃないの?
そのテストだけでfixturesを指定し忘れてるとか。 testrbで通ってrakeで通らないとか、その辺は大抵それが原因な気がする find_by_sqlで"SELET * FROM table_name WHERE id = 1"してやっぱりヒットしないようなら RailsとかARの問題じゃなく、アプリかテストの問題だよ。 (find(id)でAR::RecordNotFoundが挙がるのは仕様)
test/functional のテストコードで、 RESTっぽいコントローラーのテストをしたいんだけど、 query string の内容を直接指定してgetとかpostとかを発行する のってどうすればいいの? つまり、いわゆるparam=value形式じゃなくて、request.raw_postで 取れる値を直接流し込みたいんだけど
TestRequestにenvセットしたら取れた @request.env['RAW_POST_DATA'] = 'foo'
755 :
nobodyさん :2007/07/23(月) 17:33:20 ID:Y5zBlasD
JOINしたテーブルのデータを列挙するモジュール作っていますが。 A テーブルに B テーブルを JOIN した場合 どのように受け渡して表示すればうまくいくでしょうか?
普通にfindで :join で連結するテーブル指定して :select で表示したいcolumn指定すれば取れると思うが
757 :
755 :2007/07/24(火) 11:56:14 ID:BEyPYoNf
>>756 普通にJOINしたカラムをモデル.カラム で取得できました。
ありがとうございました。
RailsでPDFで帳票出力したいんですが、皆さんは
帳票ライブラリはナニを使ってますか?
初めて英語で技術書読んでるけど アジャイルRailsの本読みやすい英語だね。
760 :
745 :2007/07/26(木) 12:12:41 ID:DIyctI7v
>750,751 ありがとうございます。もうちょっと色々と勉強してみます。
>>759 ページキャッシュかな?
ページキャッシュはrailsアプリを通らず、完全にHTTPサーバレベルで
処理されるので、Rails側では何もできないと思う。
apacheのmod_rewriteで工夫できそうな気もするけど。
>>761 そうでしたか・・・。ありがとうございます。
便乗質問ですが、そうするとページネータで作る二ページ目以降はキャッシュされないってことでしょうか?
スレチかもしれないけど質問。 Aptana IDEを使ってみようと思ってインストしたんだが、 これってDB指定でgenerate出来ないのかな? デフォではMySqlになっているんだが、俺はSQLite3でやりたいんだが…… まぁ自分でコマンドうってから、プロジェクトをインポートすればいいんだが、 それだとIDEの意味ないだろ、と。 誰かこの辺りについての情報お持ちの方いたら教えてください。
>>763 ページがURLの一部になるような規則をroutes.rbに書けばいい。
よっぽどページ数とアイテム集合が変動しない代物でもない限り、 フラグメントキャッシュでやるほうが適しているかもしれんね。
>>765 そっか、?page=は固定だからrouteで指定できますね
768 :
nobodyさん :2007/07/28(土) 07:24:43 ID:AhK16ONh
viewの中で、そのviewのcontroller名とaction名を取得したいんですが、どうすればいいでしょうか?
>>768 レンダングする前にアクション内でcontroller_nameとか
controller_pathとかcontroller_class_nameとかaction_nameを
インスタンス変数に入れておけばいいんじゃない?
viewにはcontrollerへのアクセサがあるから、 controller.controller_name controller.action_name で参照できるはず、多分
params[:action]とかで取得できない?
paramsの中身をどう使うかはルーティング規則次第だから :controller/:action/:id 以外を使ってるとうまくいかないかも。
773 :
772 :2007/07/28(土) 14:43:33 ID:???
失礼、最終的には :controller と :action を補って呼び出すんだから大丈夫か。
774 :
768 :2007/07/28(土) 23:52:59 ID:AhK16ONh
おおっ、みなさん有り難うございます。
>>769 それも考えたのですが、それだと、逐一コードを書かないといけなくなるので、
面倒だな、とスルーしてました。
>>770 バッチリでした。
欲していたもの、そのものです!
>>771 こちらも、ルーティングを変更していない状態での、正常動作を確認しました。
ルーティングを書き換えた状態では確認してませんが、
>>773 のおっしゃる通り、問題ないように思えます。
有り難うございました。
>>764 Aptanaもgenerateも全く関係ない。railsの基本です。
config/database.yml 書き換える。
そりゃ基本ではあるが、コマンドラインからだと rails myproject -d sqlite3 で済むんだから、IDEにもオプションあってもおかしくないよな。
>>775 776の言う通り、オプション指定できないのかな、と
最初からlinuxの仮想環境作って emacsやvimでやりゃいいのに rails使うモチベーションがあるのに window使ってたりとかIDEで開発してる人の気持ちは俺にはわからん
(´・ω・`)帳票はやはりRoRには向かないのでしょうか?
>>779 なぜそう思うかを 400字以内で述べよ。
>>778 linuxの上でも eclipseで開発しているやつなんてごまんといる。
別に何つかったってかまわないさ。
などという俺はwindowsの上に cygwin + meadow という変態だが、
同じ環境を他人に勧めようとはおもわん。この環境がなじむやつは、
すすめる前に自分で普通に使ってるはずだから。
>>780 帳票ツール何つかってますか?ってレスが0だったので。。。
Excelで帳票出力、以前やってみよーと思って調べたことがあるんだけど、 ruby ole32 →Linuxで動かないんじゃね? spreadsheet-excel →んー。難しい制御できるのかなぁ ActiveWebService+Office XP Web Services Toolkit 2.0 →SOAPよりRESTでやりたいなぁ。 で、結局、帳票出力自体めんどくなってやめちゃった。 なんだかお仕事ライク過ぎる処理を遊びで書くのがアレになってしまtって でも、お仕事でRailsつかうならいい帳票出力探したいところだねぇ。PDFとかExcel(OpenOffice含)とか。 なんかないのかしら。
"Ajax on Rails"って本ってどーですか? Rubyクックブックの評判が悪かったのでオライリーの本ってどうなのかなぁ?と。
オライリーは中身でなく見た目で買ってる。(ダメすぎ) 本棚にオライリーが並んでるだけで賢そうに見えるじゃない? そういう意味では、Ajax on Railsも買い。自分的には。
主キーが2つ以上ある場合、set_primary_keyで複数のキーを指定する書き方ってどうするの
railsは複合キーをサポートしてないと思うけど
Railsで2時間でつくったプログラムを サーバに設置するのに3時間苦労してる俺
2回目以降が10分になればそれでいいんだよ そのためのrubyとrailsだ
ブログっぽいモデル構造で1対多の関連付けを行ってる部分があるんだけど、 例えば親メッセージをblog、子メッセージをpostとした場合に blog.posts とすれば親メッセージにぶら下がってる子メッセージが取れる筈だし、 実際にそれで動いている。 ところが、投稿されているメッセージ全件を対象とした集計処理を行った後だと、 blog に posts というメソッドが見つからないというエラーが出るorz ちなみに件数は、blogが15件、postが600件ほど。 いったい内部では何が起こってしまったの?
とりあえずどんな集計処理か書いて見なきゃ分かるわけないだろ、ぼけ
794 :
784 :2007/08/02(木) 14:15:43 ID:XVAHEfru
Rails→XMLデータ+JasperReportのテンプレート→XmlJasperInterface→ PDF出力 できましたっ
おめ
>>796 今の年収1200万のやつは600万+ストックオプションでは雇えないという部分は同意。
無茶いうやつ多いんだよな。世の中。
>デュアルディスプレイはもちろん、望むならトリプルディスプレイでもいいですよ わろす
800 :
nobodyさん :2007/08/06(月) 02:35:26 ID:rJNbR9IR
米の開発者は 1000万あたりまえだが、日本の開発者は 400 万くらいがあたりまえ。 1200 万オーバーの開発者って日本にいるのか? 普通にいい技術者程外資にながれる。 なぜなら、外資で開発者として生き残ってるやつらは首にできない根幹の技術をもってる やつなんだから、ある意味スーパーエンジニア。 わけのわからんベンチャーに来るとも思えん。 ベンチャーならベンチャーらしく、普通に300万くらいで派遣素人をプログラマとしてこき使うのがbest だろ。 4人雇っても 1200 万だし。ちなみに外資のスーパーエンジニアクラスは言語作ったりするレベルだからな。 >(2)PerlとJavaでWeb+DBアプリの開発経験はあるけど、RubyもRailsもまったく経験がない。 内でせいぜい 500、営業もこなすか独立してるなら 7〜800 ってとこだろう。 >(1)Rails+Ajaxでの開発経験が2年のそれなりに優秀な(年収800万円クラスの)エンジニア WEB系の一部でしか需要なさそうだが、年収800万いくのか?? WEB系って安いイメージあるんだが、独立なら800は普通にいくんだろうが。。社員だとどうなの?
まぁなんというか、的外しすぎでどこをつっこめばいいのやら
803 :
nobodyさん :2007/08/06(月) 17:01:32 ID:1GC8ybwi
Javaが終ってRubyの時代が来ただけだろ。
>>803 終わっては居ないけど
大規模→Java
小規模→RoR
って感じで
適材適所って感じじゃないのかなぁ
もう終わりかけだね。 まぁ、C++→JavaがJava→Rubyになっただけだし、そのうちRubyも終わるよ
807 :
nobodyさん :2007/08/06(月) 23:05:53 ID:rJNbR9IR
Ruby なんぞ誰がつかってんだ? gomi
つこてるよ
使ってます。月給100万。
ここのひとでRubyでGTK+つかってるひとってどのくらいいますか?
オレは月給60万・・・もっとがんばろう
いろいろ質問。お仕事 on Rails 何時間残業してその月給ですか?100万x(12+3+3)で年収1800万 !? Railsは生産性が高いから9-5時の定時間勤務で毎日飲みに行ってるぜ!とか、 もちろんフルタイムのRails仕事(純粋な開発仕事)でなく、 実はマネージメントや企画や営業も含んでですよ、実は経営者とか、フリーランスだとか、 単なる社員プログラマーだけど他の作業をしたり遊んだりして高給取りさ、とか Railsだけど何故かデスマで会社に居る残業代で稼いでるだけとか、そんな例をプリーズ。 あと、RubyやRailsの習得は会社の時間を使ってですか? 家に帰って自分の時間で楽しんで?あるいは仕方なく個人の時間を犠牲にして習得とか。 自分は所謂Web+DB屋ではない製造業勤務(そうさベンチャーや外資と比べると薄給だよ) こっそり会社の時間を使ったり、家に帰ってRailsで遊び始めた所。 多分これで飯を食う事にはならない、はず。 単なるホビーユーザ。
ホビーユーザーがそんなこと気にしても仕方ないだろ。 どっかいけ
>>813 今は単なるホビーユーザ。この業界は楽しくてお金もそこそこもらえる業界なのかよ?って質問。
多分幻想だと思ってるけど。
どっかいけ というだけならスルーしてくれ。
月給42+20、賞与3+3+α(1〜2)、ちょっとデスマぎみかも (残業80h/月)
月給100賞与無し、ストックオプション有。残業15−30h/月。 基本開発のみ、たまに企画とかデザインとのやりとりに顔出す程度。 たぶん忙しくなければ、月に3日くらいは休みが取れる。 なんか今は月120てとこもあるみたいです。
忙しい時は一週間缶詰
>>812 フリーランスですよ。もう結構歳なので集中力はそんなに続かない。
せいぜい長くて一日5時間くらい、あとは自転車に乗ったり、本を読んだり。
勿論土日は完全に休む。
最近はRailsの仕事も増えてきてるけど、その他だいたいRubyで仕事は受けてる。
これで月にならすと、月収100万円ちょい越えるくらい。
残業、休出はまったく無いけど、Rails以外にもC, Java, PHPなどなどで50位かなあ。 webprogっていうか、PHPの拡張書いたり、マルチプラットフォームなCライブラリ書かされたりすることも。 たぶん、yaccがあれば言語は作れる...と思う。<-- スーパーエンジニア認定OK?
ナットを製造する工場のライン監視で、 家に帰ってReilsで遊ぶ感じ。 残業無し。月18万でボーナスも無し。一番上の子は定時制通学中。
試しにぐぐったら、先生に言われた・・・ もしかして: Rails
CodeGearのRuby on Railsの開発環境についての情報が公開されたよ、期間限定で。 htp://dn.codegear.com/jp/article/36763
>>823 見てみたけど、ぜんぜんツールの実態が伝わってこない・・・
ほんとにリリースできるのかね
イメージとしてはRadRails+InstantRailsな感じ?
どうせ有料だろうからわざわざ使いたいとも思わんなぁ
>>812 わかったろ?そんなこと聞いても1つとしてまともなレスがついてこないことに。
rxmlを使うと日本語が実体参照(例えば「日本語」が「???」)になるんだけど どう折り合いつけてる? 自分の場合はRSSを出すときにrxml使ってるけど特に苦情ないのでそのままです。
あ。そのまま書くとダメなのね 「日本語」が「&#26085;&#26412;&#35486;」になると書きたかった
XMLパーサ使ってる限りは大丈夫だから、基本的には気にしない
829 :
nobodyさん :2007/08/19(日) 17:16:53 ID:/UHTN/w4
ActiveRecordのインスタンスメソッドでよく使いたい値があって、 インスタンス変数に格納しておきたいと思っています。 def initialize super @test = "よく使う値" end という風に書いたんですけど、なんか、この initializeメソッドがうまく呼ばれてないようです。 どういう風にかくべきでしょうか?
$ rails -q -d sqlite3 test $ cd test $ ./script/generate model article $ rake db:migrate $ vi app/models/article.rb class Article < ActiveRecord::Base def initialize super @test = "hello" end attr_reader :test end $ ./script/console >> a = Article.new >> a.test => "hello"
idとnameからなる単純なテーブルをselectで選択でき 候補にない場合はtextでその場で登録出来るようなヘルパーってないですか?
無いんじゃないかなぁ。 DBへの登録も絡むからヘルパーだけじゃ難しそうだけど
DB登録時にコントローラのメソッドが必要なのは理解できます ヘルパー込みのプラグインという意味でした ajaxリクエストで項目の新規登録自体は間単に出来そうだけど 追加された項目をselectの一覧へ反映させるのが面倒だなぁと・・・
form_remote_tagあたりでdivをまるごと書き換えてあげれば簡単
仮にそういうプラグインがあったとしても、 自分で実装するのと手間は変わらんような気がする
>>829 after initializeすればいいと思うよ。
インタンスが作られた後に呼ばれるフィルタ。
rake db:migrate って、development環境・test環境・production環境それぞれについて実行しなくてはいけない? > rake db:migrate > RAILS_ENV=test rake db:migrate > RAILS_ENV=product rake db:migrate と3回入力するのがめんどくさいです。
testは勝手にdb:schema:loadしてくれるし、 productionはcap使えば勝手にやってくれるような気がするな。
839 :
768 :2007/08/28(火) 23:44:04 ID:q0v5wzWp
rake db:migrateの時に、同時に初期データを放り込もうとして、 create_table :hogehoges do |t| t.column "hoge1" t.column "hoge2" 〜 end の後に、 Hogehoge.new do |d| d.hoge1 = "1", d.hoge2 = "2", 〜 d.save end ってやってるんだけど、なぜか、一番始めに挿入しようとしたデータが、 nullになってしまいます。 で、この場合だと, Hogehoge.new do |d| d.hoge1 = "1", d.hoge1 = "1", d.hoge2 = "2", 〜 d.save end だと、正常にデータが挿入されます。 なんで? バグ? ひょっとしたら、hogehoge.idにも、なんか入れてあげないとダメなんでしょうか?
840 :
768 :2007/08/28(火) 23:45:21 ID:q0v5wzWp
「正常に」は正確じゃないですね。 「hoge1に、期待通りの値が挿入できる」でした。
create_tableのあと、 Hogehoge.reset_column_information かな。
>>838 capってCapistranoのこと?
そうだとして、Ruby on Railsではdeployツールを使うのはもはや必須なのでしょうか。
capはcapistranoのコマンド名だな。
844 :
839 :2007/08/30(木) 00:02:58 ID:d7W1s8GH
>>841 > create_tableのあと、
> Hogehoge.reset_column_information
手元ではダメでした...
MySQL 4.1.22なんですが、他に同様のことをやっていて、
成功している方/失敗している方って、いらっしゃいませんか?
Ruby on RailsにはJava2EEと同じニオイを感じるな。 目立って「Railsなんか使うな」っていう記事は見当たらず、 「Railsサイコー」っていうのはよく見かけるのに、 なぜか実際に使った人は「やめたほうがいい」と言ってる。 「RailsのベストプラクティスはRailsを使わないこと」という名言もあった。 なんか、古き悪しきJava2EEと同じニオイがする。
java の人たちが必死に FUD してるのがチョーウケル
848 :
839 :2007/08/30(木) 06:23:26 ID:RvO+FsVk
acts_as_searchableで、dbのフィールドと、public下の静的htmlの、 両方を同時に検索対象にするには、どうしたらいいでしょうか。
>>845 そんなことを言ってるページのURL紹介しる!
つーか、J2EEってそんなに駄目なのか。
railsで別タスクでの遅延処理をさせたいんだけど、何か方法はあるかな? 目的は、記事投稿をトリガにメールを一斉配信するときの 配信タスクと投稿のインスタンスの動作とを別にしたい。 記事投稿を受けたインスタンスから直接配信すると時間がかかってしまって ユーザがひたすら待たされる可能性がある。 そこで、投稿処理インスタンス内では配信要求をキューに置くだけにして、 別インスタンスで動く配信タスクがキューを見てメールを配信するようにしたい。
キューのデータ構造があるなら簡単にRailsと別のプロセスにすればいいだけでは? Railsでやる意味は? ActionMailer って ActiveRecord ほど便利ってわけじゃないし。 Railsの外にはメーリングリストマネージャという便利なものもある バウンスの処理とか面倒でしょ。
配信タスク(キュー)があるかどうかを調べてあれば配信する rake書いてcronで一定時間毎に起動させるとかでいいんじゃないのかしら
>852-853 トン railsから直接メール配信は控えたほうがいいのかねぇ。 railsでやるのは、暫定的には全員に対して無条件に配信するけど、 そのうち配信対象者を絞り込んだり配信条件をユーザ別に設定したいからなんだ。 キューに置く内容は出来るだけ簡単にして、配信時に制御するつもりだった。
railsでやるかどうかというか、 別にユーザからのリクエストありきでしかrailsが使えないわけじゃなく コマンドラインからでもrails環境やARとAMだけ単体ロードとかできるし DBに配信条件突っ込んどきゃいいじゃない
forkでもスレッドでもかまわないような気がするが、 Backgroundrbというのもあるな。
あー、それそれ、それで見たのだった。
なんか、もう一回
>>851 を読んでみたら
最初っからBackgrounDRbとかWeb+DBの連載って
言わせようとしてたんじゃないか、中の人?なんてふと思った。けど
>>854 か。
自分じゃ使った事ないけど連載は参考になった。読むのお勧め。
gearmanという手も。
すみませんが、質問です。 作成中のある入力画面で、必須でないファイルアップロードがあるのですが、 アップロードが行われなかったとき(ユーザがファイル名を入力しなかったと き)、サーバ側では受信したファイルの内容を確認しないようにしたいのです。 ということで、アップロードの有無の判別方法を教えていただけないでしょう か?今のやり方は、受信したオブジェクトの型などを調べて、 有 無 IE .... Tempfile StringIO Firefox StringIO StringIO (ただしStringIO#string が""になる) Opera Tempfile ""(空文字列) 以上の挙動から、現在は、 if @picture.kind_of? Tempfile or (@picture.kind_of? StringIO and @picture.string != "") としていますが、さすがにあまり綺麗でないと思います。
>856-860 トン BackgrounDRbがそのままズバリですね。 >861 @picture,length を見たんじゃあかんの?
863 :
861 :2007/08/31(金) 17:14:08 ID:???
>>862 > @picture,length を見たんじゃあかんの?
かなりいいかもしれません。
@picture.length だと、不正アクセスで @picture に文字列がセットされた場
合もチェックを通ってしまいますが、それは後段で処理すれば何とかなりそう
です。
ちなみに今は、
if @picture.respond_to?(:original_filename) and @picture.original_filename != ""
というのを試していました。これも動作は正しいですが、長いですね。
>>850 そこでいわれている
「名言」の出所はどこなんだろう。
脳内か?
FUD にかまうやつはばかです。w
確かに最近の煽り方は初心者でもできそうな勢いだものな。 俺も一人案件かできるパートナーと組んだとき意外は使いたいと思わん
まだまともなスキル持ったやつがいないんだろ 自分も他人のこと言えないけど
>>866 FUD乙。
コメントに主自身で
> Railsの何かが駄目だったとか、Railsの使い方を間違えたとかではなくて、
> Railsだからといってシステム開発全体の敷居が下がるわけではないですよということです。
っつー、至極当たり前のこと書いてあるじゃねーか。
Javaで勘違いしたままのやつが、そのままRubyに流れてるのかなw
どの案件にも当てはまる事で Railsに限った事じゃないんじゃないかって 思っちゃうけどね 本番サーバーの問題以外は
Apache+mongrel(cluster)で良いんじゃないの?
それでいいんだけど、
>>739 の問題と、あと運用面かなあ
共用サーバ視野に入れるのは勘弁してよw
ちょっとした実験コードを書いていて、Valueという超テキトーな名前のモデルを造ったら、 マイグレーションでコケた。 -- create_table(:values) rake aborted! SQLite3::SQLException: near "values": syntax error: CREATE TABLE values ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "created_at" datetime DEFAULT NULL, "updated_at" datetime DEFAULT NULL) なんでかなー、と思ったら、valuesってSQLの予約語じゃん。
テーブル名に予約語使えない事もないんだけどな activerecordで生成するSQLでは ほぼ全て識別子はクォートされてるのに schema_statements系のテーブル名のとこはクォートされてないな なんでされてないんだろう 面倒な事にならないようあえてしてないんだろうか
rails pluginのgetTextなんだけど test_model.rb のクラス名(テーブル名)を日本語化しようとしてもidの指定の仕方が悪いのか うまく日本語化できず困ってます。 test model TestModel とか・・・ poファイルの情報も少なくて行き詰っているんですが ご存知の方助けてください ちなみにカラム名はidを TestModel | test row とかで問題なく日本語化でき、クラスも_で区切っていないものは 正常に日本語かできてます。
どういうシチュエーションで困ってるのかな? 単にモデル名の日本語化というだけなら、うちの環境では"test model"でうまくいってるけど
poファイルのことなら、たぶんinfo gettextが一番詳しい
880 :
877 :2007/09/05(水) 18:05:15 ID:???
poファイルはこんな感じです。 #: app/models/test_model.rb:- msgid "test model" msgstr "テストモデル" #: app/models/test_model.rb:- msgid "TestModel|test name" msgstr "テスト名" カラム名は日本語化されますがモデル名がうまく日本語化されないんです。 バリデーションのエラーメッセージで表示する場合です。
このケースだとうちではうまくいってるけど。 <%= error_messages_for 'model_test' %>
>>882 パスとかの構成はどんな感じでインストールされるの?
試そうと思って@example.comなアドレス入れたらメールに情報を送ったってorz
さあ・・・上書きされたら嫌なので試してない
railsってかrubyってプログラミング楽しむことばかりに目が行って 成果物を使う楽しみが無いよね
使う楽しみがあるものを作れてないからだな、自戒しよう
887 :
nobodyさん :2007/09/12(水) 00:32:29 ID:NdcxIT65
コントローラ間でredirect_toを使用した場合に 値を受け渡す良い方法はありますか?
sessionかflash
便乗で申し訳ありませんが、redirect_toした先でredirect_toしてると、 flashが反映されないようなので、もう一度設定してみると表示されるように なったのですが、これはこういうものですか? どこかに明記されてますでしょうか? class AccountController < ApplicationController #..... def index flash[:notice] = flash[:notice] if User.count == 0 redirect_to(:action => 'signup') elsif logged_in? redirect_to(:controller => 'logs') else redirect_to(:action => 'login') end end #..... $ rails --version Rails 1.2.3 Agile Web Development with Rails Second Editionも持っています。
>>889 反映されないも何も1回こっきりのメッセージ伝達のためのもんだろうflashは
891 :
nobodyさん :2007/09/14(金) 11:05:51 ID:VbOodNQ1
rails.elでcontrollerからviewにジャンプする方法はないのでしょうか?
対象メソッドにカーソル置いて C + c ↑
893 :
nobodyさん :2007/09/15(土) 00:37:09 ID:8+kowwgO
ログのローテーションについてですが、 Windows2003Sever上で動いているrailsのログをローテーションするにはどうすべきでしょう? linuxならlogrotateらしいんですが。 DrbLogger? apache/mongrelで動かしてるんですが、ログファイルってmongrelが掴んで 外からはファイルのリネームとかってできないような気がするんですけど。 win系のサーバを本番で使っちゃだめ?
Logger.newの引数でローテート指定するのじゃ駄目なの? (複数インスタンスでやるとたまにシフトに失敗するが)
895 :
nobodyさん :2007/09/15(土) 01:03:00 ID:8+kowwgO
複数インスタンスというのがイマイチ理解が怪しくて。 それがLoggerオブジェクトのインスタンスと考えるとリクエスト毎にインスタンスが 生成されるわけだから駄目なのかなとか思ったりしてます。 間違ってますかね?
>>895 mongrel_clusterとかでバックエンドのrailsアプリを複数プロセス走らせ
てると、それぞれが1つのファイルをローテートしようとして、失敗する
ことがある、みたいな話。
インスタンスてのはここではアプリケーションプロセスのことだな。
3rdRailて、第3軌道の意味とかけてるのか。
軌条だた。
901 :
nobodyさん :2007/09/15(土) 23:40:33 ID:TVo97AxG
>>894 、896
なるほど。
それなら大丈夫そうです。
ありがとうございます。
902 :
nobodyさん :2007/09/18(火) 12:10:58 ID:7uftnMIF
安いじゃん。買おうかな
Ext pluginに一目惚れしたんですが、javascriptは使ったことないです。 この機会にと思っていろいろ調べてみたら、 手続き型みたいなオブジェクト指向っぽくってうまく飲み込めません。 javascript をガリガリ書くのではなく、利用するための知識を手に入れたいのですが、 おすすめの本やサイトはありませんか?
ActiveRecordに一目惚れしたんですが、SQLは使ったことないです。 この機会にと思っていろいろ調べてみたら、 手続き型みたいなオブジェクト指向っぽくってうまく飲み込めません。 SQLをガリガリ書くのではなく、利用するための知識を手に入れたいのですが、 おすすめの本やサイトはありませんか? >スレチ
なんとなくbeta gemを入れて遊んでみた。(r7116相当) 初見で目に付いた変化。 ・actionwebserviceがオプションになった。 ・activeresourceに依存するようになった。 ・componentsディレクトリがなくなった。 ・config/environment.rbに書いていた初期化コードはconfig/initializers/*.rb として任意の名前で置けるようになった。(inflectionsなんかもここへ移動) ・scaffoldジェネレータで作られるコードがRESTfulになった。 (scaffold_resouce が scaffold を乗っ取った?) ・ERbテンプレートファイルの拡張子が .html.erb になった。 ・AR::Base#inspectが属性値のみになり、見やすくなった(と思う)。 User.find(1) => #<User id: 1, login: "Hoge", password: "$1$lhxzTjIM$7Og1d27kMIaItxfsXB3mca", created_at: "2007-09-19 22:14:48", updated_at: "2007-09-19 22:33:07", active: true> ・Migrationにsexy_migrationプラグイン風のメソッドが追加されている。 create_table... do |t| t.integer :user_id t.string :name : end ・Paginationはwill_paginateプラグインで。(従来のコードはclassic_paginationプラグインでカバー) @articles = Article.paginate_by_topic_id(@topic.id, :page => params[:page]) or @articles = @topic.articles.paginate(:page => params[:page]) find_xxの代わりにpaginate_xxメソッドを使う感じ。 <%= will_paginate @articles %> さて、CHANGELOGを熟読するか。
>>908 乙です。
けっこうかわってんなー・・・
r7493相当のも出てるわね。
じゃぁおれはそろそろJRubyで動かしてみるかな。 JR on railsっていうと旧国鉄みたいだな。
912 :
nobodyさん :2007/09/24(月) 21:00:06 ID:HMQ03/cj
RoR初心者どころか全く何も知らない人です。
これまでのRoRは、低速だったとPerlもRubyも使って現役バリバリな人が言ってました。
これは詳しく言うとどういうことなんですか。
ちなみに、その人はもういないので聞けません。
自分で調べたところ、
「Ruby 1.9は1.8より平均5倍速い」、YARV笹田氏 − @IT
http://www.atmarkit.co.jp/news/200709/07/yarv.html という記事を見つけました。
これを読んで「へー、Rubyってどんどんすごくなるんだね」と言いたくなりますが、
そうではなくて、「これまでが遅かっただけだ」なんてことなんすかね?
どう思います?
sedはフィルタだった。awkは何でも出来た。 Perlは糊だった。JAVAはOSだった。PHPはお手軽だった。 RubyはPerlだったがJAVAになろうとしている。 便利なナイフは最終的に核爆弾になろうとして本末転倒と化す。
914 :
912 :2007/09/24(月) 21:56:24 ID:HMQ03/cj
>>913 えっと、ありがとうございます。
で、結局「Rubyが遅かった」というのはどういうことですか?
これまでは、RoRは高速に制作できると聞いていたので、
"Ruby is slow"
の声を聞いてから気になって仕方ありません。
これは釣りとか荒らしではなく、実話です。
知り合いの知り合いのコーダーが言ってました。
そこで、個人的な推論によると、
「制作は高速だが、動作は遅い」
という意味なのかな、いやそうとしか考えられんだろ、
と判断しました。
だから、この推論は正しいのか確かめたく質問させていただきました。
その遅さを現在のハードウェアの発達でカバーするのがRuby流
916 :
839 :2007/09/24(月) 22:26:24 ID:OQ2+NhNm
rubyの実行速度は遅い。 railsでのプロジェクトの制作は速い。 おk?
917 :
912 :2007/09/24(月) 22:39:25 ID:HMQ03/cj
3ヶ月前関数型になったけどなんかめんどいってことで元に戻ったよ
919 :
nobodyさん :2007/09/24(月) 23:05:22 ID:HMQ03/cj
>>918 そうなのですか。
自分なりに「Ruby 関数型」などでググってみたのですが、
関数型を取り入れるとかまだ取り入れてないだとか、そこらへんの記述がどうも要領を得なくて
結局どうなの?と思ったんです。
関数型は便利で、怠惰な人こそ関数型を、という人もいますが、
その代償しての少しばかりの面倒さも嫌うんですね。
それはRubyの哲学ですかね。
920 :
913 :2007/09/24(月) 23:07:10 ID:???
そうやって目的(実現可能性)から乖離するわけで。
人伝の情報や上辺だけの情報だけで 言語の良し悪しや物事を簡単に判断すんなよ 本当に何も知らないんだったらその比較しようとする言語を 片っ端から全部自分でちょっとずつ使って見りゃいいだろうが 自分で使う気もなく誰かに使わせるために聞いてるなら即刻帰れ 関数型関数型っていってるけど あんた関数型言語の何が良くて何が悪いか 本当に理解した上で選択しようとしてんのか? rubyはlisp大好き人間が作った言語だよ参考までに
922 :
nobodyさん :2007/09/24(月) 23:48:39 ID:HMQ03/cj
>>920 はあそうなのですか。
個人的にはRubyには将来性が満載だと考えているのですが、貴方は否定的なのですね。
私は、Rubyの制作速度のおかげでコードベースがすごい速度で蓄積されており、
ノウハウやコーディングスタイルも技術者間で共有されてきているのが非常にすばらしいと思っています。
もちろん、私が調査した範囲で下した判断ですが。
いかがお考えになりますか?
923 :
nobodyさん :2007/09/24(月) 23:55:21 ID:HMQ03/cj
>>921 ちょっとオフザケが過ぎたようですみませんね。
軽々しい発言があったことを反省し、以降慎みたいと思います。
ちょっとずつ使っているかと問われれば、使っていないのですが、
でも使う気ではいます。
今は、c,c++,javascript,perl,java,rubyの学習をやっていますが、
関数型までは手を出せない状態です。
lisp大好き人間なのですか。それはいいことを聞きました。
本当に理解したうえで判断したいです。
うわっつらの教条主義や流行や伝聞に流されて、痛い目を見たくはありません。
流行に乗って群れて楽しもうとしているのではなく、
本当に何が正しいのかを自分の目で見極めたいと考えています。
私は真剣です。
そこで、先輩方の意見もまた1つの参考にと考えています。
意見には正しいものもそうでないものもあるかもしれませんが、
私としましては、それらは真実を知るためのきっかけに過ぎぬと考えます。
924 :
nobodyさん :2007/09/25(火) 00:01:31 ID:OOv8Weab
>自分で使う気もなく誰かに使わせるために聞いてるなら即刻帰れ あっ、私はしがない学生です。人を使うだなんてそんな。
925 :
913 :2007/09/25(火) 00:09:18 ID:???
表現がネガティブだったのは事実。特に否定はして無いよ。 WebObjectsを極めればRoRやJBOSSがオモチャだと気付くだろうけどね。 WOは良くも悪くもJAVAで書かれてるし、RoRよりマシ。しかし、これはWebAPに限定した話題。 IDEの話題はまた別ね。XcodeとEclipse、RoRをCLIで利用するのは同列で語っても意味が無い。 フレームワークの話題と処理言語の話題を同じ土俵で語るから 答える側が混乱する典型じゃね? RailsがPHPやPerlで動いたら、とか、考えたこと無いの?
926 :
913 :2007/09/25(火) 00:19:48 ID:???
追伸。 目的と手段は分けて考えた方が良い。 命題として、「iTunes Music Store、または同等のシステムを構築する」という場合、 今のRailsで構築しようと考えるヤツは居ないだろ? もっと小規模でイージーなものなら充分かもしれないが、ケースバイケースだよ。 制作(プロジェクトの分析、設計、開発、運用、と勝手に定義するけど)全てを考え、 マクロ視点で見た場合、Railsはまだ未熟。 しかし、JAVA最強、WO最強というわけでもない。 枯れた技術と実績を、成長過程の品と比較しても仕方ないと思うよ。
>>925 PHPのはあるね、cakephpとかいうのがRoRまんま。
cakephpで作られた本番稼動してる奴を
ざっと仕事で見たんだけど、ここまでまんまなら
最初からRubyでRoRでいいじゃんってのが感想。
レンサバとかでRubyが動かないとか、
Rubyわかる奴が居ないとか
そういう事情がある場合限定だなあ。
そう思わせるだけの魅力はあるよ、Rubyには。
流行だから、とかいう理由も含めて。
928 :
nobodyさん :2007/09/25(火) 03:24:44 ID:E3zFeaTC
>>928 それの元記事の"#6 - I LOVE SQL"のところが違和感感じるんだがな。
俺のRailsアプリ、SQLコテコテに書きまくってるよw
railsライクなphpフレームワークも一緒なのかな
>>927 cakePHP使ったことないでしょ?
完成度はRailsの足元にも及ばないよ。
>>931 うん、ソースを見ただけ。
それと公式サイトを見たんだけど
まんまRailsじゃんって思った。
完成度って、具体的にどんなところ?
あ、ソースってcakephpのじゃなくて、 本番稼働中のアプリのソースです。
>>931 じゃないけど、俺もphpからrubyにスイッチしたクチだけど
cakeはO/RマッパもAR程融通利かないし作りは結構dirtyだし
cake自身のだめな部分もあるけど、それよかphpのFWがだめというよりも
rubyの純粋なOOとかブロック(クロージャ)とかオープンクラスとか
そういうのに慣れてくるとやっぱphpの言語としての表現力が
rubyと比べて弱いのでphpのFW使う以上
phpで書かないといけないというののが辛くなる
同様にrailsもrailsが素晴らしい部分もいっぱいあるけど、rubyありきかなと
頭の中にあるものをサクっとコンパクトなコードに収めやすいというか
rubyで書きたいというのがまずあって、
じゃあFWはrailsがあるからrailsを使う、という感じ
確かに慣れてくると、RailsというよりRubyの生産性を実感するね
作りがダーティかどうか、と言う視点なら、ActiveRecordもだいぶ汚いと思うが... なぜあれでうまく動くのかちょっと不思議なくらい。 リフレクション使いまくりで実行されているコードがどこにあるか判然としないとか、 規約決め打ちで、それ以外の使いかたを想定していない場合もあるとか、 まぁそういうところ。 ただ、まぁリフレクション乱発や規約の決め打ちがActiveRecordの強力さの理由の一つ のような気もするし、むずかしいところ。
まあ確かにassociationsの中とか読む気失せるw リフレクションがどれくらいパフォーマンスに影響与えているのかは気になる あとこれはちょっと別の話になるけど、最近よく思うのが 大規模サービスのスケーラビリティについてのプレゼンテーションで 「JOINしない」「アプリ側でJOINする」っていう概要の話をよく見かける事が多い データが多くなればなる程JOINのコストが上がっていくって事だと思うんだけど どこまでJOINするしないっていう議論はまあ別として スケールしていく事を想定して作るならassociations関連をあまり使わずに (無理にJOINして1クエリに収めようとせず)シンプルにクエリを分割して アプリ側でごにょごにょする傾向で作っていった方が実はスケールしやすいんだろうか? associationsが簡単にリレーションのクエリを吐いてくれるのはいいけど、 eager loadingやらで多くのテーブルを多段にデータを引っ張ろうとして バンバンJOINしまくっていくのはあまり良くないのだろうかとか ま、そんな大規模になるようなサービスは作ってないけどw
SQL上で効率よくJOINするのは疲れるんだよね。 単純にJOINするだけなら簡単なんだけど、 ウェブでそれを見る場合、画面に見えているデータは数10件程度でしょ? じゃあJOINする前に絞り込めばいいじゃんってことなんだけど、 そうするとサブクエリーになってしまう。それがいくつも重なるとね。 数10件程度ならSQL数十件発行(INを使えば減らスコともできる)してもたいして変わらない。 (主キーやそれに相当するインデックスされた情報を知っていることが前提) 全データの統計を取るとかバッチ的で実行回数は少ないがその際のデータの アクセス量が多い場合はJOINの方がいいかもしれないけど、ウェブアプリだと クライアントから要求されて返すデータってのは少ない。 そして色んなサービスが組み合わさると取得するデータが複雑になる。 (つまりJOINするテーブルが沢山) こうなるととてもJOINで効率よく検索するってのはやってられなくなる。 と大規模なサービスを作ったことがない人間がえらそうに言うw
939 :
ビル・ジョブス :2007/09/25(火) 20:56:59 ID:nT7AmTiD
scaffoldって排他制御とか複数からのアクセスに対応してないけどこれがあるのとないのじゃやっぱり違うよな・・ お勉強にもなるし>< ちなみにviewクラスのインスタンスってlink_toとかactionのたびにnewされるんだよね。 でもページを表示中はそのクラス変数にアクセスできるからparams[]でメソッドに渡しredirect_toでまたページに戻すのが一般的かな? まさか$xxxやsessionってわけにもいかないしね。 ただform_tagだけはちょっと変な挙動を示して、action=>’xxx’の前に書かないとパラメータ付きURLを生成してくれないんですよ。 これには参りました。 url
X ちなみにviewクラスの ○ ちなみにcontrollerクラス
>939 formでパラメータを渡したいならhiddenを使えばいいじゃない
class ApplicationController < ActionController::Base helper :all protect_from_forgery end 何かと思ったら、CSRF対策(フォームに埋め込んだ情報を使うやつ)が 標準で行えるようになったようです。(r7639 gem)
そのリビジョンって本家にあるリポジトリとは別のもの? ちょっと実装を見てみたいんだけど
scaffold 【建】足場(を設ける); 絞首[断頭]台; (the 〜)死刑.
なぜか、killやabort(中絶という意味もある)というシステムコールを 改名したクリスチャン向けUNIXというネタっぽい話をかつて目にした のを思い出した。
948 :
nobodyさん :2007/09/28(金) 01:21:02 ID:yiqtXA9i
CakePHPで充分じゃん。なんでわざわざRubyに必死になるのかわからん。 Rubyもしばらく使ってみてたけど、そんなに大それたほど優秀じゃないなと判断。 趣味レベルで開発してるのならどちらでも関係ないのだろうけど、プロとして 業務で使う道具として選ぶのならWebprogはPHPにリソースを集中させて自分達の ノウハウを蓄積していく方が結果的には効率が良いと思ったよ。 今ではCakePHPみたいにRoRと比較しても使いやすいフレームワークも出てきてるしね。 CakePHPは1.2系が早くstableになってくれると、とても嬉しい。
PHPがスレチなのはいいとして、 処理言語としてのPHPのEOLが短すぎて、 フレームワーク以前の問題。 CakeもZendも優秀だけど、PHPがクソ。
宣伝お疲れ様
両方使った上でPHPのほうがいいってんなら良いと思うよ。 背伸びしないことも大事だ。 自分にあったレベルのツール使わないとね
自分も会社の利用言語(に限らずアーキテクチャ全般)を決める立場だけど、 「今」で言えば間違いなくPHPだと思う。 ただ、昔、Perlがメインで「PHP?趣味の言語だろ?」という状態だった時に PHPのノウハウを個人で貯めていたおかげで、今PHPでアドバンテージを出せてる かなーと思っているので、さらに先を見た時にRuby(RoR)のノウハウ貯めておく のは良いと判断してます。 (ただまあ単純にRuby(RoR)は書いてて楽しい、というのもあるけど。)
PHPがどのような利点を持ってるか具体的に書いてみなよ?
954 :
952 :2007/09/28(金) 15:46:43 ID:???
自分宛? PHPの利点は (1)エンジニアの数 (2)Apacheとの連携の容易さ (3)インストールベース ってとこだろうね。 自分的には(2)がもうちょっとなんとかならんかなーと思ってます。
apacheHTTPD との連携の容易さって具体的に何? 自然言語まで抽象化されても困るわけだが。
956 :
nobodyさん :2007/09/28(金) 16:59:38 ID:BVgGZfWO
rubyは書きやすくてモジュールもすぐにそろうからいいなと思ってたんだけど 文字列の処理に絶望したのでしばらくphpで我慢する
>>956 どのへんに絶望したか詳しくプリーズ。
今のところ絶望してないんだが、そんなにヤバいことがあるのか?
文字列の処理ならRubyの方がステキだと思うけど?
文字列のためのにRuby使ってるようなもんだなー
マカーがRUBYするとサイキョウ
Mac使うならWOあるでしょ。RoR使う理由は殆ど無いと思うが。
LeopardからはRoRが標準装備 WOはMacOS X Serverライセンスが必要。でしたよね? JRuby on Rails with WebObjectとかになるの?
PPCユーザなんで知らんのだけど、 DeveloperToolsというか、Xcode無しでRoR付いてる? WOはクライアント版OSXでも動くよ。 Xcodeにも1クライアント限定版のWOが付いてくるはず。 WOから見ると、JBOSSもRoRも道具の一つで、 RoRのプロダクトをWOで吸収する必要でも無きゃ、 RoRを使う理由は無いと思うよ。
>>963 LeopardからRoRが標準で付くというのはメーカーサイトにも
載ってる公知の事実だが、現行のTigerにはついてないので、
どういう形態で入ってくるかはわからんなぁ。
開発バージョンの内容についてはNDAだろうし。
ADCからディスク届いてるんだろうけど、興味なくて見てないや。
>>962 が言ってるのは10.4Serverってことかな?
確か素のOSX Serverはperlもgccも無いはずだから、
後から入れるんだろうと想像してるけど。
正直、OSXは面倒w
rubyってmb_系ないから文字列処理大変じゃないの? そりゃ速度きにしないってんならrailsのmultibyte使えばいいんだろうけど
utf8でいいじゃん
>>966 標準で簡単に変換できるライブラリあるよ
日本生まれの言語がマルチバイト使いにくかったら萎えるw
つうかPHPってRubyのGNU regex matz改を使ってなかった? 今も使ってるかは知らんけど。
phpはそうだね。鬼車入ってる。 railsでutf8じゃないと"うんこ".index('ん')のとき1が欲しいとき 困らない? phpはいちおう echo mb_strpos('うんこ', 'ん'); # 1 があるけど
jcodeはあんまり充実してるとは言い難い気がするなぁ。
>>971 の例だと
#require 'jcode'
#$KCODE = 'e'
puts 'うんこ'.split(//).index('ん') #=> 1
とか、あとやることによってはeach_charとenum_forを組み合わせるとか、
ちょっと回りくどい。
WOは最強ですよ ただ、運用環境を考えると。。う〜む PHPは。。いいんじゃない でも、私は、Ruby on Railsだな 理由聞かれても困るけど。。
Ruby使ってると、何がいいのか説明に困ることはよくあるよなw
ところで、MacOS X 10.5 LeoardにRailsが入るってことは、 いま、gemなりMacPortsなりで/opt/local等に入れてるのが、 Appleのビルド(というかパッケージングか)で/usrの下に入るというだけでなく、 XcodeでRailsプロジェクトがサポートされると思えばOK?
WO って長らくアップデートされていないけど セキュリティホールとか発見されていないの? バグフリーってこと?
978 :
nobodyさん :2007/09/30(日) 11:09:56 ID:UW8GIghY
>>973 運用考えると、WOもRoRもにたようなもんじゃないですか。
980 :
nobodyさん :2007/09/30(日) 11:36:25 ID:iNgSfj1c
>>979 本人がやるっていってんだからやらしとけば良いじゃん。
>>979 そのサイトトップをクリックするとエラーになる。
ご高説をたれながら自分の社会の窓が開いてるのに気づかないとは。
ダサ過ぎ(www
982 :
nobodyさん :2007/10/01(月) 12:37:48 ID:r8J2Zg9L
07/09/24まで挫折を知らないで生きてきた人なのかな? 口調が厨すぎる
この人の口の悪さに関しては今更じゃんw やることやってるから文句は言えん
984 :
nobodyさん :2007/10/02(火) 22:29:50 ID:snTRqJt9
>>978 >>973 ではないが、全然ちがいます。
運用という言葉の意味が違っているかもしれないけど、
コードメンテナンスという意味の運用フェーズの一部プロセスを指すなら
似たようなものになるかもしれませんが。
985 :
nobodyさん :2007/10/03(水) 01:25:43 ID:ww//DGK3
Ruby on Railsは本当に使えるのかっていうとはっきりいうとまだまだです。 Javaの数倍の開発効率と言われるが、早いのは、一つのテーブルにアクセスする 最低限の機能を実装するまでで、その後は、毎度おなじみの地味な作業が待っている。 おそらく、その辺はEclipseを使ってJavaで作った方が早い。 パフォーマンスについても、ちょっと表現は厳しいかも知れないが、 Javaでいうと、Appletで遊んでいた頃に近いかも。 つまり、遅い。 過度な期待をすると、とんでもないことになる。
>>987 つまりそれって、ショボいAP作るのにしか使えないってこと?
次スレたてちゃっていいかね
あれ、ム板に移動?