【Ruby】Ruby on Rails Part10
1 :
nobodyさん :
2010/08/28(土) 19:27:42 ID:Er5MNJZv
2 :
nobodyさん :2010/08/28(土) 19:28:30 ID:Er5MNJZv
3 :
nobodyさん :2010/08/28(土) 19:29:34 ID:Er5MNJZv
4 :
nobodyさん :2010/08/28(土) 22:10:04 ID:CFng4VGZ
このスレッドは天才チンパンジー「アイちゃん」が 言語訓練のために立てたものです。 アイと研究員とのやり取りに利用するスレッドなので、 関係者以外は書きこまないで下さい。 京都大学霊長類研究
なんか、会社ってところはどこもそうなのかも知れないけどさ 良い人から辞めちゃうよね んでもって、腹黒い人とか、他人を動とも思わない人とか、 図々しい人とか、・・・そんなのばかりがテコでも動かないぜって 感じで居座り続ける・・・ 会社って、こうやってダメになっていくんだと思う それはそのまんま居座り族・牛耳り族が社会をダメにしていくって ことなんだ。。。
俺が毎年1年持たずに転職してるのは 良い人だったからなのか 納得した
8 :
nobodyさん :2010/08/30(月) 00:53:19 ID:TZRClaqn
9 :
nobodyさん :2010/08/30(月) 09:06:26 ID:tKwAddbn
Rails3ではMySQLとSQLiteのどっちがお勧め?
11 :
Perl忍者 ◆M5ZWRnXOj6 :2010/08/30(月) 23:33:20 ID:TcIV82Mw
クソスレたてんなしね バカなやつってクックパッドで騒ぎたがるし 知り合いのweb土方が出てるからだろ(笑)
15 :
nobodyさん :2010/08/31(火) 03:49:48 ID:gZFbUk0b
16 :
nobodyさん :2010/08/31(火) 04:38:50 ID:OwNW4mML
17 :
nobodyさん :2010/08/31(火) 05:59:17 ID:e4mQfxJe
>電気代が20万円で すげー
19 :
nobodyさん :2010/08/31(火) 14:26:24 ID:ldlvvv3N
皆様へのお願い このスレッドは高次機能障害をもたらす 病理の臨床実験のために立てたものです。 被験者と研究員のやり取りに使うため、 書き込み等は自重されるようお願いいたします。 もし、書き込み等をすることで不愉快な思いをされましても、 当研究所は責を負いかねます。 (社)京都微生物研究所
22 :
nobodyさん :2010/08/31(火) 23:00:00 ID:W6lZg/GC
23 :
nobodyさん :2010/09/01(水) 08:30:32 ID:dygw2Ud8
24 :
nobodyさん :2010/09/01(水) 09:06:20 ID:edrny0Sb
twitter bot がほとんど使えなくなってる件
26 :
nobodyさん :2010/09/01(水) 10:49:46 ID:N9PzMBnd
スレチ
>>25 たしかTwitterのBasic認証死んだろ
>>20 Pukiwikiのデフォルトスキンdisてんの?
ここひといたのか
>>28 まあ、確かに色おかしいんだからしょうがないよね。
あとtDiaryもとてもダサいのなんとかして欲しい。ちゃんとデザイナ入れて
31 :
nobodyさん :2010/09/02(木) 02:27:42 ID:5S4XR/o/
railsでphpのvar_dumpみたいな感じでブラウザに出力して デバッグしたいんですが、こういうのってどうやればいいのでしょうか??
32 :
nobodyさん :2010/09/02(木) 02:47:19 ID:5S4XR/o/
すみません↑ですが、rails3です。 puts YAML::dump(@subdomain) みたいなのやっても、ログには出るのですが、ブラウザには出力されないようでした。 ご教示いただけると嬉しいです。
#{$!.inspect}
34 :
nobodyさん :2010/09/02(木) 08:50:27 ID:ntkZMuWm
<%= debug(variable) %>
35 :
33 :2010/09/02(木) 12:53:27 ID:5S4XR/o/
ありがとうございます。 これってviewオンリーでしょうか? controllerやmodelでこういうことができるようになりたいのですが、 どうすればよいでしょうか?
>>30 web 1.0のころのアプリのデフォルトデザインに文句言われてもw
>>35 logger.debug(obj.inspect)
とか、
require 'pp'しておいて、
logger.debug(obj.pretty_inspect)
loggerが使えないところなら、Rails.loggerでOK
悪い
>>36 はログには出るがブラウザにはでないな。
しかし、モデルから画面にログを吐こうと思えるのはなかなかの逸材だと思う
38 :
nobodyさん :2010/09/02(木) 21:50:44 ID:ntkZMuWm
debugはviewがエラーなく出力し終えられるときしか使えないね。 そうでないならあきらめてRails.loggerでがんばってくだされ。 自動refresh付きのページにテキストを吐き出すサーバアプリ(ajaxでも可) にdrb経由とかでログを送り付けるという方法もあると思うけど。
phpのdbugみたいなのがあれば確かに色々楽になるとは思う
rails3 を cgi で動かすにはどうしたらいいんでしょうか。 2.3 では rake rails:generate_dispatchers すれば cgi の実行ファイルが作成されたそうなのですが、rails3 では rake aborted! Don't know how to build task 'rails:generate_dispatchers' となります。どうぞよろしくお願いします。
CGIは非サポートになりました。
42 :
nobodyさん :2010/09/03(金) 12:15:59 ID:/bjCBdkD
>>35 >>36 この手の重要はあるとは思う。
growl入れてg使おうぜ
gem install g
> hoge = a
> g hoge
"g" is very useful
http://www.slideshare.net/jugyo/g-is-very-useful jugyo's g at master - GitHub
http://github.com/jugyo/g あとブラウザからログみれれば済む話なら、開発サーバーにtail -f log/development.rbをAJAXで表示するようななのをいれればいいと思う。
設置するだけでいいなら前に単一ファイルのphp拾ってきて設置したことある
そういうpluginが合ってもいいくらいだな。
こういうのは普通はターミナル見るからいらんのだが、
テスト用のstagingサーバーなんかで手動で動作確認したり、してらったりするときにちょっと確認できると便利
3.0ってメモリーの使用量減った?
増えてる
46 :
nobodyさん :2010/09/04(土) 13:22:39 ID:E/jZLyzJ
47 :
33 :2010/09/04(土) 16:27:35 ID:zV3mK5pq
レスありがとうございます。 うーんブラウザに出力するのって無いんですね。。なんでなんでしょう。需要あると思うんですが・・ ブラウザリロードするたびにコンソールに戻ってログみなければいけないのとか面倒ですよね・・ 昔いた会社で、コントローラの中からプリントデバッグするための関数を自作して実際使ってたんで 不可能ではないと思うんですよね。でもそのメソッドをどういう風に作ってたのかちゃんと見てなくて・・ とりあえず growl というのを試してみることにします。 ありがとうございましたー
48 :
33 :2010/09/04(土) 16:30:23 ID:zV3mK5pq
あ、すいませんあと一個分からないことがあったのでした。 rails3.0.0で、コントローラの中で request.subdomains などとやるとURIのサブドメイン部分の配列が返ってくるんですが、 これをconfig/routes.rbでやってみたら requestというメソッドが定義されていないようで、使えませんでした。 routes.rbでURIのサブドメインを取得したいのですが、何か方法ありましたら 教えていただけると嬉しいです。
reuters.rb
50 :
nobodyさん :2010/09/04(土) 18:00:45 ID:9IIK2PrX
まー、開発サーバーのログやtail -f log/development.logをターミナルで別のディスプレイに表示しとくくらいはやってるが、 更新と同時にブラウザで見たいというのはわからんでもない
エラーが起こらなかったときしか見れないものを エラーが起こったときのデバッグ情報出力先にすべきじゃないだろ
54 :
nobodyさん :2010/09/05(日) 05:30:34 ID:vgvIQOsF
馬鹿にはrorは無理。
56 :
nobodyさん :2010/09/06(月) 06:21:29 ID:ymZTH8r/
Ramazeはバージョン2009.04から,「ramaze」と「innate」という2つのライブラリに分割されました。
InnateはRamazeの機能のうち,Webフレームワークとして最低限必要な機能のみを抜き出したライブラリで,現在はRamazeのコアとして使用されています。
http://gihyo.jp/dev/serial/01/ruby/0011?page=2 Philosophy
The philosophy behind Innate is to provide a simple web framework that:
Stays below 2000 easily readable lines of code
Has Rack as the only dependency
http://github.com/manveru/innate require 'innate'
class Hi
include Innate::Node
map '/'
def index
"Hello, World!"
end
end
Innate.start :adapter => :mongrel
おー、ついに Mongrel2きたか でもPassengerのがいいな
Mongrel2はCommon LispかHaskellで使われそう
60 :
nobodyさん :2010/09/06(月) 21:44:56 ID:Rr9vmpq+
>>57 common lispってことは継続受け渡しスタイルで書けるのかな。
61 :
47 :2010/09/07(火) 00:38:56 ID:iHodXXqj
レスありがとうございます。
tail -f logs/development.log
は知っておりました。
ブラウザ更新したあとtailのコンソールにもどるのがめんどくさくて・・
ブラウザ上でインスペクタ的に使えるものがやっぱり欲しいところです。
あとすみません、教えていただいた
http://guides.rubyonrails.org/routing.html#request-based-constraints についてですが、自分のやりたいことが、
subdomain = request.subdomain.first
if subdomain == "admin"
root :to => '/admin'
else
root :to => '/'
end
的なことなのですが、
ここで説明されていたconstraintsを使って
上記のようなルーティングを実現させるようにはどうすればよいのか
わかりませんでした。
色々書いて試してみたのですが・・アドバイスいただけると幸いです。
62 :
nobodyさん :2010/09/07(火) 00:57:35 ID:F7j2/YYp
>>61 lessが端末に表示するようにブラウザに出力するfewというものもあるらしい。
あと、:constraintsは正規表現が書けるようだ。
63 :
nobodyさん :2010/09/07(火) 18:01:20 ID:+zMlblMx
windowsでgem install mysql2がどうしても成功せずRails3.0が動かせません MySQLアダプターって変えられないのでしょうか?
64 :
63 :2010/09/07(火) 18:43:14 ID:+zMlblMx
すいません自己解決した挙句書き方が悪かったです windowsにMySQLドライバのmysql2が入らないので、mysql/ruby(@tmtms作)に変更できませんか?という質問でした database.ymlのadapter:mysql2をmysqlに変更するだけでした
65 :
nobodyさん :2010/09/08(水) 07:23:29 ID:3jfm+jyo
66 :
nobodyさん :2010/09/08(水) 16:08:13 ID:7ruGXZN/
67 :
nobodyさん :2010/09/08(水) 16:34:18 ID:dxWVL6Ut
68 :
nobodyさん :2010/09/08(水) 17:18:29 ID:YNe1GdWN
GREEってRuby使ってんの?
>>68 使ってないんじゃない?
PHPの Ethna だったとおもうが
(バックグラウンドとか社内ツールで使っているかどうかはわからないけど)
楽天はjavaでoracleじゃないの? rorでケチらなきゃ逝けないほど金に困ってる訳でもないだろうし。
楽天の中の人に聞いたことがあるけど、 システムによっていくつか言語が違うらしい。 Java + Oracle のやつもあれば、PHP で作っているのもある。 んで、最近(といっても2年ぐらい前から?)、新規に作るやつは Java じゃなくて rails でつくろう、なんて言っていたような いずれにせよ ruby には傾倒しているけど、楽天内のすべてを ruby に置き換えるつもりではないみたい。
派閥争いがあって淘汰されたりされなかったり
楽天ゴールデンイーグルスがRuby製だという噂が流れている
楽天は技術が無くて、コンサルの良いカモになってた覚えしか無い。
楽天の知り合いは、全然Ruby使ってないって言ってたけど
78 :
nobodyさん :2010/09/09(木) 21:11:27 ID:yHM/Vjx3
79 :
nobodyさん :2010/09/09(木) 21:20:31 ID:iLoz/ZWh
これはいいまとめGJ
まとめには見えないが。
このRailRoadってのいいな ER図きっちり作って、schema.rbからマイグレーションファイル作って、みたいにしてたけど 実験的なアプリ開発なら、もういきなり マイグレーション書いて ER図に吐いての細かい繰り返しサイクルで開発やれそう
83 :
nobodyさん :2010/09/09(木) 23:24:11 ID:+vsgCbxf
84 :
nobodyさん :2010/09/11(土) 17:27:51 ID:VbHgmvp5
85 :
nobodyさん :2010/09/11(土) 19:22:23 ID:mIHqz2pl
86 :
nobodyさん :2010/09/12(日) 00:59:46 ID:jzrNePn4
88 :
nobodyさん :2010/09/12(日) 16:47:55 ID:XbXEHY8U
数日前からクリー関連の宣伝リンクを貼り続けてる阿呆がいるので運営に通報しておいた 今後は無視の方向で
90 :
nobodyさん :2010/09/13(月) 15:56:41 ID:ONonsrRL
91 :
nobodyさん :2010/09/13(月) 18:31:19 ID:PfCQNJg5
rspec-railsを習得したいのですが、いい勉強材料ってないでしょうか。
もちろん、あります。
>>92 rspecではなくrspec-rails?
rspecならt-wadaのブログの写経がオススメだが。
95 :
nobodyさん :2010/09/15(水) 23:34:20 ID:vBg5ejVy
96 :
nobodyさん :2010/09/16(木) 17:55:19 ID:ZkbggsMn
97 :
nobodyさん :2010/09/16(木) 18:18:23 ID:xsNpRW02
最近リンク貼りまくる奴がいるけど何なの?ウザいんだけど
>>99 最近じゃない。ずっと前からいる、たぶんボット。
前スレでリンク貼られるのが嫌な香具師が 別スレ作ったけどスルーされてスレ落ちてたくらいだ
102 :
nobodyさん :2010/09/18(土) 13:17:23 ID:sMHwPaVb
Ruby初心者スレッドから誘導されてきました。 tableA id|first_name|last_name|code tableB id|first_name|last_name|address|code 上記のようなテーブルがあり(ActiveRecordで作ったSQLite3) tableBのlast_nameが未入力であるもののidと,それにcodeで対応しているtableAのidを同時に取得したいというのが目的です。 (両方のテーブルのidを取得するのが目的です。) SELECT tableA.id AS A_id, tableA.last_name, tableB.id AS B_id from tableA LEFT OUTER JOIN tableB USING(code) WHERE tableA.code IN (SELECT code FROM tableB WHERE last_name = ''); とすると次のように結果が得られました(確認のため)。 A_id|last_name|B_id .... .... ところが、Active Recordで Table_A.find_by_sql(["select tableA.id AS A_id, talbeA.last_name, tableB.id AS B_id from tableA left outer join tableB using(code) where tableA.code in (select code from tableB where last_name = :name)", {:name => ''}]) としても Table_B.find(:all, :select => 'tableA.id as A_id, tableA.last_name, tableB.id as B_id', :joins => 'LEFT OUTER JOIN tableB USING(code)', :conditions => 'tableA.code IN (select code from tableB where last_nam = "")') としても同じ結果を得られません。 (-> [#<Table_A last_name: "ほげほげ">]みたいなかんじでで,肝心のtableA.idとtableB.idがない。) 構文のどの辺りが間違っているのでしょうか? あるいは、上記目的を達成する方法を教えてください。 よろしくお願いいたします。
試してみたいからRailsのバージョンを。 2と3でARまわりだいぶ違うから。
>>102 出てきたオブジェクトに実際にA_idとかB_idとかいうメソッドは
送ってみたかい?
もともと持ってるもの以外はinspectでは出てこないよ。
105 :
102 :2010/09/18(土) 17:42:07 ID:sMHwPaVb
>103 うっかりしてました。Rails 2.3.8,ruby 1.8.7 (2009-06-12 patchlevel 174) [universal-darwin10.0] です。 >104 なるほど、メソッドを送ってみるという検証方法は気づきませんでした。勉強になります。 ですが、結果は、だめでした。 ためしに、Table_B.first.addressとすれば問題ないところ(当たり前ですが)、 上記のfindの結果(配列のアイテムのうちの一つ)に対する.addressもだめでした。 取得するオブジェクト(の配列)がいったい何のサブクラスかが検討つきません。 (この場合Table_AでもTable_Bでもないようなので)
106 :
nobodyさん :2010/09/18(土) 21:47:19 ID:03PFOD2t
netbeans で jruby mysql はxpまで すぐ接続できます。 jdbcでvistaで接続できません。 なにか方法ありますか?
まー端的に言ってしまえば、物中心の考え方は土人の思考だ。 そのほうが考えやすいって奴は、昔風の人ってこったろう。 それはそれで別にかまわないんだけど、今は21世紀だし、そんな思考回路じゃそのうち干されちゃうよ。 数学習ったんだろ?コミュニケーションが大事だって散々言われてるんだろ? 物事の関係を抽出して上手くまとめて機能させる、それが創造性だろ? 神は細部に宿るって言うだろ?目では見ること出来ない「関係」に神は宿ってるんだよ。 少なくとも「物」には神は宿らないよ、八百万の神じゃあるまいし、古臭い。 発展途上国の人たちはバイクのことをホンダと言い、トラクターのことをクボタと言うらしいが、 まだまだ機能で考える文化が無いんだろうね。これからに期待しよう。 でもお前らは運よく日本で生まれて中学校まで義務教育で、大体の奴は高校へ行き、今なら大学行くのも当たり前で、 高等な教育を受けれるラッキーな環境で育ったんだから、もうちょっと頑張れるよな。
>>106 Vista以降いろいろセキュリティ厳しくなってるせいとかだったりしないの?
とりあえずRailsそのものは関係なさげ。
馬鹿にはrorは無理。
111 :
nobodyさん :2010/09/19(日) 03:47:29 ID:hij6MWS8
最近Railsの勉強始めましたが素晴らしい設計ですね。 ソース読めば読むほど感動する。 考え方が一貫しているからなのか、 フレームワークのソースを素人でも読めるのも素晴らしい。 テストフレームワークも素晴らしかった。 Rails3のソースも早く読みたい。 とにかくJavaに戻る気にはもうなれない。 カオス状態のJava関連のフレームワーク連携を強みにしてたが 自分の存在価値すら薄っぺらく感じてしまった。 Javaの仕事しかない現職から転職しようか真剣に考え始めてるぐらいだ。
>>102 やってみたが、とりあえず、同じ結果が得られた、とだけ。
$ script/dbconsole
sqlite3> select * from tableA;
id first_name last code
---- ------------- ---- ----
1 AAA BBB 123
2 CCC DDD 456
sqlite> select * from tableB;
id first_name last addr code
---- ------------- ---- ---- ----
1 AAA BBB ZZZ 123
2 CCC DDD YYY 456
sqlite> select tableA.id AS A_id, tableA.last_name, tableB.id AS B_id from tableA left outer join tableB using(code) where tableA.code IN (select code from tableB where last_name = 'DDD');
A_id last_name B_id
---- ------------- ----
2 DDD 2
$ script/console
result = Table_A.find_by_sql(['select tableA.id AS A_id, tableA.last_name, tableB.id AS B_id from tableA left outer join tableB using(code) where tableA.code in (select code from tableB where last_name = :name)', :name => 'DDD'])
=> [#<Table_A last_name: "DDD">]
>> result.first.A_id #=> 2
>> result.first.B_id #=> 2
>> result.first.last_name # => "DDD"
最後の、Table_BじゃなくてTable_Aじゃね?
>> result = Table_A.find(:all, :select => 'tableA.id AS A_id, tableA.last_name, tableB.id AS B_id', :joins => 'LEFT OUTER JOIN tableB using(code)', :conditions => 'tableA.code IN (select code from tableB where last_name = "DDD")')
=> [#<Table_A last_name: "DDD">]
>> result.first.A_id #=> 2
>> result.first.B_id #=> 2
>> result.first.last_name # => "DDD"
Rails3でもページネーションはmislav入れないといけないの? どうしてウェブアプリにおいて必須の機能をデフォルトにしないんでしょうかね。。
必須な機能だからこそ、プラグイン形式にして分離してるんだと思うけど
>>116 そういう考え方はRailsの精神に反してるような気がするのですが。
まぁRails3からはモジューラブルになるから適してるのかもしれないけど。
acts_as_*と同様に必ずしも必須じゃないから分離したんだと思う。 RailsにバンドルだとリリースタイミングがRailsと同じになってしまうので、 エコシステムに任せた方が進化が早い。 あと分離すればRailsコアとしてメンテナンスしなくてもよくなるので、 より重要な部分にリソースを避ける。
app/models/test/hogehoge.rbとした場合 コントローラーからHogehogeを呼び出すにはどう記述すればいいのかな?
Test::Hogehoge.new
やっぱり vistaでnetbeans で rubyは動かない。 なにをどうやっても通らない。odbcはつながるが、jdbcでmysql接続はできない。
jdbc ?
どうしてJDBCが出てくるんだろうな。
126 :
nobodyさん :2010/09/20(月) 10:19:29 ID:FkCzXQJr
なぜjdbc
rdbcを作るべきだな。 jniごしにjdbcを読んでもいいけど。
Active Recordで悩むくらいなら、はじめから普通にSQL使っとけば? っていう発想は間違いなの?
ok
>>129 同感だね。
遊び/評価/実験/プロトタイプでARを使うなら、ほとんどE-Rモデルや
SQLの知識が無くても、ARがすべて自動マッピングしてくれるけど、
現実のWebアプリ開発ともなると性能チューニングが必要になるから、
SQLの知識は間違いなく必須のものになる。
それだったら、ARはDBインターフェイス仕様の差異を吸収するだけの
薄い皮で十分であり、旧来のE-Rモデルによる設計とSQLによるアクセスで
Modelを実装できたなら自由度があって良いのに....と考えてしまう。
Martin Fowler's Bliki in Japanese - ドメインロジックとSQL
http://capsctrl.que.jp/kdmsnr/wiki/bliki/?DomainLogicAndSQL
ActiveRecordで困ったことは1度も無いけど 自由度が無くて不便と感じるのは例えばどんな時?
条件に見あうレコードを探し出す程度なら困ることはないと思うけど、 集計レポート作るみたいな作業は、ARに落とし込めるSQLの範囲でがんばっ たり、Ruby側でfindの結果を操作する(=ARインスタンスを作りまくる)より SQLを直に書いたほうがのほうが分かりやすいし、メモリ効率もマシ。
死ぬほどアクセス数が多いサイトを扱ったことがある奴じゃないと 負荷とかメモリ使用量なんて考えたことないんだよ。 そういうサイトではo/rマッピングで吐き出したSQLもチューニングの対象になるわけ。 だったらはじめからチューニングの必要があるものなんて使わないという単純な発想。 しょぼいサイトしか扱ったことがない奴には想像できない世界かもしれんがな。
月間ページビュー数億程度のサイトしか持ってないけどActiveRecordで全く困らんなぁ パフォーマンスで気を配ってるのはデフォルトのキャッシュ機能で画像キャッシュしてるぐらい。 AmazonEC2だからチューニング次第でもっと安く済ませられるんだろうけど。
ようは開発コストと運用コストのバランス
スピードだけが問題なら、どっちが早いと決めつけずにベンチマークを取るべし。
ORMとして使う分にはそんなに困らないよ。
>>113 が言っているような集計レポート作成は
オブジェクトにマッピングする処理じゃないので
ORMの仕事としては範疇外であって、
それはそれで別のライブラリがあるとよいとは思う。
動的にメソッド生成したり数十のモジュールインクルードしたり、 裏でごちゃごちゃやってんだから遅くなるのは当たり前だろ。 速さ追求するならそもそもRailsなんて使うな。
140 :
nobodyさん :2010/09/20(月) 23:32:18 ID:cM0dJhO+
アセンブリ言語 アセンブラ
なんでこんなに議論しているのかわからんのだけど、 はじめは ActiveRecord の O/R マッパーを使っておき、 どうしても直接 SQL 書きたかったら、その Model クラスに find_by_sql() みたいなメソッド定義して直接 SQL 書いて、 コントローラからはそっちを呼ぶようにすればいいんじゃないの?
>>141 実際そうだと思う
Cookpadとか大規模サイトのプレゼン資料とか見てたら、大変そうだったな
分散DB使わずに、でもよくスケールしにくいRDBでやってるよなー
俺には当分関係なさそうな話だが
Amazon使ってりゃサーバの知識なんてほとんど要らんよマジで。
144 :
nobodyさん :2010/09/21(火) 00:31:09 ID:jz0vkh7o
おまえらがそんな話で盛り上がるから、 手動スパムボットが作動したじゃないか
>>143 kwsk
herokuならmanagedだから分かるけど、AmazonはスケールしやすいVPSみたいなイメージだあるんだけど
だとしたらサーバー管理面倒じゃないか?
そもそも外にデータ置くとかあり得ないし。
148 :
nobodyさん :2010/09/21(火) 10:36:49 ID:XX6rG7Le
>>143 さすがにそれは傲慢な考えだしいつか痛い目みると思うよ
パフォーマンスじゃなくセキュリティの方で
>>120 environments.rb のloadpathに書いておけば XXX::hoge ではなく
hoge の形式で呼び出せるのでそっちのがいい
151 :
nobodyさん :2010/09/21(火) 13:40:49 ID:BefxMKov
152 :
nobodyさん :2010/09/22(水) 01:42:54 ID:UZwM+8Vu
SQLで直接DBをいじっているうちに、マイグレーションファイルとの差異が大きくなりすぎました こういう場合どうすればよいのでしょうか
残念ながら、手遅れです。 一度マイグレーションを使うと決めたら、二度とスキーマを直接いじってはダメです。 この場合、マイグレーション機能をあきらめ、この先ずっとSQLいじりを続けるしかありません。 それがお嫌でしたら、自分の無能さを嘆きつつ、泣きながら手作業でSQLいじりの内容を マイグレーションファイルへ反映させてください。
別に泣きながらというほどでもなかろう
他人を無能呼ばわりしておきながら、
自分では
>>153 へ何ら対処方法を示すことができない男の人って、
女ですが何か?
デワ、
他人を無能呼ばわりしておきながら、
自分では
>>153 へ何ら対処方法を示すことができない女ってさ、
マジレスすると db/migrate/* を全部消して schema.rb を元に
一つだけmigrationを作ったあと
>>153 を首にする
>>160 もっといい方法はないですか?
schema.rb は コピペするだけでは済まないような内容になってしまっていて・・・
いろいろ編集しないとそのまま使えないので大変です
どう済まないのか具体的に書けよ それでわかるわけないだろ
>>162 classの宣言がないのでとにかく不便なんです。
class A < ActiveRecord::Base
みたいな部分です。
> schema.rb は コピペするだけでは済まないような内容 DBの設計ミスですね。
schema.rb はテーブル構造やインデックスを構成するために使い、 ARで作るデータはseeds.rbで流し込む。
>>163 おまいはどうしてそんなに説明が下手なんだよ
マジレスするとschema.rbの内容をmigrationにコピーする必要などない
で、続きは?
rake db:schema:load
170 :
nobodyさん :2010/09/22(水) 22:31:58 ID:DzJBRvLU
schema.rbをロードする方法なんて聞いてないのに。 ぐだぐだだな
172 :
nobodyさん :2010/09/23(木) 05:04:34 ID:tYGUMz3j
173 :
nobodyさん :2010/09/23(木) 05:26:02 ID:tYGUMz3j
windows + sqlserver で使用したいんだけど どれがベストプラクティスなの?odbc? いろいろ開発止まってて、sqlserverなんか使うなってこと?
SQLite
男は黙ってoracleかpostgresql使え。 って、会社の先輩が言ってた。
>>174 Windows上のRailsはWinSockが癌で、これが原因で中/大規模なサイトの開発は無理。
小規模(たとえばワークグループ向け)なら、
>>175 の紹介した SQLite を使えばいい。
SQL Serverが必要になるような規模のサイトを作りたいなら、
Rubyをあきらめ、素直にMicrosoft謹製の言語で開発したほうが幸せになれる。
Railsを使うなら、迷わずUNIX(Linux, BSD, MacOSX..etc)を使え。
もし開発サーバを立てるのが面倒とか別マシンを購入する予算が無いなら、仮想化ソフトを使え。
以下はプログラム板「RubyをWindowsで使うスレ」からの引用。
> 735 名前: 721 Mail: sage 投稿日: 2010/05/24(月) 01:33:49
> WinXP上のVirtualBoxでLinux(Ubuntu)を試しに触ってみた。
> 永くDebianを触っているが、Ubuntuは今回が初体験。参考にしたのは以下のサイト。
>
> ・VirtualBoxの使い方 - 仮想化ソフトVirtualBoxのインストール、使い方、設定方法
>
http://virtual-soft1.nnn2.com/ >
> 上記サイトのとおりにVirtualBoxをインストールして、Linux(Ubuntu8.04)の仮想マシンを起動。
> 違いはVirtualBoxの最新バージョンが3.2.0に更新されていたのでそれを試した点くらい。
>
> 仮想マシンだけど、クライアントとしての環境はほぼ完璧にそろっている。
> 日本語環境、ブラウザ(Firefox)、ファイルマネージャ、ターミナルがあるし、OpenOfficeも入ってる。
> ネットワークもファイルマネージャでURLを入力することで、MacOSX(10.5)のFTP/SMBサーバヘ接続できた。
> おそらく少しだけ努力してもらえれば、普通のWindowsユーザにも使ってもらえるだけの環境は整っていると思われ。
>
> 開発環境としては、Perl/Pythonは入っているが、肝心のRubyが無いから、自分でRubyと関連する
> パッケージ(Gem, Rake, Rails,...etc)をインストールする必要がある。また、SSH/Web/FTP/SMB/AFPといった
> サーバ関連も一切入っていないみたいだから、それらも自分でインストールする必要がある。
> ただし、言い換えると自分の好みのサービス構成を組める訳で、決して問題や欠点という訳ではないだろう。
rails3で質問なのですが、 generate scaffold でモデル名とは別にコントローラ名を指定することは出来ないのでしょうか? 過去のバージョンでは ruby script/generate scaffold <モデル名> <コントローラ名> でできたようなのですが
Rails2系の実務経験が3ヶ月程のひよっ子Rails使いなのですが、 新しく立ち上げるプロジェクトでRails3を使うのは無謀でしょうか? 基本的に自分1人で担当するプロジェクトなので、 意味不なエラーや、Rails2系との仕様違いによるロス等が怖いです。 勉強する時間がほとんど無く、今週土日にRails3を公式サイトで勉強して 実装期間は2週間程度です。 素直に2系を使えば済むことなのですが、その後もRailsの仕事が詰まってるので いつか3系に切り替えたいと思っていてそのタイミングで迷っています。
実はそこまで無謀じゃない
というか、Rails使いならエラーとか仕様の違いは、自分でなんとかしてやる! くらいの気概を持ってやるべきじゃないか。 新しいRails使うのってワクワクするだろ?
>>179 model と scaffold_controller を別々に generate することで
同等のことを実現するみたい。
>>178 初体験のものをよく他人に薦められるなw
>>174 >いろいろ開発止まってて、sqlserverなんか使うなってこと?
sqlserver が Miscrosoft SQL Server のことを言っているなら
「sqlserverなんか使うなってこと」
っていうか Ruby 使ってる時点で
「Windowsなんか使うなってこと」
なんだが
Ruby/Railsを選択するならLinux使うのがベストなのは間違いないよな
windowsのrubyってなんであんなに遅いんだ? virtualbox上のlinuxとrailsのtestの速度変わらないんだけど。
rails3ってnewとeditのフォームが共通化されてるんだな。 これはさすがにやりすぎじゃない?
189 :
174 :2010/09/23(木) 23:39:49 ID:???
rubyでwindowsなんか使うなってのは、よーく理解してるんですが 古い資産でsqlserver絡みのアプリがあって dbはまだ保守期限切れてないから、sqlserverを活かした上で railsに移行できないかと模索していたところなんです。 個人的にはrails使いたいので、webはlinuxでrails、dbはsqlsesrverで接続はodbcってのが有力なのかな。 まぁ、いっそのことasp.net っていうのも可能性としてはありかも。 vbやらaspやらが残ってるとこって以外とありそうで、 sqlserverへの接続って需要がありそうな気がするんだけど たいていは.netへ流れるのかな。 sqlserverやめろってのは、最もなんですが 気持ちとしては、dbのmigrationなんかしたくないという思いもあります。
>>188 むしろおまえが今までnewとeditのフォームを共通化してなかったことに驚いた
scaffoldは所詮scaffoldなので、newとeditが違っているほうがよいなら そう書き換えればいいだけのこと。
本格的なアプリケーションになると 作成と編集フォームのデザインを共通化出来る方が稀だと思うけど?
scaffoldは *本格的* なアプリケーション向けであるべきということ?
う〜ん、まぁそこら辺は人によって違うんだろうけど 個人的にはアプリの規模に関係なく、ユーザーに作成編集させるモデルはたいたいscaffoldで作ってしまう。
196 :
177 :2010/09/24(金) 00:59:01 ID:???
>>189 SQL Serverを利用することが優先条件であるなら、
>>177 で書いたように
MSの製品(例えばASP.NetでOK)を選択したほうが幸せになると思う。
Webを Rails-over-Linux で、DBを SQL Server-over-Windows でという構成については、
自分の場合、トラブルシュートに自信が無い、言い換えると、もしRails<->SQL Server間で
何かトラブルが発生した場合、自力でRailsのコードを調査して必要なら改造するということが
自分の技術力では不可能なので、あきらめる。もし選択するなら、茨の道になるのではないかと。
要求仕様の優先度を(周囲の意見も聞いて)じっくり検討してから、最終的な判断したほうがいいだろうね。
MSSQLの縛りが先にあるんなら そこまでしてRails使いたいと思わんな
おまえら全否定だな おれはやってほしいよ。できればIronRubyで
199 :
nobodyさん :2010/09/24(金) 02:24:20 ID:MHNWJwU+
200 :
nobodyさん :2010/09/24(金) 02:27:48 ID:MHNWJwU+
>>174 VB(ASP) + SQL Server の置き換え、リプレイスなら、
フロントを ASP.NET にして SQL Server はそのままか、
ごっそり全部入替(Java + Oracle) というのが周りでは多いね。
ここからは妄想だが、
>>174 のような案件こそ、
IronRuby か JRuby + JDBC ドライバ + SQL Server はだめなのかな?
Java 用の SQLServer の JDBC ドライバがどれくらい実績があるのか知らん
linuxで鯖建てるなら、linuxにdb載せれば済む話の様な。そこまでsqlserverにこだわる話なのかねえ。 まあrubyの作者自体がウィンドウズ使ってないから地雷とか苦労が多いのはしょうがない。 ror使ってるツイタが不具合出してるみたいね。 やっぱり大規模サイトは厳しいか。クラスタとかクラウドとかそういう機能もないしなあ。
どういう不具合かわかってて言ってるんだろうな
今回の twitter の不具合って XSS 関係だから Ruby とか Rails とか関係なくね?
206 :
174 :2010/09/24(金) 23:22:46 ID:???
>>177 ,196
参考になります。
>>198 なるほど、IronRubyってのは選択肢になかったです。
でも二の足を踏む感じです。
>>202 なるほど、やはりそうですか。
私みたいにrailsやりたい人にとって、IronRubyって実は需要あるのかもしれないですね。
少し調べてみます。
これだけ短い文章で203の実力が分かるね。 Railsだってクラウドでスケールするでしょ。ec2で使えるwakameとか出てきたし。 twitterの件はxssだし。 消えてなくなって欲しいわ。
>>174 Windows + Railsなら、Windowsを捨てるか、Railsを捨てるかしよう
Windowsで開発したいだけならローカルに仮想マシン入れれば可能
本番は適当なLinuxにデプロイすればOK。もちろんテスト用のサーバーも用意したほうがいい
そもそもいまのTwitterでScalaじゃなかったか?
WindowsでRails開発という段階で茨の道は少し通っているのに、
そこにプラスしてSQL server使おうというのはトラブルにあたっても日本でも海外でも聞ける人いないだろう
ようするに壁にぶち当たった時に自分で解決する必要ある
ということは
>>196 がすでに書いてるのか
LinuxとRailsとMySQLやPostgreSQL(開発はLinuxかMac)という王道というか想定環境から、
距離が外れる(開発はWindowsとか、DBは別のを使うとか、JRubyやIronRuby使うとか)と徐々に
事例が減っていくのでトラブルおこしても聞ける人やFAQが減っていくので、
自分で解決する必要が大概出てくる
・・・というのは仕事やっていればわかっているだろうけど、あえてRailsやりたいから聞いているんだよなw
俺はやり方知らんから、頑張れとしか
>>211 ほう。Railsもまだ使ってるんだ。情報ありがとう!
213 :
177 :2010/09/25(土) 02:31:27 ID:???
>>198 ,202
IronRubyやJRubyを提案しているけど、その意味がよく分からない。
・Microsoftの.Net環境向けWebフレームワークを使い、アプリを(ASP.Netの代わりに)IronRubyで書く、あるいは
OracleのJava環境向けWebフレームワークを使い、アプリを(Javaの代わりに)JRubyで書く、
のであれば、
>>174 が希望する「Railsを使う」という目的から外れるよね。それとも、
・Rubyの代わりにIronRubyまたはIronRubyでRailsを動かす(当然、アプリもRubyで書く)
のであれば、「Railsを使う」という目的は達せられる。でもActiveRecordのDBアダプタが .Net 用
ODBC API(IronRubyの場合) や、JRE 用 JDBC API(JRubyの場合) をサポートしてるとは思えないから、
DB接続そのものが不可能なように思える。もしもサポートしてなければ自力でアダプタを開発する必要が
あるけど、その前提を承知で
>>174 に提案しているのかな?(そして
>>174 は、それを理解しているのかな?)
自分は .Net や Java の開発環境には詳しくないので、間抜けな疑問かもしれないんですが、
どちらを指しているんでしょうか。もしよければ教えてもらえませんか?
>>213 何を言ってるのかわからないし、
分かるところもめちゃくちゃです
216 :
202 :2010/09/25(土) 03:13:06 ID:???
>>213 まず
>>202 でも書いているとおり、妄想で書いているので
実際に使い物になるかどうかは自分もほとんど検証していない。
その点では申し訳ない。
次に、JRuby や IronRuby をつかうメリットのひとつとして、
JRuby から Java のクラスを使えるというのがあるけど、
>>174 のケースでは、既存の Java 資産はないだろうから、
この視点は抜いて
>>202 を書きました。
というのを踏まえた上で、↓についてだけど、
> でもActiveRecordのDBアダプタが .Net 用
> ODBC API(IronRubyの場合) や、JRE 用 JDBC API(JRubyの場合) をサポートしてるとは思えないから、
CRuby + Rails だと、DB アクセスするライブラリは gem から mysql を落としてきて使うが、
JRuby だと、ActiveRecord-JDBC を使えば、任意の JDBC ドライバを経由して
DB につなげられるので、SQL Server にもつなげられないかなと思いました。
ちなみに手元の「Rails によるアジャイル・・・」第二版の p.26 を見ると、J
JRuby じゃない ruby から ruby-dbi を使って SQL Server につなぐ手順の簡単な記述がある。
これも自分はやったことがないので実現性はわからないし、最終的には
>>210 に帰結するだろう。
全部思いつきで書いていてごめんね。
218 :
202 :2010/09/25(土) 03:19:12 ID:???
>>189 を読み返してふと思ったんだけど、
> 古い資産でsqlserver絡みのアプリがあって
> dbはまだ保守期限切れてないから、sqlserverを活かした上で
> railsに移行できないかと模索していたところなんです。
SQLServer 絡みの古い資産とあるが、もし rails 化する場合、
DB は SQL Server の既存アプリのスキーマをそのまま利用するのだろうか?
だとしたら、rails が要求する id 列があることととか、テーブル名の制約は
大丈夫なのだろうか?
SQL Server 上の既存アプリのスキーマは、rails とは相性が合わないと思う。
単に SQL Server のマシンの保守期限とライセンスが余っていて、再利用したいだけ
(スキーマは rails 用に新規に作り直せる)なのなら、その点は心配いらないけど
219 :
nobodyさん :2010/09/25(土) 04:01:01 ID:zTGi6Yy7
>>218 MSSQL使ってる人はカラム名とかに日本語を使う傾向があるね
221 :
nobodyさん :2010/09/25(土) 05:45:11 ID:MV2nNXAG
222 :
177 :2010/09/25(土) 06:53:23 ID:???
>>216 >妄想で書いているので
>実際に使い物になるかどうかは自分もほとんど検証していない。
>その点では申し訳ない。
いや、こちらも妄想ですので、気にされる必要は全然ありません。
>JRuby だと、ActiveRecord-JDBC を使えば、任意の JDBC ドライバを経由して
>DB につなげられるので、SQL Server にもつなげられないかなと思いました。
AR-JDBC というのがあるんですね。でしたらDB接続のレベルでは実現の可能性大ですね。
(というか、「質問する前に少しは自分で調べろよ >>漏れ」です....)
IronRubyについては、自分でググってみたら、あっさり該当ページが見つかりました。
IronRuby で Ruby on Rails を動かしてみました - 荒井省三のBlog - MSDN Blogs (created: 2009/06/09)
http://blogs.msdn.com/b/shozoa/archive/2009/06/09/running-ruby-on-rails-on-ironruby.aspx Rails - IronRuby (last updated: 2010/05/13)
http://ironruby.net/Documentation/Real_Ruby_Applications/Rails このページでは、IronRuby用のSQL Server対応ARアダプタは、以下の手順でインストールできるようです。
> igem install activerecord-sqlserver-adapter --no-rdoc --no-ri
インストール作業全体についても Step-by-Step で詳しく解説されているので、試す価値はありそうです。
ただ、情報は少ない(Hitしたページが少ない)ので、指摘されているように、茨の道に変わりはないですね。
>全部思いつきで書いていてごめんね。
自分はUNIX上でのCRuby&Railsしか触った事が無い(しかも「Railsによる...」は第1版)ので、
このカキコの内容も「すべて思いつき」だったりします。だから一緒ですね。
うんドンドン異端なことやってくれ そうやって知識がwebに溜まる
>>183 scaffold_controllerで指定した名前でコントローラ作られるけど
中見ると指定した名前のモデルに対応した内容だった。
そういえば、cassandraのような新しい単語を見かけるのは railsスレだけだね。 PHPスレなんてフレームワークの話ばかりしてるし、。
>>225 いや、そもそも
・大規模で負荷がかかるWebサービスを開発運営している
・MySQL(や他のRDBMS)スケールしにくいよウァァァァン!!と悩んでいる
・Cassandraならいけるかも?と思えてきてる
・事例がまだ少ないKVSを導入もしくは、進んで勉強したり、趣味で使ってみたいと思う
人達がそんなにいるのかっていうところだなw
Railsスレの人は比較的新しい(しかし事例が少ない)ものに興味あるってことじゃないのか
それがいいかどうかは・・・
>>226 たしかに、技術系ニュースサイトだと
「スケール」とかKVSとかの記事が盛りだくさんだけど、
そういう仕事(Web2.0系か?)に従事している人の絶対数は少ないと思うんだよね。
業務系だと KVS とかほぼありえないし。
(業務系だと、そもそも Rails スレとかほとんど来なさそうだし)
228 :
174 :2010/09/25(土) 15:27:26 ID:???
ruby-dbi + odbc でlinuxにrailsからsqlserverへは接続できたのですが
開発環境をwindowsにした場合、文字化けするという問題があり
ちょっとこちらで聞いてみました。
(個人的には開発環境は、mac/linux on vm がいいんだけど、社内的にNG)
あとは、Ruby DBIがADO接続をサポートしなくなったりして
今時のsqlserverへの接続でイイのがあればと思い。
参考:ruby-dbi + odbc
ttp://wiki.rubyonrails.org/database-support/ms-sql
229 :
174 :2010/09/25(土) 15:29:11 ID:???
230 :
nobodyさん :2010/09/26(日) 09:11:48 ID:VOLgS1MY
231 :
nobodyさん :2010/09/26(日) 09:16:50 ID:VOLgS1MY
レン鯖ってどこがお勧めですか?
234 :
nobodyさん :2010/09/26(日) 09:47:10 ID:7YynvAZd
>>232 条件さえ許せればherokuが一番楽なのでは
今ならさくらがべす
勉強用とかお試しアプリならherokuでいいけど ある程度将来を見越してるならAmazonEC2にしとけ
つかrootがある奴ならなんでもいい ないやつは論外
負荷分散やappサーバの設定も覚えようという自主性のある人間がいるのは Railsスレだけだな。 PHPスレは他力本願でフレームワークの話ばかりしている低脳ばかり。 PHP房は会社でも「apacheの再起動に失敗しましたぁ;;」なんてほざいてそうだな。
railsはある程度サーバーの知識が無いと動かせないから自然とそうなるし、PHPみたいにWebアプリ層に専念できるのはそれはそれで強みでしょ
ある程度サーバーの知識? 既に入ってるApacheにPassengerを連携させるだけだが・・・ それともRubyのインストールがある程度のサーバーの知識?
nginx+unicornとかでは。
>>241 小規模PHPアプリなんてさくら共用で動くよね
railsだと小規模でもroot持たないと厳しいじゃん
root持つって事は鯖全部に責任を持たないといけないわけで趣味レベルからこんだけ差がある
ある程度経験積んだ人間には分かりくいだろうけど、 まっさらなLinuxサーバに rubyやらapacheやら入れてRails動かすまでの環境を整えるのは 素人には相当ハードルが高い
安価なmanagedサーバーで済むならそれに越したことはないよ
クラウド、というかherokuみたいなSaaSでアプリ開発に専念できるならそら楽だよ
今時ならその前にスケールさせやすいのが強みだろうけど、
>>243 みたいなの環境が流行ったのって、そんなにスケールに苦労するような用途は少なかったて話だろ
>>226 にもつながるが
その程度で面倒と逝ってるならror使わずにお手軽なphpでがんばれと思う。 mysqlクラスタってやっぱりスケールしないのか。大規模はoracle rac択一なのか?
どっちかというと業務系エンジニア(エンタープライス系というのか?ww)の者だが、 Oracle RAC を選ぶ理由は、スケールじゃなくて冗長性だと思うよ。 RAC を使ったってボトルネックになるときはなる。 あと MySQL はフリー(無償)ソフトウェアだから何台構築しても ソフトウェアのお金は掛からないけど、Oracle は有償だから、 MySQL クラスタと Oracle RAC は同じレベルでは比べられないと思う。
このスレ、たぶん一人かなと思うけど、 全然わかってないのに無理していろいろ言ってるやつがいるから・・・
203,246のことかな
ror
まぁまぁ、聞くは一時の恥、聞かぬは一生の恥でいいじゃないか。 わかっていないカキコがある ↓ いろいろ叩かれるレスが着く それをみて、おれも最初はなんで叩かれているかわからなかったけど レスを見たり自分で調べ直しているうちに 「ああー、そういう意味か」で勉強になることが多いので、 遠慮無くレスをつけてほしい。
255 :
nobodyさん :2010/09/29(水) 19:45:07 ID:/JflIGUb
apt-get install gems でインストールしようとすると、パッケージgemsが見つかりません と返事される。皆さんはどうですか。挑戦してみてください。 よろしくお願いします。
>>255 gems - 複数端末で単一のコンソールセッションを表示
これ?
257 :
nobodyさん :2010/09/29(水) 20:37:11 ID:/JflIGUb
>>256 当方の環境はVine Linuxなのですが、
railsで遊びたくて、
rubygemsもしくはgemsをインストールしようとしているのですが、
見つかりませんばかりで、悩んでいるところです。
>>257 rubyはバージョンいくつが入ってるの?
Vineではrails関連のパッケージングされてるの?
ないのなら、aptは諦めてソースインストールしないと。
259 :
nobodyさん :2010/09/29(水) 21:01:36 ID:/JflIGUb
>>258 rubyは1.8.7が入っているのですが、
どうも apt-get update が失敗しています。
ソースからインストールするしかないようで、頑張ってみます。
260 :
nobodyさん :2010/09/29(水) 22:06:03 ID:/JflIGUb
>>258 解決しました。
DNSサーバを指定してなかったため、
インターネットにつながらない状態でした。
DNSサーバを指定したらつながりました。
無事解決、よかったです。
馬鹿にはrorは無理。
馬鹿の俺にはRailsがあってる。PHPなんか難しすぎる
うまいレスを入れたつもりなんだろうけど、 Railsはフレームワーク、PHPはプログラミング言語で そもそも比較対象ではないと思うのだが。
はいはい、すいませんでしたと。
265 :
nobodyさん :2010/10/01(金) 20:25:57 ID:3F/TDomY
266 :
nobodyさん :2010/10/01(金) 20:36:14 ID:lS7aD4PX
馬鹿には区別は無理。
268 :
nobodyさん :2010/10/02(土) 00:42:39 ID:hqXPG7Ok
仕事では主にPHP使うけど、KVSもゴリゴリ使う 2.0系だけどね PHP用のラッパーを実装したり、分散ハッシュ割当の実装なんかも するんだけど そんな俺は年収おいくら万円が妥当でしょ? 最近RORで遊んでる
PHPがお仕事になってる時点で希望が持てない
KVSをゴリゴリ使うやつなんて1円でもいらないよ
271 :
nobodyさん :2010/10/02(土) 10:18:46 ID:mJZDLQ8I
272 :
nobodyさん :2010/10/02(土) 14:06:30 ID:hqXPG7Ok
273 :
nobodyさん :2010/10/02(土) 14:35:07 ID:8L5y1p3P
天才はC言語とEmacsしか使わない
なつかしいな Pascal...
大規模なんじゃね(キリッ
script/console script/runner の違いって何なんでしょうか? 手打ちでデータ入れる時なんかはconsole使って メール処理する時はconsole使いますよね。
>>279 script/console = irb + rails
script/runner = ruby + rails
分かったような分からんようなw
script/consoleはRubyのirbというインタラクティブシェル、つまり対話型のRubyにRailsを読み込んだもの。
Railsじゃなくても、irbはちょっとしたRubyスクリプトを逐一試したり、
RailsならActiveRecordでその場でクエリー打ってみて結果を見ながら試したりできる。
irbやscript/consoleを便利にしたいときは.irbrcなんかに設定を書いとく。
例えば require 'pp'とかしとけばirbやscript/console起動時にすぐに pp 使える。
irbやscript/consoleを拡張するRubyGemsで入るwirbleが有名じゃないかな。
script/runnerは単体のRubyスクリプトをRails環境を読み込んだり、
引数で指定した文字列をそのまま実行できるので、
頻度の少ないバッチ処理をcronで回したりとかそういうときに使える。
というわけで違いは
>>280 のように irb と ruby の違いそのものになるわけだな。
283 :
nobodyさん :2010/10/03(日) 07:46:12 ID:LEU0Dg8U
>>282 つまり、Rubyはアジャイル開発に適していると
言いたいわけですね。
分かります。
なぜconsoleとrunnnerの違いがわからないのかが不明 全然違うじゃないか
286 :
nobodyさん :2010/10/03(日) 15:16:16 ID:My08lQW4
悔しいのぅ
馬鹿にはrorは無理なんだ。
Railsで多言語対応したアプリを作りたいのですが、 どのように実装すればいいのか分かりません。 単純に日本語化をする場合などは environment.rb内で config.i18n.default_locale = :ja と記述しておくのが一般的なやり方かと思います。 しかし、実現したいことは フォームのプルダウンで日本語、英語、中国語、・・・などから言語を選択させたいのです。 このconfig.i18n.default_locale = :ja の部分をフォームの送信と同時に変更できれば 実現できそうなのですが。。
酷いパクリサイトだな
291 :
288 :2010/10/04(月) 01:22:35 ID:???
>>289 ありがとうございます。
見てみましたが、テンプレートを切り替える方法しか無いようですね。
できればテンプレートは一つのままで、設定を切り替えて言語を動的に入れ替えたいのです。
あと、環境がRails2.3.5なので2系で出来る方法であれば嬉しいです。
切り替えるのはdefault_localeじゃなくて I18n.localeだと思うが。 この値をQuery StringなりAccept-Languageなりから決めるだけで、 テンプレートは関係ない。
「タグ付き記事の一覧を表示する」アクションの場合 タグと記事、どちらのコントローラに付けるのが一般的ですか?
RailsでAjaxを使う場合、link_to_remoteやRJSテンプレートを使うのが一般的かと思いますが、 生のjavascriptをそのまま使いたいときはどこに配置すべきでしょうか? 例えば、外部から持ってきたjavascriptコードをそのまま利用したい時などは erb.htmlファイルに普通にべた書きするしかないでしょうか。
普通に public/javascripts ではダメなの?
297 :
295 :2010/10/06(水) 08:43:13 ID:???
>>296 ありがとうございます。
ただ、controllerから受け取った変数などをjavascriptコード内で使いたい場合、
public/javascriptに置いてしまうと出来ないんです。
Google Analyticsのコードなんかは、それを吐き出すRubyの ヘルパメソッドを作ってるなぁ。
erb.js作る方法なかったけ
悪い、js.erbだった。hoge.html.erbみたいにviewsにhoge.js.erbおけばいけるはず escape_javascript は適時必要か
301 :
nobodyさん :2010/10/06(水) 20:03:03 ID:R0yvi9kO
302 :
nobodyさん :2010/10/07(木) 02:08:13 ID:mF56A811
WindowsのRails開発環境ってEclipse+Radrails3β使うんでしょうか? vimやemacsを使わない開発者がいるので、良いIDE環境を探しています。 Aptana Studio3β使ってみたけど、 railsプロジェクトさえロクに作れない有様で挫折しました。 Windows環境ではRoR開発は厳しいでしょうか。
>>303 > Windows環境ではRoR開発は厳しいでしょうか。
不必要に難易度が上がるのは確か。
304 :
303 :2010/10/07(木) 02:47:43 ID:???
レス番手打ちはいかんな… RubyMineというのは触ってみた。 Java製でマルチプラットフォーム対応。 今のところ(2.0.2)Rails 3対応してない(rails newしてくれない…)でやんの… 2.5待ちらしい。
>>302 netbeansがお薦め
rails3にも既に対応してる最強のIDE
306 :
nobodyさん :2010/10/07(木) 09:39:00 ID:Tt6LL3Lt
初心者ですが質問させてください。 will_pagenate3.0.preをインストールし、bundlerを使ってページ送り機能をつけたいのですが、require 'will_paginate'をでも取り込んでくれません。
>>306 Gemfile に
gem 'will_paginate', '~> 3.0.0'
を書いてbundleを実行したのにダメだったということ?
bundle show で出てくる?
$: に will_paginate は含まれている?
railsバージョンはいくつ?
308 :
nobodyさん :2010/10/07(木) 14:52:48 ID:2jT+yB6I
rails3になって responds_to_parent が動かなくなったため いくつかのAJAX UI用に使っていたpluginやコードが動かなくなって大変困っています みんなどうしていますか
Rails3はまだprototype.jsをメインで使ってるんですか?
はい
>>311 メインかしらんけど、少なくともjQueryのも提供されてて、公式の機能として代替可能になってる
railsコマンドでプロジェクトつくる時にも外せるよ
UnitTestだっけ、これもオプションで外せる作りになってる
>>302 NetBeans使ってるけど、Windowsで開発するのがそもそもおすすめしない。
>>313 代替可能ってことは、グローバルななにかの設定変えとけば
link_to_remote みたいなのを使ったときに連動して $.ajax とかが使われるってことかな。
だとかなり嬉しいが。
>>315 Rails3では、HTML中には直接Javascriptを書かない。
(Unobtrusive Javascriptというやつ)
ページが出来上がってから、DOM操作で特定の属性を持った要素を探して
イベントを割り当てて行く。
このイベント割当処理の部分をPrototypeで書いたりjQueryで書いたりする。
link_to_remote は prototype_legacy_helper という gem に残ってるけど、
通常は link_to ... :remote => true と書く。
フリーエンジニアのRails使いが凄い… 300万↑の案件を2週間程度でこなしてたりする。 こういう人達って年収2000万ぐらい稼いでるのかな?
318 :
nobodyさん :2010/10/09(土) 03:27:16 ID:AQ0Bclgb
319 :
nobodyさん :2010/10/09(土) 04:16:31 ID:FXzMiZhi
320 :
nobodyさん :2010/10/09(土) 23:41:02 ID:PZidCEMB
またTwitterで障害だってよ・・・
322 :
nobodyさん :2010/10/10(日) 20:14:09 ID:vCO6UQUE
質問させてください。
rails3なのですが、engineを使ってプラグイン的なものを作りたいと思って、
railscastsの動画など見つつ
http://media.railscasts.com/videos/149_rails_engines.mov (ver2.3のものでしたが)
rails generate plugin test
みたいな感じで
vendor/plugins/test
にプラグインのディレクトリを作り、その中に適当な controllerやroutes.rbを用意したのですが、
どうもtestプラグインの中のプログラムが実行されないようです。
単純に vendor/plugin/test がメインアプリケーションから読み込まれてないからだと思うのですが
これを読み込むようにするにはどうすればよいのでしょうか?
rails3だと全てbundlerからインスールしないとちゃんと動かないとか・・
そんなことはないと思うのですが・・。
environment.rb辺りになにか書き足せばいける気がするのですが、3系の情報が少なく、はまってます。
どなたか教えていただけると嬉しいです。
ウェブの受託開発なんて、たかが知れてるよ。一番儲かるのは新人のPGを右から左に流す事だけど、それは技術とは関係無いし。
新人の横流しじゃ儲からんだろ。 個人的な感覚では、家族持ちで30代前半辺りが一番使いやすい。 文句言わずに働くし。 独身で若い子を狙う会社が多いけど、すぐに辞められるしリスクがでかい。
独身で若い子・・・ハァハァ
>>322 何も試さずに言うけど、engineということはアプリの構造を成している
必要があるから、
vendor/plugins/test/ **app** /controllers/xxx_controller.rb
vendor/plugins/test/ **config** /routes.rb
じゃないの?
327 :
322 :2010/10/11(月) 01:03:35 ID:30uDXKOt
>>326 レスありがとうございます。
もちろんapp/controllersとかconfigとかディレクトリ作ってその中に入れたのですが、
原因がわかりました。
メインのアプリケーションとpluginの方で同じコントローラを定義してしまってたことが原因でした。
なんか勝手にプラグインの方が優先されるだろうと思ってたんですが、同じコントローラ
があった場合メインの方が優先されるようです。
お騒がせしました。
>>327 $LOAD_PATH($:) 上、
本体のが先に見つかるようになってるんじゃないのかな。
329 :
327 :2010/10/11(月) 02:40:59 ID:30uDXKOt
そのようです。 すみません、別の問題が出てしまったのですが、 vendor/plugins/test に入っているコントローラなどのクラスを、 メイン側でオープンして再定義するにはどうしたらよいでしょうか。 プラグイン内とメインアプリ内で同名のコントローラがあった場合はメインの方が優先されることが分かったので、 vendor/plugins/test/app/controllers/samples_controller.rb を app/controllers/samples_controller.rb でオープンして再定義できるのではと思ったのですが、 どうやら上記二つは全く別物として扱われ、下記が読み込まれると上記は無視されるように見えます。 もし上記のやり方でクラスオープンできないとしたら、どのようにしてplugin内のクラスをオープンして 再定義できるでしょうか。 ご教示いただけると嬉しいです。
>>317 案件の価格がおかしいだけ。
すぐに下がる
>>329 メイン側で
require 'vendor/plugins/test/.....'
してからでないと再オープンにならない。
332 :
302 :2010/10/11(月) 12:28:31 ID:R6zwuDNY
レスありがとうございます。 Radrails3β、RubyMine2.5、NetBeans6.9.1と触ってみましたが、 NetBeansがいろいろ設定が出来てよさそうでした。 NetBeansを開発環境として選定してみようと思います。
333 :
327 :2010/10/11(月) 13:47:56 ID:30uDXKOt
>>329 レスありがとうございます!
すみません、続けての質問になってしまうのですが、
require 'vendor/plugins/test/.....' はメイン側のどのファイルに書けばいいのでしょうか?
environment.rbの
require File.expand_path('../application', __FILE__)
の下に、
require "#{Rails.root.to_s}/vendor/plugins/testclient1/app/controllers/samples_controller.rb"
のような感じで書き足してみたのですが、サーバ起動時に
/rails_root_path/vendor/plugins/test/app/controllers/samples_controller.rb:1:in `<top (required)>': uninitialized constant ApplicationController (NameError)
のようなエラーが出てしまいました。
ApplicationControllerが定義される前に読み込んでしまってるようです。
また、testプラグインの全てのapp/以下のクラスを再オープンできるようにしたいのですが、
上記のような記述で1ファイルずつどこかに記述する必要がありますでしょうか??
質問ばかりですみません。教えていただけると嬉しいです。
334 :
327 :2010/10/11(月) 13:48:49 ID:30uDXKOt
require "#{Rails.root.to_s}/vendor/plugins/testclient1/app/controllers/samples_controller.rb" のtestclient1はtestの間違いでした。失礼しました。
>>334 app/controllers/samples_controller.rb はこんな構造になる。
require './vendor/plugins/test/app/controller/samples_controller'
class SamplesController < ApplicationController
# ここで定義を上書き
end
336 :
335 :2010/10/11(月) 17:29:28 ID:???
./ だとカレントが Rails.root でない場合は動かなくなるな。 Rails.root とくっつけるか、File.dirname(__FILE__) を使ういつもの パターンを使うか、1.9 なら require_relative あたりで。 Rails.root / vendor が $: に入ってるので、 require 'plugins/test/app/controllers/samples_controller' が 完結でよいかもしれない。
外部鯖のMySQLをDBとして利用する際の設定について教えてください database.ymlのsocketをいじってればいいと思うのですが…
>>337 他のホストで動いているMySQLサーバと通信するには、
MySQLサーバ側
* ローカルホスト以外からのTCP/IP接続を許可する
* 使用予定のアカウントに対し、接続元を許可している(GRANTの確認)
config/database.yml
* database, host, username, password, port を書く。(portはデフォルトのままなら不要)
* socketはいわゆるUNIXソケットローカルのパスにソケットファイルを指定するものなので、
外部とつなぐ場合は設定しない
339 :
nobodyさん :2010/10/11(月) 18:46:02 ID:y5s6alEO
外部サーバのMySQLに接続を試すの巻 | TrippyBoyの愉快な日々
http://blog.trippyboy.com/centos/外部サーバのmysqlに接続を試すの巻/ 2.MySQLサーバ内に”ユーザ@接続元IP”を作成する。
>grant all privileges on *.* to user@”接続元IP” identified by ‘password’;
↑この設定だと全DBにアクセス可能になってしまいますので、特定のDBをお望みの
場合には、「*.*」を「tokutei_db.*」のように変更してください。
340 :
327 :2010/10/11(月) 18:57:04 ID:30uDXKOt
>>335 レスありがとうございますm(_ _)m
なるほどファイルの中に直接requireを書いてしまうんですね。
require 'plugins/test/app/controllers/samples_controller'
でオープンできました。ありがとうございます。
ただ、一つ問題があって、メイン側で再オープンしたクラスのコードを編集して、
ブラウザをリロードしても、変更が反映されないようなのです。
Webrickを再起動したら反映されたので、どうもキャッシュが効いてしまってる気がします。
もちろんRails.envはdevelopmentです。
メイン側で再オープンしたクラスを編集した際、サーバ再起動しなくてもすぐに反映されるようにしたいのですが、
どうすればよいでしょうか・・。重ね重ねすみません。ご教示いただけないでしょうか。
あと、($:).grep(/vendor/) すると vendor/plugins/test/app/contorollers
も出てくるのですが、
require 'samples_controller'
だけだとなぜか読み込まれないようです。
require 'plugins/test/app/controllers/samples_controller'
で読み込めるので特に問題はないのですが・・
再起動して反映されるなら、そういう仕様なんじゃないのか。
342 :
nobodyさん :2010/10/11(月) 22:46:45 ID:JjNw2+ys
>>340 >require 'samples_controller'
>だけだとなぜか読み込まれないようです。
なぜかもなにも、sample_controller という名前に該当するファイルは、$: パス検索上、
まず app/controllers で先に見つかり、それは自分自身なので当然 require 済み。
344 :
340 :2010/10/12(火) 04:28:56 ID:m4lv44sZ
>>343 そーかなるほど汗
お馬鹿なことに気付きませんでした。
ありがとうございます。
キャッシュの方の問題が、まだ解決しません。
おそらくプラグインで定義されているクラスのオープンしているので、
オープンして再定義したクラスもプラグインのものとして扱われているのだと思います。
なので、プラグインをキャッシュせず、毎回アクセス毎に読み込み直すようにすればよいと思うのですが、
そのやり方がまだわかってません。。
>>344 ActiveSupport::Dependenciesの魔境をhackしたい、かつ、それができないとどうしても
先に進めないというので限り、毎回再スタートすることにして本来の問題に対処したほうが
いいと思う。
ちょっくら見てみるかぁ…
Railsプラグインって、デフォだとdevelopmentの初期設定でもリロードはされないよな、確か require_onceだったか、dependenciesのリストから対象ファイルかディレクトリを省く方法あったはず
348 :
nobodyさん :2010/10/12(火) 20:21:26 ID:ywYvZKK9
349 :
nobodyさん :2010/10/12(火) 23:03:22 ID:q7v2ASbI
350 :
nobodyさん :2010/10/13(水) 23:25:07 ID:6xKBidge
windows環境でrailsを始めてみようと思うのですが、 win用のtextMateとNetbeansではどちらがオススメでしょうか?
windows環境でrailsは全くオススメ出来ない
理由は?
354 :
351 :2010/10/14(木) 21:03:28 ID:???
>>352 それは承知なのですが、そこをなんとか!
とりあえずある程度慣れたら、Linuxもしくはマックへの移行も考えております。
gvimでいいと思うよ
ちょっと質問いいでしょうか? routes.rbにて、 map.connect 'download/:id.:format' みたいにアップロード済ファイルをダウンロードさせようとして:formatを指定させた場合に ダウンロード自体が上手く入っているときはよいのですが、 権限が足りないなどエラーが起きたときにエラーメッセージをrender :templat => "my_error" として 表示させようとすると、params[:format]がhtml以外のときに、正しくmy_error.html.erbでなくmy_error.erbを読もうとして、 また、htmlではなく、params[:format]な形式で変えるようです。 エラー表示の時は無理やり params[:format] = "html"すればよいようですが、 renderに指定するようなもっとスマートな方法はないものでしょうか? Rails 2.3です。
訂正 > 表示させようとすると、params[:format]がhtml以外のときに、正しくmy_error.html.erbでなくmy_error.erbを読もうとして、 > また、htmlではなく、params[:format]な形式で変えるようです。 表示させようとすると、params[:format]がhtml以外のときに、my_error.html.erbではなくmy_error.erbを読もうしてエラーになりますし、 またこのときhtmlではなく、params[:format]な形式になるようです。
Netbeans最新版でRailsを使おうと思っています。 IDEを選ぶ前にInstantRailsを入れておいたのですが、 Netbeansの設定はデフォルトのJRubyがオススメでしょうか?
>>358 なるべく動作環境に合わせたほうがいいと思う。
JRuby環境で動かすならJRubyでいいだろうし(それならInstantRailsいらないんじゃ)
CRuby(本家のRuby)で動かすなら、InstantRailsのような環境を用意する。
でも、InstantRailsってとても古いように見えるからおすすめできないな
>>196 >>210 を読んだ上で、VirtualBoxなりVMWareなり入れてそっちに環境作ったほうがいいと思う。
開発マシンとファイル共有すればWindowsからもNetBeansで編集できるし
どうしてもWindowsにこだわるなら、 RubyInstaller
http://rubyinstaller.org/ とXAMPPかな(MySQLとphpmyadmin使えるから)
でも動作環境がunixならトラブルこと多いよ
残念ながらJRubyもIDEもWindowsもオススメできません
実際に使ってるおれからすれば、Windowsでも非常に快適だがな たまに苦労するけど、それはLinuxで苦労するのと同じくらいの頻度
362 :
358 :2010/10/16(土) 02:08:11 ID:???
>>359 詳しい解説ありがとうございます。
自分はCakePHPからRailsに移行したのですが、とりあえずRailsにある程度慣れて、
これはいけると思ったらマックを購入しようかなと考えております。
該当スレを読んで、なんでWindowsやnetbeansがオススメできないのかをもっと知りたく、
このサイト見てみましたがいろいろとあるようですね。。
http://blog.livedoor.jp/satoyansoft/archives/65344445.html VMwareを使ってLinuxで構築となるとちょっと敷居が高そうなので、
その時はマックを素直に買おうかなと考え中です。
とりあえずWindows環境でRubyとRuby on Railsにある程度慣れたい!という
自分の目的だと、
アドバイスに従って、RubyInstallerとXAMPPとe-texteditorで練習するのがベストじゃないかと思いました。
ちなみに、InstantRailsを使ったのは、「RailsによるアジャイルWebアプリケーション開発 第4版」に合わせようと
思ったからです。
>>360 JRubyがオススメできない理由をもしよければ教えてもらえないでしょうか?
JRubyの記事や高速化の話題は検索しやすいのですが、オススメできない理由はなかなか探すことができず。。
横槍で突っ込んでみる。 自社サービスも案件も全てRailsオンリーの会社で働いてるけど、普通にWindows使いもたくさんいる。 エディタはやっぱりeclipseが多い。 Aptana使うにしてもわざわざeclipseのプラグインで使ってる人が多いみたい。 まぁeclipseのことはあまり知らないけど。 Netbeansは周囲には全然いない。。 自分はLinuxでVimだけど、LinuxならEmacsの方が多いかな。 まぁ結論としてはWindowsでも全然問題ないと思う。 RubyInstallerは初心者には無難だと思うよ。
rubyやっとことないけどrailsて結局何がいいの? アクティブレコード?
うちは開発ほぼ全員Mac。Windowsは1人かな。その人はVM入れてLinux。 MacでもどうせRubyとか入れ直さないといけないし、買ったらすぐ使えるわけでも無いけど、楽なのは確か。
情弱だと入れ直さないといけないんだよね。
入れ直さないといけないというより、システムに入っているのはあてにならないというか。 しばらく待てばOSアップデートされたりするんだけどね。 でもいまだにOSXの標準だと 1.8.7p174。 rvmで所望のバージョン入れたほうがいい。
Macの標準で入ってるものはreadlineがあれなので、irbやscript/consoleとかで日本語通らないからな MacPortsで入れるか、入れ直す
Railsはじめたばかりなのですが、 参考になるサンプルが置いてあるオススメのサイトを教えてもらえないでしょうか? 現在、シンプルにFat Modelな感じで書いてあるサンプルを探しています。 コントローラとビューの連携はなんとなくわかったけど、 Fat Modelな感じで、コントローラとモデルを連携するやり方を模索中です。 モデルがActive Recordと書かれているので、最初は戸惑いました。 「リファクタリング Rubyエディション」とか買ったら、こういう例は詳しく書いているのかな。
Rails初心者なら入門書を1冊買って体系的に学んだほうが良いと思うよ。
371 :
nobodyさん :2010/10/16(土) 14:56:24 ID:B+/gTTuN
372 :
369 :2010/10/16(土) 15:05:09 ID:???
>>370 やはりそうですよね。
「RailsによるアジャイルWebアプリケーション開発 第4版」をとRailsレシピブックを買ったのですが、
もう少し薄い感じで、簡単にRailsの事を網羅している本を探しに行きたいと思います。
>>371 そのエントリはすごく参考になりました。
つまり、Fat Modelで書きなさいってことですよね。
コメント欄で書かれていた、 ActiveRecordを使うモデルと、ロジックのみのモデルは
分けるという人が印象的でした。
データベース連携用のモデル、Fat Model実現のビジネスロジック専用のモデルを
分けるという考えはナイスだと思うのですが、みなさんはどう思いますか?
第4版?まだ英語版も出てなかったと思うが えせでもfatでもskinnyでもいいけど、 概念ばっかで具体性がないから何とも言えない。 そんなんでナイスとか言えるのは無能で何も分かってないコンサルくらい。
>>362 理由は、JRubyでのRails開発例を丁寧に紹介していたサイトを見た初心者の人が
その通りにやって全然動かなくて困っていたのを過去スレか関連スレで見たので。
え・・・理由ってそれだけ?
Railsに慣れたいってことなら、くだらないことで躓かないようにと 忠告してやってんのにそういうレスするわけか まあ、気概があるなら好きにやってくれ
自分でやったわけでもなく、 初心者がどこかのサイトを見てやってつまずいたレスを 2ちゃんのどこかのスレでただ一度見ただけ・・・
>>362 >>372 > 「RailsによるアジャイルWebアプリケーション開発 第4版」
おいそれ、まだ日本語訳でてねーぞw 英語版もベータだ
>>13 に書いてあるから英語版か?
>>13 にある Head First Railsもオススメだと思うぞー
>>362 > 該当スレを読んで、なんでWindowsやnetbeansがオススメできないのかをもっと知りたく、
> このサイト見てみましたがいろいろとあるようですね。。
>
http://blog.livedoor.jp/satoyansoft/archives/65344445.html このサイトの内容は重ね同意だな
Capistranoが動かないというのは本当でもありウソで、俺はパッチ当てて使ってる
エラーでたのをググって参考にしてパッチ当ててるだけだが(確かコマンド起動時のパス区切りの問題)
つまりちょっとしたトラブルを自分で調べて対処できないと面倒だよ、ということ
実際はそのちょっとしたトラブルが多いけどな
それとググるときは英語圏も必ず見る。日本語サイトになくて英語サイトに書いてあることで悩んでる人たまに見かける
そのサイトでは、eTextEditor勧められているけど、IDE使っているとeTextEditorは不満が多すぎるし、
普段からIDE慣れしている人ならIDEでもいいだろ。他の言語のようには使えないのが前提だが。
vimやemas使える人ならWindowsでも動くし悩む必要ないよな。
381 :
nobodyさん :2010/10/17(日) 02:06:32 ID:z6s2Wyjr
ApplicationControllerで @myvar と変数を定義して、 layout/application.html.erbの中でこの変数を使いたいのですが この変数は取得できないようです。 各Controllerで定義したインスタンス変数はapplication.html.erbで取得できます。 ApplicationControllerは各Controllerが継承しているので、 理論上では取得できるように思うのですが。。 どこで間違っているのでしょうか。
384 :
nobodyさん :2010/10/17(日) 04:53:56 ID:3XvDZpS3
385 :
nobodyさん :2010/10/17(日) 05:24:35 ID:RZjf9c2/
application.html.erbの優先度は低くて、処理しているコントーラーに対応するコントローラー名.html.erbがあるとそっちのレイアウトを利用します。
http://akr97.com/capsule/?p=871 変数はapplication_controller.rbかhoge_controller.rb
>>383 もしかして
class ApplicationController < ActionController::Base
@x = 10
end
のように、ApplicationControllerの *クラスに* インスタンス変数を定義してはいない?
たとえば、before_filter を使うなどして、コントローラの *インスタンスに* インスタン
ス変数を定義すれば、使えてるけど。
app/controllers/application_controller.rb
class ApplicationController < ActionController::Base
before_filter do
@x = 10
end
end
app/controllers/test_controller.rb
class TestController < ApplicationController
end
app/views/test/index.html.erb
<%= @x %>
388 :
nobodyさん :2010/10/17(日) 09:05:41 ID:RkRpy3Pl
389 :
369 :2010/10/17(日) 10:18:24 ID:???
>>373 すいません。第3版でした!
Modelをロジック専用とデーターベース連携専用に分けるというのは、
よくないとアドバイスされました。それより、UserとかBookとか概念ごとに分けろと。
確かに、全然分かってませんでした。
>>379 Head First Railsも一緒に買っておいたほうがいいかもですね。
立ち読みした感じでは、ちょっとくどいかなあと思ったのですが、細かい部分で参考になるかもしれないし。
>>380 eTextEditorを使って見ましたが、どうも使いにくい。。
NetbeansとJrubyで練習しようと思っているのですが、開発段階だとそんなに問題はないんじゃないかと
思っているのですが、やはりこのスレの人達が指摘するようにJruby使うとつまらないことで悩むことが多くなるのでしょうか?
単純に、サーバーにアップロードする時にLinuxとかが必要なのであって、Herokuのようなレンタルサーバを使うことを
考えているのなら、Windows環境でNetbeans+Jrubyでもはまることは少ないのではと単純に思っているのですが。
(これは勘違いしてそうな気もしますが。。)
Windows以外も使えるスキルを持っているなら、Linux/Macを使って開発したほうが 実行速度も速いし、環境の違いによる問題でハマらない。 メインOSがWindowsでもVM上でLinux使えるし。 Windowsしか使った事がない人は、Windowsでやればいいよ。 というか、一般的には本番環境を先に想定して 本番環境と同じ環境を開発環境として構築するほうが良いのでは?
391 :
369 :2010/10/17(日) 12:07:18 ID:???
>>390 参考になります。環境の違いでハマらないというのが大きそうですね。
392 :
383 :2010/10/17(日) 18:24:02 ID:???
>>386 ありがとうございます!
まさにその通りでした。なるほどクラスインスタンス変数になってしまうのか。。
>>390-391 さすがに動かすことを念頭にするなら、まず適当なスケルトン作ってデプロイして動かすまではやらないとね・・・
趣味や勉強でやるんなら別にあとでもいいんだろうけど
例えだけどさ、極端な例だけどherokuで動かすんならherokuに合わせた環境構築や開発の仕方するよね
read onlyなファイルシステムを最初から考慮して作るとか、
本番はPostgreSQLだからSQLiteで開発しない方がトラブらなさそうとか
>>386 >>392 selfが今なんなのか意識したほうがいいと思う
ビューの中のselfはコントローラではないという罠もあるな。
どこが気持ち悪いのかよく分からんな
そもそもの話はすべてのviewで共用する変数を定義したいってことじゃないの? ヘルパーに切り出す方が自然な気がする。
あれ、過去レス見たら少し違うのか。↑は無視してくれ。
> ヘルパーに切り出す方が自然な気がする こっちの方がはるかに不自然だと思うのだが なんでヘルパーにデータを持つんだよ
う〜ん、例えばレイアウトに全ページで共用するヘッダーがあったとして
そのヘッダーの中でログインユーザー名を表示する場合、
>>386 のようなfilterでデータ取得するのが一般的なの?
helperにログインデータ取得するメソッド用意した方が自然だと思う。
======== hoge.html ======== <%= render :partial => 'login' %> ======== _login.html ======== <% if user? %> <%= _("welcome %{firstname} %{lastname}: ") % {:firstname => current_user.firstname, :lastname => current_user.lastname} %> <%= link_to _('logout'), :controller => 'user', :action => 'logout' %> | <%= link_to _('Change password'), :controller => 'user', :action => 'change_password' %> <% else %> <%= store_location %> <%= link_to _('login'), :controller => 'user', :action => 'login' %> <% end %>
402 :
nobodyさん :2010/10/18(月) 09:10:50 ID:FFohIYs0
コントローラにログイン中のユーザを取得するメソッドを定義する。さらにhelper_methodでビューでも同じメソッドが使えるようにするほうが楽だと思う。
404 :
まつもとひろゆき :2010/10/18(月) 14:10:16 ID:TOj6ZcL9
Ruby語るのやめろ
405 :
まつもとひろゆき :2010/10/18(月) 14:18:29 ID:TOj6ZcL9
Ruby使ってるやつってクソマカ比率高いよな クソアップル信者でiphone常時してるから 38口径で頭ぶち抜かれて死ね
糞コテ黙れよ
>>402 が正解だな。
helperは出力の整形に専念すべき。
symfonyのsfFormみたいなのって、railsにないですか? form helperとバリデートエラーをいちいち書いてくのが面倒
railsは、MVCでいうところのVIEWの部分しかできない気がする。 というのも、DBを見せて、レコード単位で修正して、コミット。 これくらい。 だから、Javaになっちゃうんだよなぁ。 rubyで開発したいのに・・・。
ORM使ってる限り無理
もうさっぱり意味がわからん><
412 :
411 :2010/10/18(月) 20:44:52 ID:???
自演乙
?
416 :
nobodyさん :2010/10/19(火) 10:36:16 ID:qdEsdvTb
418 :
nobodyさん :2010/10/19(火) 14:55:14 ID:D5gXl5t2
419 :
nobodyさん :2010/10/19(火) 15:20:01 ID:OOR4P+Yd
http://ja.wikipedia.org/wiki/Lucene Lucene(ルシーン)は、Javaで記述された全文検索ソフトウェアである。あらかじめ蓄積した大量のデータから、指定したキーワードを探し出す機能を持つ。Javaのクラスライブラリとして提供される。
概要 [編集]
1000万ドキュメントくらいの規模まで1台のマシンで対応できる。それ以上を複数のマシンで分散検索できるようにするHadoopというサブプロジェクトがある。
今、使っているRailsのバージョンが2.3.8と3.0.0の2つなんだけど、 mongrelは2.3.8だと動かない(少し修正すれば動くけど)ので、開発時はthinを使ってる。 本番環境ではthinかunicorn。
421 :
420 :2010/10/19(火) 15:28:33 ID:???
ちょっと訂正。 prefixをつけて起動した時にmongrelの場合、そのままでは動かない(relative_url_rootの関係)
422 :
nobodyさん :2010/10/19(火) 15:31:10 ID:OOR4P+Yd
railsで作られたシステムを引き継いだのですが migrationファイルとDBの内容が違いすぎてまともに拡張できません (rake db:migrate や generate model がやれない) こういう場合、みなさんはどうされていますか?
このスレの前の方に書いてあるよ
migrationファイルを捨てる
ついでに。 translationファイルで、定数やRubyコードって使えないんですか? モデルの数の分だけ、 updated_at: 更新時刻 みたいなのがズラーと書き込まれれて、DRYも糞もねぇという感じなのですが
そんなの共通化するに決まってるだろ 糞もねえっておまえが糞なだけだ
gettext packageはもう開発中止なんだろうか。
yaml使ってるんじゃないの?
標準のi18nライブラリ(gem)では、YAMLだけでなく、Rubyの生コードの形でも 翻訳データを置いておけるみたいだから、その中で好きにしたらいい。 see lib/i18n/backend/base.rb#load_file, load_rb, load_yml
>>429 最後のリリースの後もコミットはしてるみたいだけど活発ではないね。
個人的にはRails標準の方式が良いとは思えないので、
せめてRailsのバージョンアップに追随して動作するようにしてほしいところだけども。
passenger3.0よさそうだね
よし、おれがPassenger3.0の人柱になってやるぞ
乗り遅れた感はあるけどwindowsでのRails開発について そりゃ本番環境がlinuxならlinuxで開発するのが最良…だと言いきれない2010秋 このスレで言われてるほどwindowsでの開発がダメだとは全然思わない つーか現場はもうwinだよ圧倒等的にwin 右も左もwin&winだよどこの会社も たまに躓く事もある でも大抵解決できる そのくらい解決出来ない奴はLinuxでもMacでも躓く 同じ事 IDEはNetBeansが最も優秀 会社からの縛りが無ければ有無を言わさぬ完成度 Java界隈での圧倒的強さからEclipseベースAptanaを使わないといけない会社だったら仕方ないけど 自分で選べるならもうNetbeans一択でしょ 2年ぐらい前ならまだ並んでたけど今は完全にNetbeansが優秀 あとこれ言っちゃうと確実に荒れるだろうけど未だにEmacs最強とか言い張る人はもう時代遅れ Emacs開発の大御所ですら「未だにEmacs使ってる連中は原始人 Netbeans使え」っていう時代ですよ そのくらい生産性が違う チーム開発ならさらに違う 低能大量参加の大規模開発ならもう月とすっぽん そういう時代ですよ もう2010年ですよ 平成も佳境ですよ 東京のRails開発者の某集いでもNetbeansの話で持ち切りですよ ライトニングトークで「僕は未だにEmacs使ってます」とか言うと会場爆笑ですよ つまりEmacs使ってるのはもう自虐っていうかギャグ扱い ギャグだよギャグ だってもう2010年だもん お前らいつまでも古き良き昭和を引きずってんじゃないよもう平成も佳境なんだよ
passenger3.0ヤバい 何がヤバいってとにかく速い 55%ぐらい早い これは凄い テストしようと思ったらもう終わってる感じ そのくらい処理が速い 速いっていうか薄いっていうのかな?レイヤーが薄い感じ なんかもう「デプロイ環境を整えるのに素人だと一苦労」みたいな時代を一変させる完成度 なんだろうサッカーに例えるとRails2.0+Mongrelがオランダ・トータルフットボールで世界に衝撃を与えたとすれば Rails3.0 + Passenger3.0 + Ruby1.9はカテナチオ まず失点しない 堅牢かつ鉄壁 地味だけど結果を残す 地味な役回りのはずなのに存在感抜群って何だよその矛盾おかしいだろって誰しもが突っ込みたくなるぐらいのプロダクト あぁ…ため息が出るくらい凄いねこれは リリースされて5年を経て成熟した大人のRailsがここにある 陰湿な狂気とも称されるMatzのRubyがラテンの血を引くDHHのRailsフィルターを通して世に一石を投じ、 オランダの地で若きChineseの手によってここに完結する 全てのwebアプリケーションがここに集約される それがPassenger3.0だ 全く…なんて時代に俺らは生まれちまったんだ 運命の悪戯かい?いや必然だろう 生れし事自体が必然 そして俺はここに宣言する 「ペニーオークションは詐欺だと」
アプリケーション内部で起きたエラーをどのように処理すればいいのか分かりません。 いつも迷ってしまうので、大抵は例外をキャッチ(またはraise)して自作のエラーページに飛ばすようにしています。 例えば以下のようなケース @トランザクション内でエラーが発生して、ユーザーが投稿したデータが登録できなかった。 Aあるブログのエントリページを表示しようとしたが、存在するはずのエントリが存在しなかった。 BユーザーがURL決め打ちして、本来遷移するはずのないページにアクセスしようとした。 一般的にはどのように対処すべきでしょうか。 自分の考えとしては、 @は例外キャッチしてエラーページに飛ばすのが適切だと思います。 Aは例外が発生しないケースもあるので強引に自分でraiseしてエラーページに飛ばしています。 Bのようなケースは…いつも悩みます。全てのユーザーの操作を予測するのも不可能なので。 何か目安になるような指針がありましたら教えてもらえないでしょうか。
3のケースはSEOの事を考えると404ステータスを返すべきだし、自分はそうしてる。 ページが見付かりませんといいつつ、200を返してると意味ないので注意。
それは2のケースじゃなくて?
Bで404はあり得んだろ サーバー側のミスじゃないし
あくまで一般的になら、3はRoutingError等で404だな
442 :
438 :2010/10/20(水) 10:27:41 ID:???
CakePHPから移行してきたのですけど、 まだRailsになれてないならRails3に移行するのは辞めておいたほうがよいでしょうか? 英語のドキュメントはそれほど苦にしません。 雑誌のRails3特集を読むと3を試したくなってきた! 環境はWin、使う予定のサーバはHeroku、IDEはNetbeansです。
>>443 むしろ rails3 から使い始めるべきかと。
rails 2系列と比較しても、CakePhp 1.3や2系列と比べても桁違いに良くなってるから
>>444 背中を押された気がいたします。
3で、ruby 1.92からはじめちゃいそうです。
リリースされたばかりで日本語の本はまだ無いのがな・・・
gem install mysql2で頓挫する443が目に浮かぶ
今、mysql2なるgemを入れたけどすんなりなのだが winの環境作りを根本的にわかってないだろ
3はまだやめた方がいいよ〜 3未対応のプラグインがまだ多い。 トラぶった時にググっても情報が出てこない。
すでにRails3で仕事してます。 特に困ってないかも。 動かないプラグインも直してるし。というかそんなに深刻な変更じゃないので。
NetBeans 6.9 と rails3 と ruby1.9.2 でデバッガーが動かないというのは深刻な問題だよね。 まあrails3の問題ではないんだけど。
資産がある人は移りにくいように感じるのは仕方ない ただ新しく始める人は やっぱ 3から始めたほうがいい 英語力に難があるという人はトラブったときはキツイのは確かかも
Railsに限ったことじゃないけど たとえこの先3系メインになったとしても 古いバージョンの知識ってのも価値あるものなんだぜ
メジャープラグインだけど開発停滞してるものやマイナープラグインは3に追従できていなくて、 メジャープラグインはRails 3に移行してて、2は開発停止していたり 今はどっちつかえばいいんだよ状態
>>452 > 英語力に難があるという人はトラブったときはキツイのは確かかも
これはRails 3関係ないぞw Rails全般だな
このスレで分かる人がいないようなちょっとしたハマりも、海外サイト検索するとパッチあったりするから
英語圏の検索は必須ですよ
>>454 例えばどのプラグインだよ
おれが使ってるやつはとっくに移行してるが
457 :
nobodyさん :2010/10/21(木) 02:19:22 ID:o8axWtCH
windows 98 windows 2000 windows Me
大場さんの image_upload プラグインは、とにかく手軽で便利だったのでよく使っていたけど 3だと動かなくて困ってる・・・ 自力で同レベルのプラグイン書く力もないし orz
459 :
nobodyさん :2010/10/21(木) 06:23:03 ID:oR9XYeVm
460 :
nobodyさん :2010/10/21(木) 06:47:58 ID:3qeZiQg2
461 :
nobodyさん :2010/10/21(木) 07:30:35 ID:Dlexllps
462 :
nobodyさん :2010/10/21(木) 12:16:00 ID:GrbBBhd8
人が集まるとスパムが始まり、いなくなるとやむな
>>456 たとえば Hobo (プラグインじゃなくて巨大拡張だけど)
巨大かつ Rails の内部に依存した所も多くて、Rails3 対応版はまだかなり不安定
activescaffoldはrails3 forkがあるようですが問題なさそうでしょうか?
467 :
nobodyさん :2010/10/21(木) 16:30:46 ID:PfYYfaDv
468 :
nobodyさん :2010/10/22(金) 11:31:45 ID:Dlp3bYHg
469 :
nobodyさん :2010/10/22(金) 15:04:44 ID:yRad/g7q
470 :
nobodyさん :2010/10/22(金) 15:13:59 ID:yRad/g7q
PerlbalのX-Reproxy
このスレに触発されて、Rails3をインストすることにしました。 時代遅れのInstant Railsはフォルダごと削除。 Rubyinstallerの最新版をインストして、 gem install rails これだけで全部終わりなんですかね。。
472 :
nobodyさん :2010/10/22(金) 18:32:07 ID:GDhs0RJ7
473 :
nobodyさん :2010/10/22(金) 18:56:38 ID:EbGsyzYi
>>471 Rails3へようこそ!がんばってなんか作ろうぜ!
Windows環境ならVirtualBox上のLinuxでRails動かしたほうが楽なんじゃないの
どの辺が楽だと想定してるんだ?
人によるけどWindowsべったりだった俺が折れてVirtualBoxのLinuxで開発しているくらいにはRailsはWindowsで動く
楽かどうかは知らんが 少なくとも無駄な苦労をしなくて済むのは確実
言ってることがほんとにわからんのだが・・・ 下手くそな英語の訳文みたいだな
480 :
479 :2010/10/23(土) 02:22:46 ID:???
一応Windows上でもRailsは動くけど全然使い物にならないと言いたいんだろう
482 :
nobodyさん :2010/10/23(土) 07:54:57 ID:VcLCHqD4
483 :
nobodyさん :2010/10/23(土) 08:07:16 ID:N2kRvVs5
file_fieldヘルパーでアップロードしたファイルについて、 RMagickを使わずにwidthとheightを取得する方法は無いでしょうか? ファイルサイズ、content-type、ファイル名などは取得できるのですが、 widthやheightを取得する術が分かりません。
485 :
nobodyさん :2010/10/23(土) 14:37:09 ID:7I6b7du9
amatsuda-i18n_generator で generate i18n jaした後、バリデーションメッセージが --- %{model}に%{count}つのエラーが発生しました。 次の項目を確認してください。 * %{attribute}%{message} * %{attribute}%{message} --- みたいになってしまいます。 (model,count,attribute,messageが評価されずそのままでてきています。) gem_version は 2.3.5 で、amatsuda-18nは 0.6.0です。 直すにはどの辺を疑っていけばよいでしょうか?知恵をお貸しください。
昨今、bundlerを使い始めた者です。 bundler使用時、例えばなんですが、 Gemfileに gem 'haml' と書いて、 bundle install vendor/bundle とやると、 hamlがすっぽりvendor/bundleに入ってくれて嬉しいのですが、 hamlにパスが通らないので、コンソールからの haml --rails . が出来ませんよね。 現状、しょうがないので、不本意ではあるのですが、 hamlなど、コンソールからもなにがしかを実行する必要のあるgemだけは gem install haml として、システム側のgemとして入れるようにしています。。。 これしか方法はないのでしょうか。 どなたか、よりスマートな解決策があれば、教えて下さい。
488 :
484 :2010/10/23(土) 18:09:46 ID:???
>>486 ありがとうございます。
image_size.rb使ってみます。
>HTTPに画像を送る際の縦横のサイズを送るための取り決めなんてないから
うーむ成程、こういう視点から考えられるようになりたい。
>>487 bundleされたgemに含まれるコマンドを実行するには、
$ bundle exec haml --rails .
とする。
思ったよりrails3が盛り上がってない印象なんだがどうなんでしょ
もう使う人は普通に使ってるからでは。
Rails3の本が出て欲しい!! 今、日本で一番詳しいRails3本はWeb+DB PRESS vol.58だろうし。
Netbeansが良いとか言ってる奴に聞きたいんだが どこがいいの?
Eclipse だと面倒な環境構築が簡単にできる。補完もNetbeansのほうがいいと思う。
495 :
487 :2010/10/24(日) 03:59:06 ID:???
でもNetBeansの未来は明るくないよね
EclipseってAptanaのことか?オールインワンがあるじゃん。
Emacsが良いとか言ってる奴に聞きたいんだが どこがいいの?
Herokuなどのクラウドで動かしていたら大規模化のためにsqlight3をnosqlにするとか考えなくていいの?
500 :
485 :2010/10/24(日) 09:17:15 ID:0nJ7JD9V
何時間も悩んでます。 誰かヒントだけでもお願いします・・・
sqliteでサービス公開するとか問題外だろ
>>500 それは、i18n-generatorsのバグだと思う。
config/translations/ja.ymlのcountの部分を修正すれば直ったような気がした
記憶があいまいだが。
%{count}を{{count}}にすれば直るかもしれん
503 :
485 :2010/10/24(日) 11:11:43 ID:0nJ7JD9V
>>502 ネ申ktkr!!!
ありがとうございます! 治りました!
>>501 モノによるが、sqliteは普通に使えると思うけど。
1アクセスのロックが10msと考えても秒間100アクセスで破綻しますね^^
一般的にどうかは知らんけど、うちの会社ではDB選択時にSQLiteは選択肢には無いな。 NoSQLにはすごく興味あるけど使える奴がいなくて結局いつもMySQLになってしまう。
SQLiteは現状確かにない。 MySQLもいいけど、PostgresSQLにトレンドが流れつつある気がします。 Oracleに買収されてからやっぱりMyの存在価値が薄くなってる。 NoSQLは様子見かな。金融系で導入され始めたら本格的な使用が出来る気がする。
金融系でNoSQLつかうわけないだろ
>>507 どっちかというと MySQL 派だけど、
PostgreSQL にトレンドが映っているというのは初めて聞いた。
煽りではなく、そう思った理由があれば書いてほしい
(ユーザ会での出席者でのアンケートで、など・・・)
PostgreSQL は 9 系がこの間出たんだよね。
あと、RDB と NoSQL は同じ土俵のものではない。
NoSQL が RDB を置き換えるわけではないと思う。
>煽りではなく、そう思った理由があれば書いてほしい オプソ関係者はみんなORACLEを避けてる
いじっているAPIの出力がJSON形式なのですが、 RailsでJSONを扱うオススメの方法を教えてもらえないでしょうか?
json.rb
そういえば、JSONは常にYAMLとしてもパース出来る、というのは真だっけ?
オラのとこはトランザクション絡まないシステムはmongodbに置き換えつつある。 postgresSQLはチューニングしなきゃならないが、かなり高速になる。ってー事で最近玄人好みされてると思う。
>>514 いやいやいやいや
activesupport-3.0.1/lib/active_support
の中見なさいよ。
正確にはソースじゃなくてAPIドキュメントの方だが。
517 :
516 :2010/10/24(日) 16:40:10 ID:???
おおう、active_supportってJSONはエンコードしか入ってないのか。
ActiveSupport::JSON ActiveSupport::JSON::Backends ActiveSupport::JSON::Backends::JSONGem ActiveSupport::JSON::Backends::Yajl ActiveSupport::JSON::Backends::Yaml ActiveSupport::JSON::Encoding ActiveSupport::JSON::Encoding::CircularReferenceError ActiveSupport::JSON::Encoding::Encoder ActiveSupport::JSON::Variable という並びを見るとエンコードしかできないように見えるが、メソッド名リストを 見ると、ActiveSpport::JSON.decodeもある。
MySQL に致命的な設計ミスがあってPostgreSQLはそれがないって聞いた覚えが
なんか伝聞で判断してんのかな? ブランドとかプライドとか、不思議なものは捨てて 自分のアプリケーションでベンチマーク取ろうぜ。 俺はデータベース使った事無い。
>>519 ありがとうございます。
さっそくチェックしてみたところ、
contents = URI.parse(url).read
contents = ActiveSupport::JSON.decode(contents)
contents = JSON.parse(contents)
どちらの方法でもデコードができました。
ruby 1.9以上だと require 'json'もいらないみたいです。
>>510 いやいや君全然追ってないでしょ
ORACLEはコミュニティがびっくりするぐらいmysqlに開発リソース割いてるしロードマップも明確にしたし買収以後mysqlの存在感はむしろ増してるんだけそ
適当な印象論でpostgreが優勢とか言っちゃうのはエンジニアとしての資質すら疑うな
524 :
nobodyさん :2010/10/25(月) 18:18:19 ID:K20DS9H/
フォームから渡ってきた値は基本的にString型だけど、 DBから取り出した値はInteger型 こういうケースがよくあると思います。 例えば以下のようなケース user_id = params[:user_id] @user = User.find_by_xxx(xxx) if user_id == @user.id end しかしRubyは型を暗黙に変換してくれないので、 このif文は絶対にtrueになりません。 そのため以下のようにしています。 if user_id.to_i == @user.id end これで問題無いのですが、Railsらしからぬとても無駄な記述に思えてしまいます。 これは仕方ないのでしょうか? あるいはもっとスマートな書き方があるのでしょうか?
世の中にはString型とInteger型とを演算すると勝手にString型へキャストしてくれる
迷惑な言語が存在していて、それをありがたく感じてる人もいるらしい。
>>525 の例であれば、モデル(DB)としてのuser_idはInteger型なのだから、
フォームから値を取り出す時に正当性検査と(Integer型への)変換を済ませておくのが
Ruby(Rails)らしいコード。
user_id = params[:user_id].to_i # 変数 user_id のデータ型は(String型ではなく)Integer型
527 :
525 :2010/10/25(月) 21:56:45 ID:???
>>526 ご返信ありがとうございます。
確かに明示的に変換するのが正しいコードだとは思います。
ただ、お決まりのコードは極力省いてくれるのがRailsの特徴だと思っていたので
とても不自然に感じました。
paramsから渡ってくる属性とDBから取得した属性が同じ名前であれば、
それは同じ型のはずなので裏で上手いこと処理してくれる、
という方がRailsっぽいと思うのです。
反論っぽくてすいません。Rails使いの方々がどう思っているのか率直に知りたいです。
posted_user = User.find_by_user_id(params[:user_id]) @user = User.find_by_xxx(xxx) if posted_user == @user とすれば明示的に to_i しなくていいよ。
if @user = User.find_by_user_id_and_xxx(params[:user_id], xxx) @user 〜
CGIフォームの値が型を持たないのが問題なんだよね
そういや普段何気なく使ってる
>>529 みたいなコードって
findの中でRailsがやっぱり型変換してるのかな?
SQLインジェクションですねわかります
>>522 その調子で先行き不安、今後はJavaに絞るという不確かな伝聞を聞いたNetBeansについて聞かせてくれ
>>532 tail -f log/development.log しながら
console で User.find_by_user_id(%q|'--update|) とかしてみればいいと思うよ。
>>532 find_by_*** は *** のカラムの型に合わせて型変換してくれてる。
windowsでrailsのデバッグがやっと出来ました。 おかげでいろんな事が分かった気がする。 しかしながら、rubyはwindowsユーザーに冷たすぎるよ。 rubyを世界的に広めていきたいのならもうちょっと何とかして欲しい。
>>537 >rubyを世界的に広めていきたいのなら
そうは思っていないんだろう
金出してる連中は知らんが
540 :
nobodyさん :2010/10/27(水) 12:27:42 ID:1WAhUTBd
ずっとwindowsでrails開発してるんだけど、 例えば、どのへんがwinに冷たいってことになるの? 特に不利を感じたことはないんだが、 なんせwinでしかやってないから、 俺が気づけてないだけなんだと思う。 だから、教えてくれ! winだと、どのへんで損してることになるんだ?
rails3 ruby1.9.2を使い始めました。 formの受け渡しの練習をしてみたら、謎のRounting Errorが。 解決方法を教えてもらえないでしょうか? ※コントローラ class AlertsController < ApplicationController def index end def show @name = params[:name] end end ※ビュー alerts/index.html <% form_tag :action => 'show' do %> <%= text_field_tag("name") %> <%= submit_tag "Send" %> <% end %> alerts/show.html <%= @name %> indexでフォームに文字を入力して、showで表示させたいのですが、エラーとなるのでうす。
>>539 PythonはGoogle、Rubyは楽天w
544 :
541 :2010/10/27(水) 14:06:05 ID:???
>>543 レスありがとうございます。
コマンドで rake routesをしてみたら、
alerts_index GET /alerts/index(.*format)
{:controller=>'alerts', :action=>'index'
alerts_index GET /alerts/show(.*format)
{:controller=>'alerts', :action=>'show'
このような表示が出ました。しかし、どうすればよいかは分からず。。
545 :
541 :2010/10/27(水) 14:19:08 ID:???
546 :
nobodyさん :2010/10/27(水) 14:26:59 ID:idCW7kQN
そういや、rails3ってデフォルトであった :controller/:action/:id のルーティングがなくなったんだっけか
form からの POST に反応するルールが必要ですな。 あるいは :method => :get にする。
なくなってはないよ
549 :
541 :2010/10/27(水) 14:33:59 ID:???
>>547 ありがとうございます。
routes.rbに
post "alerts/index"
post "alerts/show"
と書き込むと上手くいきました!
Railsはポスト使う時に、毎回手動でルートを書き込む必要が
あるのでしょうか?
そんなことはないよ
>>540 不便に感じてないんならいいんじゃないの
552 :
540 :2010/10/27(水) 17:02:37 ID:???
>>551 windowsしかやってないから不便に気付いてないのかもしれん。
windowsとlinuxの両環境でrails環境やってみた人の
意見がぜひ聞きたい。
聞くと何かプラスになるの?
>>550 やり方教えてちゃぶだい。 このとおり。m(_ _)m
555 :
540 :2010/10/27(水) 18:03:26 ID:???
環境をrails開発に最適化するのが目的。
善は急げということなら、
さっさとlinuxに移行したいと思ってる。
というか、それが善だということも、薄々は気づいてる。
なので、最後の決め手として、
>>537 のように、「rubyやrailsはwindowsに冷たい」と感じた人が、
具体的にどういった種類の冷たさを感じたのかが知りたい、
と思ったのです。
それではlinuxでやってみるといい
557 :
nobodyさん :2010/10/27(水) 18:36:11 ID:W7VQodGG
>>555 >>537 は実際にやってるわけだが、
ほかにレスしてるやつは具体的にはなにも知らないんだから無駄
勝手なイメージや古い情報、思い込みで言ってるだけ
↑勝手なイメージや古い情報、思い込みで言ってるだけ
↑勝手なイメージや古い情報、思い込みで言ってるだけ
windowsでrailsのデバッグがやっと出来ました。 おかげでいろんな事が分かった気がする。 しかしながら、rubyはwindowsユーザーに冷たすぎるよ。 rubyを世界的に広めていきたいのならもうちょっと何とかして欲しい。
562 :
537 :2010/10/27(水) 23:50:06 ID:???
↑間違って書き込みました。 WindowsのRoRで不満な所 ・Cのネイティブコードで書かれているソースがあって、Windows環境で動かない。 ・makeコマンド実行時にgemがエラーになる。 ・ruby-installerでインストールしないと、devkitがうまく入らない。 ・nginx + unicornがwindows環境だとうまく動かない。だから、今でもWEBrick。 ・IDEのデバッグスピードがもっさりしている。 ・JavaやC#やVBやPHPやPythonなどと比べて、開発環境を整えるまでの時間コストが膨大。 などが個人的な感想です。 ちなみに、開発環境は以下の通りです。 OS:Windows7 64Bit Ruby:1.9.2-p0 Rails:3.0.1 MySQL: 5.1.51 Netbeans:6.9.1 Webサーバ:WEBrick
devkitを入れれば大抵のgemはすんなり入るだろ 土台をきちんと構築せずにごまかすから後で苦労するんだ nginx+unicornはやってないからわからないが、 開発だけならwebrickで特に問題ないと思う。 もっさりは確かに困る。逆に言えばもっさりくらいだな。 ドキュメントは英語が多いけど、読めばちゃんと書いてある。 英語が読めて当然とは思わないけど、 やはり翻訳を使ってでも基本的な部分は読んだ方がいい。
Windows なら WEBrick じゃなくて mongrel でいいんじゃないの? 結合テスト以降から Linux に移行して unicorn なり Passenger で動かせば。
「でいいんじゃないの?」という言葉を使うならWEBrickじゃないか? 勝手にくっついてくるし、デフォルトではWEBrickが動くんだし
566 :
537 :2010/10/28(木) 01:53:16 ID:???
本読みながらRoR環境作ったけど、devkitなんて出てこなかった。
だから、ごまかしてはなくRuby、Railsの変化に本が追いついてない気がします。
(参考にしたのは、RailsによるアジャイルWebアプリケーション開発第3版。)
開発環境は本番環境と同じ構成にするのが普通だと思ってました。
単体がWindowsで結合からLinuxだと、少し複雑な環境になる気がします。
そんな開発はアリなのかな。rails採用企業の実態が知りたいです。
mongrel1.1.5はrequireエラーが出てるので、WEBrickメインで使おうと思います。
ここでmongrelの問題に時間をかけると、また時間コストがかかりそうなので。
希望としては、Windowsでpassenger3かunicornを採用してみたい所です。
RoRドキュメントはほとんど見てないので、
http://rubyonrails.org/documentationをざっと確認してみます 。
Rails + MySQLでトランザクションを実現したいのですが、 どうにも上手くいきません。 例えば以下のような場合、 BookモデルとAuthorモデルがあって、 BookをDBに登録した後にAuthorをDBに登録したいが 両方登録できた時のみ成功させたいのでトランザクションにする。 Book.transaction do @book = Book.new(:title => 'RoRの本') @book.save! @author = Author.new(:name => 'aaa') @author.save! @book.author = @author end こんな感じのコードを書いているのですが、 Author登録前に自分で例外を起こすとBookだけが登録された状態になってしまうのです。 何か考え方に間違っているところはありますでしょうか?
本に頼ってるようなレベルじゃ無理。 転職をおすすめする
>>562 その環境でデバッグできる?
俺出来ない。
>>557 GREE でも一部は ruby を使っているのか。
というか naoya さん、はてなからGREEに移ったのか。
572 :
nobodyさん :2010/10/28(木) 11:18:03 ID:lB+5Kgk7
save!じゃなくて save 使ったら?
573 :
567 :2010/10/28(木) 12:43:02 ID:???
返信ありがとうございます。
>>571 はい。テーブルは全てInnoDBにしています。
>>572 トランザクションにエラーを知らせるために敢えてsave!を使っているのですがこれは間違ってますか?
RailsはフォームヘルパーがCAKEに比べて貧弱ではないですか?
下記のようにradioボタンヘルパーを試すと、 {"東京"=>" みたいなムダなhtmlが生成されて まったく解決できずに禿げそうなのですが、解決方法を教えてもらえないでしょうか? ※model menu['category'] = { 'グルメ' => 'gurume', '美容' => 'biyou', } ※view <%= @menu['area'].each do |key,value| %> <%= radio_button_tag 'category', value %> <%= key %> <% end %> なぜselect_tagにはoptions_for_selectがあるのに他のものにはないんだ。。
すいません、 真ん中の@menu['area'] は @menu['category']です。
>>562 重ね同じ不満点
俺は結局devkit入れてなかったわw
当時はプラットフォーム指定mswin32で入らないのは無視してたな
cronで動かすようなバッチも無視
debian系ならaptでコンパイル環境一発で入るのは楽だね。
mswin32のRuby 1.8.7だとRubyGems含めた環境がもっさりなのが一番大変だった。
require 'rubygems'するともっさり、irbももっさり、Railsコンソールももっさり、script/serverももっさり
mongrelのテストサーバーももっさり。
一番遅いのは起動。動作はそこそこだけどやっぱり遅い。
同じマシンの仮想マシンにしたら起動は5倍程度速度アップ、動作はそこそこ速度アップ。
後者は測ってないから適当。
仮想マシンにせよ最近のWeb開発はマシンスペックいるよな。Core 2 Quad世代だとWindowsではきつい
>>562 >>569 >>562 ではないが、
肝心のデバッグはIDEでのデバッグはWindowsのときはほとんど必要性なかったな。
Windowsのアプリつくっていた時はそういうIDEでのデバッグが必須だと思っていた。
だけど、RubyやRailsだとscript/consoleやログ表示で大概解決してしまう。
あたりまえだが、テストも書く習慣できたし。
一応、ホストのIDEから仮想マシンのruby-debug-ideだったかにつなごうとしたけどうまくいってないし、
なくても間に合っているから放置してるw
IDEでデバッグが必要になる時点で、実はかなりハマっているので別の解決策を取れという指標にしてる。
Railsのソース読むのはデバッグ中じゃなくてもできるしな。
ちょっとした挙動はドキュメントのソース表示でも見られるし
503 とかのエラーの代わりにスタックトレースを出す方法ってどうするんでしたっけ
>>562 >>577 に追加して、Windowsだと面倒なのはUTF-8の入出力かな
特にコンソール。これだけはどうにもならないというのが結論。
コマンドプロンプトがUTF-8の入出力まともにできないのは有名だろうけど。
ログ表示はIDEでカラー表示切って我慢とか、
テストの実行はIDE上で行う(NetBeansはautotestサポートしてたり)とか、
Cygwinのターミナルで動かすと表示はいけるが、
その場合win32アプリで入力が絡むとまともに入力できないとか(下手すると裏で入力待ちで帰ってこない)、
autotestでコントロールコード送れないとか(これはなんとかなる方法あるかも)
これで問題を回避してまともに動けばいいけど、実際はもっさりもっさりなのでストレスMAX
Linuxに実行環境を移したら、これらの不満点がほとんど解決した。
仮想マシンに適当なsshクライアントで繋げば好き勝手できる。
環境を移動したらあっさり解決するとさすがに
>>538 のような状況にもなろう。
そういえば、デプロイツールのCapistranoもパス文字でバグってて使えなくてパッチあてた覚えあるな
とにかくそういった一つ一つ特有の問題を解決していく時間も必要。
根性とか根気よりも時間。
gem install rails
ではなく
空フォルダにGemfileファイル作って gem "rails" とだけ書いて
bundle install
でrails本体を入れるやり方って、どれくらい一般的なんでしょう。
いちいち bundle exec rails hoge としはくてはいけなくなりますが、
rails本体が共用でなくなるという点が、より衛生的ではあります。
皆さんはどうされてますか?教えて下さい。
↓bundle installでrailsをいれるというのは、こうゆうことです。
ttp://blog.madoro.org/mn/74
>>581 一時期そうしてた頃もあるんだけど、最近は開発環境では一切合切gemディレクトリに
放り込んで、そこからbundlerに選んでもらうという方針にしてる。
ディプロイ先にはできるだけgemを入れず、vendor/cacheとかかなぁ。
583 :
nobodyさん :2010/10/28(木) 23:24:04 ID:lB+5Kgk7
cakePHPクラスのでいいんで scaffold で生成される画面を もっとよく出来るプラグインとかないかな? 素のscaffoldはしょぼすぎるし、自分でカスタムscaffold書くのも面倒くさい
そんな面倒じゃないだろ、あれ・・・
585 :
nobodyさん :2010/10/29(金) 00:36:45 ID:UEaUow4P
Web App Themeは期待すると微妙・・・ そもそも素のscaffoldの存在価値ってなんだろう? プロトタイピングかはたまた10分でできる〜用にしか使われてないんだじゃないのか? 管理画面用と割り切っても、標準でpaginationもなければカラムのソートもない ActiveScaffoldや管理用のプラグインもあるにはあるが どれもエンドユーザーに触らせるようなものじゃないような
RESTfulコントローラ、モデルとルーティングとテストをまとめて作ってくれるとこは メリットだけど、ビューは本格的にやるとまず全取っ換えになる、と思う。
589 :
nobodyさん :2010/10/29(金) 10:30:30 ID:jE8RNlhf
590 :
nobodyさん :2010/10/29(金) 12:01:58 ID:WIhVPPdj
591 :
nobodyさん :2010/10/29(金) 12:26:23 ID:LJKkqodm
And 検索をしたいのですが、Rails 3で動く便利なプラグインがあれば 教えてもらえないでしょうか? key = 'ドラえもん 映画 2000' のようなキーワードをフォームに入力した時に、AND検索が できるような形です。 自力でやると、入力されたキーワードをsplitして、全角数字などは すべて半角に変換し、ひとつひとつループで検索にかけるといった方法があると思いますが、 これらを簡単にするプラグインがないかなあと。
593 :
nobodyさん :2010/10/29(金) 14:51:52 ID:ycBh3vCZ
>>593 ありがとうございます!
人気としてはThinking Sphinxが一番のようですね。
Rails 3にも対応しているし。
ぱっと見たところ、 ascts_as_searchableがすごく簡単そう。
ちょっといろいろ試してみます!
595 :
594 :2010/10/29(金) 16:30:07 ID:???
自分の用途は、 「APIから引っ張ってきた文章を、データベースに登録していたキーワードで 定期的にAND検索する」 というもので、データベースに登録しているものを検索するという用途では ないのですが、そのような単純な用途でも SphinxとThinking Sphinxを使う 意味はあるでしょうか? 単純にAND検索機能だけ使えたらいいなと思っているのですが、 Rails3の互換性とかGEMとかデータベースなど逆に複雑になるかもと悩んでおります。
Rails3っていうからDBから全文検索してくるのかと思ってたそれなら
>>593 だろうけど
597 :
594 :2010/10/30(土) 11:28:01 ID:???
>> 596 単純に毎回取得した文字列から検索となると、 データベースにindexとかつける必要ないですよね。 となると、自分でキーワードを分割して、ループで回してand 検索が いいのかな。
599 :
594 :2010/10/30(土) 12:26:09 ID:???
>>598 了解です。
こういう用途にはプラグインは使わなくてもよいと
いうことが分かっただけでもありがたいです。
文字列からAND検索の意味がわからん。。。
>>599 のやりたい事は、全文検索そのものだよね。
自分で仕組み作るより既存の全文検索エンジン使ったほうが楽だし、
今後も使いまわせると思う。
SQLiteにリードオンリーで接続するにはどうすればいいんですか?
Rails3って1.8.7と1.9.2でかなり速度変わったりします? だいぶ違うなら1.9.2に移行してみようかなと
超大雑把に1.5倍早いってことか
ポート3000ってことはdevelopmentで計ってるんじゃないだろうな
1.9.2 は 1.9.1 よりもっと早くなっているんじゃなかったっけ
610 :
nobodyさん :2010/11/02(火) 18:31:06 ID:U4NgbsnS
611 :
nobodyさん :2010/11/02(火) 22:35:29 ID:1T1hrq+0
twitterってrubyやめたんじゃなかったっけ?
ツイタに使われてるrorを導入するとトップページが書き換えられるからねえ。 Twitterの脆弱性突くコードが拡散 Webブラウザでのアクセス自粛呼び掛け Twitterの脆弱性を突いたコードが急速に拡散し、意図しないツイートをしてしまうケースなどが多発。当面、WebブラウザからTwitterにアクセスしないなどの対策が必要だ。 Twitterの脆弱性を使ったコードが急速に拡散し、意図しないツイートをしてしまうケースなどが多発している。当面の対策として、WebブラウザからTwitter公式ホーム画面にアクセスしないなどの対策をセキュリティーソフト会社やユーザー有志が呼び掛けている。 Kaspersky Labのブログによると、Twitterに存在するクロスサイトスクリプティング(XSS)の脆弱性が原因。ツイートにスクリプトを埋め込んだり、外部サイトからスクリプトを呼び出すなどしてユーザーに実行させることが可能になっている。 ユーザーにツイートを連鎖させるコードも出回っており、急速に広がっているもようだ。 コードによっては、ログイン状態でWebブラウザからTwitterにアクセスしてコードを表示させただけで自動的に実行されてしまうものもあるため、 (1)ログアウトする、 (2)WebブラウザのJavaScriptを無効にする、 (3)WebブラウザでTwitter公式ホーム画面にアクセスしない(安全が確認されているTwitterクライアントソフトを使う) といった対策が必要。Twitterが公式に脆弱性を修正したとアナウンスするまでは要警戒だ。
それもう修正済みじゃん。
バカの永久ループ
いつの話だよw
誰か管理画面用のテンプレート作って晒してくれ
普通にヘッダー、フッター、サイドメニュー、コンテンツの CSS作ればいいんじゃないの。
最近達人出版からcucumber本(電子書籍)が出たみたいだけど、買った人いる? railsでの使い方で書かれてるらしいけど、railsのバージョンは2系なのかな? 2系だと今更感あるから3系だといいんだが
対象は2.3.10だね。
>>619 レスさんくす 2系かー残念
ちなみに内容はどうだった?
初心者スレに誤爆して貼りにきたら、すでに話題出てたか
一応貼る
前にBDDの日本語の解説本かサイトを教えてくれ、という人がいたけど
BDDのツールCucumberの日本語の電子書籍がでてたから紹介しとく
さらっと前半読んだ限り、かなり基本的なところからスタートしてるが
つくりながら学んでいくタイプなのでBDDって何だよ、Cucumberやってみたいんだがわかんね、という人にいいんじゃないかな。
はじめる! Cucumber - 達人出版会
http://tatsu-zine.com/books/2 ただ、英語だとこの手の本はいくつあるので英語出来る人はそっちのがいいと思うけど
fishing詐欺?
達人出版会って怪しげなサイトが色んな所で宣伝してるっぽい ウザイからマジでやめてほしい。
ちょw怪しげとかw
amazon検索したけどRails3系の日本語の書籍はまだ無いね。。 ヘタレな俺は本で勉強してからじゃないと移行出来ない。
いや普通に移行できるって、まじで
3.0の和書が出るのは半年後ぐらいだと思うぞ。 それまで待つっていうなら自由だが。
dhhが書いてるやつの第4版(3.0対応版)の日本語訳って出るのいつ頃かなー?
↑タイトル教えてくれ。英語版でもいいから欲しい…
あの本、内容ほとんど変わらんと思うけど。Rails3に対応するくらいで
この程度の英語も読めないようじゃ技術者として終わってるだろ
雑誌だからかamazon売り切れか うっかりしてたわ Rails3の特集だけ別冊にして売ればいいのに 達人何とかででも
>>636 書く人がいればホイホイ出そうな気がするので頼んだぜ。
rubyっていつも他人任せだよね
今から入門する場合、Rails 2と3どっちがおすすめ? 英語は読めない
日本語のよるRails3での入門書はないので、Rails2でやるしかあるまい。 Rails2の入門書でやっといてRails3 はrubyonrails.orgの Guideの例をピーコして覚える。 そのうちRails3対応の入門書もでるだろうが、そのころにはRails4の足音が聞こえてくるだろう。
Refinery CMSとやらを動かしてみたらこれRails3で動いてんのな。 これから移行する予定なんで、はまったらこのソース参考にしようと思う。 さらにGemfile.lockみるとかなりの量のgemに依存していて、 つまりどのgemが3対応なのかもよくわかる。
643 :
nobodyさん :2010/11/08(月) 01:36:38 ID:dvhdnWyl
>>640 > 英語は読めない
Railsはおすすめできない
英語読めなくてもプログラミングの経験があるなら Rails Guidesに載ってるソースコードを眺めて多少試行錯誤すればいろいろ作れるようになる
rails2と3の違いなんて、ruby1.8.7と1.9.2程度の差だろう 大きな変更はあまりない 情報の多い旧バージョンで始めて、慣れたら現バージョンに移行すればいい
> rails2と3の違いなんて、ruby1.8.7と1.9.2程度の差だろう 大きな変更はあまりない でけーじゃねーかww > 情報の多い旧バージョンで始めて、慣れたら現バージョンに移行すればいい これには同意
2.3系は3系に応用利くから、2.3から始めるのも悪くない Rails3の案件キタ━━(゚∀゚)━━ !!
俺も2.3から始めるに一票
Rails 以外の MVC の知識があるなら、Rails3からの方がいいと思う。 ActiveRecordは2と3でずいぶん違うし、3の方が書きやすい。 ActiveModel使ってフォームクラス作ったりできるので、移行しやすい。 Railsが初MVCなら、情報が多い2.3からに同意。
速度的にはどうなの? 3の方が速い?
Railsソースコード内で自サーバーのホストネームを取得する方法は無いでしょうか?
http://myhost.com というアドレスをで運用している時に、
プログラム内で、myhost.comの部分を取得する方法を探しています。
外部コマンドhostnameで返ってくるのと同等のでよければ `hostname` とか require 'socket' Socket.gethostname で取れると思うけど、ホスト名もIPアドレスも1つとは限らないので…
system関数でOSコマンド叩いて何とかするくらいしかないんでないの ただ、普通はその手の情報はそれ専用のカラムを用意するなり定数ファイルに書くべきものだと思う
config.action_mailer.default_url_options = {:host => "..."} で設定したのを使ったり request.host を見たりしてる
request.host はwebサーバーが外部から受理した際の(バーチャル)ホスト名としては使えるけど、 proxyだったりすると、Railsアプリが稼働する自ホスト名ではないかもしれん。
サーバーごとに設定ファイルぐらい作れよ… initializers以下にでも置いて読み込ませればいい
>>657 >>653 の要望がどう書いてあるかよく読めよ
おれは
>>656 の「request」を使うに一票
設定ファイル作ってもいいけど、なんでサーバーごと?
サービスごとじゃなくて?
head first railsって本についてなんですが、 8章の途中(初版1刷だとp345)にある map.connect '/incidents/news', :action=>'news', :controller=>'incidents', :format=>'xml' ってルートがうまく動きません。 以下のように書いてるんですが map.resources :incidents map.connect 'incidents/news', :action=>'news', :controller=>'incidents', :format=>'xml' map.connect ':controller/:action/:id' map.connect ':controller/:action/:id.:format'
この書き方だと何か問題あるでしょうか?
map.connect 'incidents/news', :action=>'news', :controller=>'incidents', :format=>'xml' map.resources :incidents map.connect ':controller/:action/:id' map.connect ':controller/:action/:id.:format'
>>660 >>662 に先を越されてしまったのでくどくどと書いてみる。
ルーティング定義は、上のものから見ていって、最初にマッチした規則が使われる。
rake routes で、チェックする順に出てくる。
map.resouces はいろんな規則をまとめて定義してくれるもので、その中に
/incidents/:id(.:format) ってのが定義されており、/incidents/news は、これに
:id が "news" であると見なしてマッチできてしまう。
元の順序だと、 /incidents/news にアクセスしたとき、ログを見ると
Parameters: {"action"=>"show", "id"=>"news", "controller"=>"incidents"}
と出ているはず。
>>662 ,633
Couldn't find Incident with ID=news
はじめにそれでやってみて、
こういうエラーがでたんですが…
ルートを上にしても、ID=newsとされてみる?みたいです
map.connect 'incidents/news', :action=>'news', :controller=>'incidents', :format=>'xml' を map.connect '/incidents/news', :action=>'news', :controller=>'incidents', :format=>'xml' にしてみて
rake routes 貼って。
incidents GET /incidents(.:format) {:controller=>"incidents", :action=>"index"} POST /incidents(.:format) {:controller=>"incidents", :action=>"create"} new_incident GET /incidents/new(.:format) {:controller=>"incidents", :action=>"new"} edit_incident GET /incidents/:id/edit(.:format) {:controller=>"incidents", :action=>"edit"} incident GET /incidents/:id(.:format) {:controller=>"incidents", :action=>"show"} PUT /incidents/:id(.:format) {:controller=>"incidents", :action=>"update"} DELETE /incidents/:id(.:format) {:controller=>"incidents", :action=>"destroy"} /incidents/news {:action=>"news", :controller=>"incidents", :format=>"xml"} GET /incidents(.:format) {:controller=>"incidents", :action=>"index"} POST /incidents(.:format) {:controller=>"incidents", :action=>"create"} GET /incidents/new(.:format) {:controller=>"incidents", :action=>"new"} GET /incidents/:id/edit(.:format) {:controller=>"incidents", :action=>"edit"} GET /incidents/:id(.:format) {:controller=>"incidents", :action=>"show"} PUT /incidents/:id(.:format) {:controller=>"incidents", :action=>"update"} DELETE /incidents/:id(.:format) {:controller=>"incidents", :action=>"destroy"} /:controller/:action/:id /:controller/:action/:id(.:format)
すいません、ルートの中のたくさんあるコメントの前に map.resources :incidentsがあっただけのようです
railsでGooglemapsAPIを使ったときに、 javascriptで使ってるんですが、 そのとき得た座標のデータとかをrailsのデータベースに 登録するにはどうしたらいいでしょうか?
ajax
普通に ajaxでvalue書き換えて POSTでいいんじゃない?
674 :
nobodyさん :2010/11/10(水) 21:56:26 ID:bZyDCE88
Railsについて質問です 開発中に起こった問題で ユニットテスト時にRailsの./log/development.logに、次の様な書き込みが大量にされます [DEBUG] 2010/11/10 21:46:57 SQL (0.1ms) INSERT INTO `schema_migrations` (version) VALUES ('20101105154000') ./log/test.log にもユニットテスト時に書き込みはされるのですが ./log/development.log下にも謎の書き込みがあると他の人が開発中にエラーログを追えなくなってしまします 何方か似たような症状を体験された方などはいらっしゃらないでしょうか? OSはFedora13でrails 2.3.5 Apache+passenger+mysql環境です。
どこが謎やねん
誰かがdb:migrate しただけでは
変なヘルパ使わないでAJAXすればええやん。
何を読んでわからないのや
丸投げにも程があるぞ
>>677 何をやりたいかわからんが順番を追ってやろうぜ
・Rails抜きで、jQueryあたりででデータ取得して表示するだけのJavaScriptを書いてみる
・Railsのviewに組み込んで表示
RailsからDBに保存したいなら、
・何でもいいからAjaxで保存する仕組みを作る
・上のと組み合わせて保存
・以下お好きなように
Railsでデータを取得するだけなら、そもそもAjaxが必要ないけど
677ではないけど、便乗で質問させて下さい。 link_remoteなどを使うと、画面を部分ごとに更新できて便利なのですが、 その更新内容の中にjavascriptを書き、 更新されたタイミングでそれを動かす、ということは可能なのでしょうか? たとえば、link_remoteヘルパで生成したリンクをクリックした瞬間、 画面の一部分が書き換わると同時に、window.alert("hello"); で、ポップアップを表示できるか?ということです。 可能であれば、その方法を教えて頂きたいと思います。 何卒、よろしくお願い致します。
684 :
nobodyさん :2010/11/11(木) 12:57:18 ID:h//cJorg
>>683 出来る。てか、そのくらいならすぐ試せばいいじゃないかw
>>682 そもそも何をしたいのかもう少し詳しく。
APIにアクセスしてrailsでActiveRecordでデータをDBに入れるだけなら、
Ajax使う必要すらないと思う
APIのURLから取得してくるライブラリのhttpartyをgemで入れるとか
https://github.com/jnunemaker/httparty 別にopen-uriをrequireしてそのURLをopenしてreadして取得するなり、
もちろんnet/httpなりでもいいけど
クライアントサイド(ブラウザ上)でJSで外部APIアクセスしてページに流し込み、 ついでにそれを自サーバに送り付けたいって話?
プログラムのサンプル全部書いてもらいたいんじゃね?
サンプルコードくれくれするんならhelp-me-hackersオススメしとく。
RailsやRubyプログラマけっこういるし
Help me, hackers!
http://help-me-hackers.com/ > railsのデータベースに登録したいです。
どちらにせよ、これもう少し具体的にしないと適当な答え返ってくるだろうけど・・・
それは投げっぱなしにもほどがあるよなw
bookテーブルがauthorテーブルを参照してるんですが book.author_idを設定するにはセレクトボックス以外使えないんでしょうか? authorテーブルが500行あるのでめんどいのです。
bookにauthorを紐付けたいってこと? ajaxで検索させて、選択したら値設定とか、いろいろやり方はある
他にはsuggest.js使ったりとか
rails標準、プラグインだけでは無理ということですか?
ajaxでやるなら、rails標準だと思うけど
Rails 1.x の頃、AJAXを使ったcompletionのためのヘルパーがあったけど、 2.xで外部プラグインとして独立してた気がする。
700 :
694 :2010/11/12(金) 08:38:20 ID:???
言い忘れましたがキーボードは使えません。 ラジオボタンとかどうでしょうか?
そんなの好きに作ればいいじゃないか。
久しぶりに来たけど、凄いレベルの質問が溢れてるのはrailsの裾野が広がったということかなw
collection_selectとかクソ使いにくいのは事実
Rails3対応の、image_upload レベルの画像UPLOADプラグインを知っていたら誰か教えてくれー これだけがネックで移行できんー
rails で uploader 作ると 鯖側はうpされたデータを全部メモリに読み込んでから鯖上のファイルに書き込むみたいで 鯖のメモリをめちゃくちゃ食って遅くなるんだけど 全部メモリに読むんじゃなくて送信されてきたデータを 分割されたパケット毎に受け取るタイミングで逐次ファイルに出力できませんか
x_sendfileとか使えばいいんじゃない?
自分で作る選択肢はないのか?
webrick の場合は?
>>708 >>711 x_sendfileはサーバーからクライアント江(ダウンロード)で
707が知りたいのはクライアントからサーバへアップロードする場合のことなんでは?
ぶっちゃけ俺も707と同じこと知りたいんだけどね。
Rubyのルールでは言い出しっぺが創ることになっておりますのでご了承ください
mod_うpろーだーのようなapacheモジュールを 作るしかない予感。
ここのひとは難しい質問には答えられません
そっか、x_sendfileの逆バージョンの話ね。 アプリ側に来る前にファイル化が済んでなきゃいけないんだから、 原理的に難しそうだね。 アップロードについてはそれ専用のアプリを別途用意して、 あらかじめアップロード済みのものを参照するみたいな形にするしかないんじゃないかな。 gmailのファイル添付とかも結局そういう仕組みなんでしょ?
PassengerでPassengerUploadBufferDirを設定すればいいらしいぞ!
http://www.jedi.be/blog/2009/04/10/rails-and-large-large-file-uploads-looking-at-the-alternatives/ ファイルアップロードはWebrickやPassengerや何やらかにやらがテンポラリファイルとして保存して
然る後Railsに渡されるようで、
707の
>全部メモリに読むんじゃなくて送信されてきたデータを
>分割されたパケット毎に受け取るタイミングで逐次ファイルに出力できませんか
というのがRailsアプリ側で出来るかという意味なら出来なくて、
一旦全部オンメモリに蓄えるのを何とかしたいだけなら例えばPassengerを使うという方法がある。
いずれにせよ、テンポラリファイルとして保存されるので、どこかにコピーしなければならず(と思う)、
下記のような処理をRailsアプリに入れる必要がある。
File.open(path, "wb") { |f| f.write(upload['datafile'].read) }
大きいファイル(オーバーギガバイト)だと結構時間がかかる。
ファイルのmoveで済ませられればいいのだけど、それが可能なのかどうか分からない。
教えてエロイ人。
アプリのなかでファイルのパースさえしなければよさそうなんで、 carrierwaveとか使えば万事うまくやってくれそうな気はするんだけど
mv しちゃえば?
>>721 File.open(path, "wb") { |f| f.write(upload['datafile'].read) }
を
File.rename upload['datafile']..path, filepath)
にしてみた。
Windowsの開発環境ではエラーになった。
Errno::EACCES in XXXX
Permission denied -
Linuxの本番環境では動いてるけど、変更前と比べて早くなってないような気がする。
723 :
nobodyさん :2010/11/14(日) 06:16:41 ID:xVD3d5kd
724 :
nobodyさん :2010/11/14(日) 06:22:47 ID:xVD3d5kd
725 :
nobodyさん :2010/11/14(日) 07:01:44 ID:xVD3d5kd
Geokit plugin for Rails/ActiveRecord. Provides location-based goodness for your Rails app. Requires the Geokit gem.
Origin as a two-element array of latititude/longitude:
find(:all, :origin => [37.792,-122.393])
https://github.com/andre/geokit-rails
eclipseでRubyOnRailsの開発環境を構築しようとして困っています。 助けてくださいませんでしょうか・・・ 【環境】 OS: WindowsXP Home Edition eclipse: pleiades-e3.6-java-jre_20101025 InstantRails: 2.0(Rubyのバージョンは1.8.6) Railsプロジェクトを作成すると、 ’Replace prject index file’に問題が発生しました。 リソース'/(プロジェクト名)/public'が存在しません というエラーダイアログが表示されます。 エラーダイアログを閉じ、ジェネレーターでscaffoldを生成しようとしても、 うんともすんとも言いません・・・。 eclipseログには !MESSAGE 内部エラー !STACK 1 org.eclipse.core.runtime.CoreException: Local configuration cannot be nested in a directory. at org.eclipse.debug.internal.core.LaunchConfigurationType.newInstance(LaunchConfigurationType.java:463) at com.aptana.rdt.internal.core.gems.GemManager.createGemLaunchConfiguration(GemManager.java:374) at com.aptana.rdt.internal.core.gems.GemManager.launchInBackgroundAndRead(GemManager.java:258) at com.aptana.rdt.internal.core.gems.GemManager.loadSourceURLs(GemManager.java:850) at com.aptana.rdt.internal.core.gems.GemManager$2.run(GemManager.java:834) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) !SUBENTRY 1 org.eclipse.debug.core 4 0 2010-11-14 12:17:18.812 !MESSAGE Local configuration cannot be nested in a directory. が出力されています。 RadRails単体でRailsプロジェクトを作成しても同じエラーが発生していまいました。
727 :
722 :2010/11/14(日) 13:23:19 ID:???
begin File.link(upload['datafile'].path, path) rescue SystemCallError File.open(path, "wb") { |f| f.write(upload['datafile'].read) } end こうやってみた。linkはWindowsでも使えるらしい。 link失敗時に SystemCallError を rescueすればいいのかどうかちょっと不安。 誰か教えてプリーズ
>>726 なぜわざわざruby1.8.6を選ぶのか不明
Railsのバージョンすらわからんし
>>728 RoRのバージョンは2.0.2でした。
InstantRails2.0のに含まれているRubyのバージョンが1.8.6で、
そのまま、アップデートしていなからです・・・
>>728 さんのレスを見てバージョンを最新にしなくてはならないのかと重い、
gemからアップデートしようとしたのですが、
gem自体のアップデートは出来たのですがRubyのアップデートがうまくいきません。
gem update rubyとたたくと
Building native extensions. This could take a while...
ERROR: Error installing fxruby:
ERROR: Failed to build gem native extension.
C:/ror/InstantRails-2.0-win/ruby/bin/ruby.exe extconf.rb
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers. Check the mkmf.log file for more
details. You may need configuration options.
とアップデートできません・・・
rubyのアップデートはどのように行えばよいのでしょうか?
rubyのアップデートができないとRoRのアップデートも出来ないです・・・。
InstantRailsを捨てる。
まずInstantRailsをアンインストールして、 rubyinstallerの最新版を使ってruby1.8.7か1.9.2を入れる。 そのあとDOSプロンプトで「gem install rails」で終わり。 railsのバージョンを指定したい場合は「gem install rails -v=x.x.x」 そして古い本は捨てて、せめて2.3.x対応のRails本を買う。 サイトのみで勉強するのなら、サイトの更新日に気をつけて古い情報は無視する。 ちなみにバージョンを指定しないとrails3系がインストールされる。
>>730 、
>>731 ありがとうございます。
自分もInstantRailsは2007年で更新が終わっているようなので、
古いモノなのではと思い、rubyinstallerで1.9.2をインストールしたところです。
gemも標準で入っているようですし、今度こそ環境くらい完成させます。
サイトのみで勉強していましたが情報が少ないのか、調べ方が悪いのか、理解力がないのか、
環境構築に丸2日悩んでしまいました。
初歩的な質問に対応して下さり、ありがとうございました。
>>732 windowsは環境構築に苦労するよ
お薦めはNetbeansを入れてNetbeans内のRuby(性格にはJRuby)を使う
そうすればWindowsに自分でrubyやらgemやら入れなくていい
Railsなどのインストールも全部netbeans上でできる
コマンドすら打つ必要がない
おかしなアドバイスをするやつがいるから難しくなる
>>733 Netbeans には同意するけどJRubyはどうかな。
http://rubyinstaller.org/downloads/ から
Ruby 1.8.7
DevKit-4.5.0
をダウンロードしてインストールする。
DevKit-4.5.0 はドキュメントをよく読んでね。
コンソールからrubyを実行する必要があるのでrubyのインストールをやっておくこと。
NetbeansはRails環境入り(全部入りでも可)をインストールする。
sqlite3 も使うであろうから sqlite3.dll と sqlite3.exe をダウンロードしてどこかのフォルダにおいてPATHを通しておく。
俺は Win7 x64でSubversionも使いたかったので Slik SVN もインストールした。
なぜVMWareやamazonEC2を使わないのか。
sqliteとか使うやつはサービスを公開するつもりあるのか?
そりは開発環境も運用環境と同じデータベースを使わないのは間違えと言いたひ?
おまいらは、SQLのパフォーマンスチューニングとかしないの?
>>738 それは当たり前だろ。
各DBのSQLには完全な互換性があるわけじゃないのに
なんでわざわざ別にする必要があるんだよ。
動かない可能性すらあるだろ。
ORマッピングですべて済んでる学校の課題程度ならべつにいいけど。
>>739 >>738 がアホなだけ
>>135 の月間数億ページビューってすごいな
価格コムでさえ10億PVいかないのに
持ってるってことは個人だよな?
railsの環境整えるのに苦労してる人にSQLのパフォーマンスチェックとか言っちゃう奴ってなんなの?相手のレベルも考慮してあげられない奴に良質なプログラムが書けるとは思えんね
パフォーマンスチェックってなんぞ?
>>744 誰もパフォーマンスチェックなんて言ってないよ
748 :
nobodyさん :2010/11/15(月) 03:08:40 ID:8GACaDyV
749 :
nobodyさん :2010/11/15(月) 04:52:59 ID:/F0l7AOn
750 :
nobodyさん :2010/11/15(月) 05:15:02 ID:/F0l7AOn
751 :
nobodyさん :2010/11/15(月) 05:19:41 ID:/F0l7AOn
Social Network Builders
insoshi, communityengine, lovd-by-less, pfeed, and more
http://www.rochefort8.com/toolbox_search/categories/15583 Rails Admin Interfaces
active_scaffold, typus, admin_data, streamlined, and more
http://www.rochefort8.com/toolbox_search/categories/15550 Geocoding & Maps
geokit-gem, geokit-rails, graticule, acts_as_geocodable, and more
http://www.rochefort8.com/toolbox_search/categories/15525 E-Commerce
active_merchant, spree, shippinglogic, invoicing, and more
http://www.rochefort8.com/toolbox_search/categories/15517
752 :
nobodyさん :2010/11/15(月) 05:22:48 ID:/F0l7AOn
Rails Search
thinking-sphinx, sunspot, acts_as_solr, acts_as_ferret, and more
http://www.rochefort8.com/toolbox_search/categories/15569 ActiveRecord Encryption
attr_encrypted, strongbox, sentry, Lockbox, lucifer, and more
http://www.rochefort8.com/toolbox_search/categories/15487 ActiveRecord Named Scopes
searchlogic, pacecar, utility_scopes, can_search, and more
http://www.rochefort8.com/toolbox_search/categories/15490
753 :
nobodyさん :2010/11/15(月) 05:24:30 ID:/F0l7AOn
754 :
nobodyさん :2010/11/15(月) 05:34:22 ID:/F0l7AOn
755 :
nobodyさん :2010/11/15(月) 05:38:19 ID:/F0l7AOn
CRM Apps
fat_free_crm, mongo_crm, cohort, and forgetmenot
http://www.rochefort8.com/toolbox_search/categories/15508 Deployment Automation
capistrano, moonshine, inploy, rubber, vlad, and more
http://www.rochefort8.com/toolbox_search/categories/15514 Server Monitoring
god, visage, amnesia, and webstats
http://www.rochefort8.com/toolbox_search/categories/15581
屁理屈述べて指摘されたら言葉の揚げ足取りかwお前らフルコンボ揃ってるな
WindowsでRails開発してみたいけどうまく動かない>< →なぜわざわざruby1.8.6を選ぶのか不明 →なぜVMWareやamazonEC2を使わないのか →sqliteとか使うやつはサービスを公開するつもりあるのか? →おまいらは、SQLのパフォーマンスチューニングとかしないの? →各DBのSQLには完全な互換性があるわけじゃないのになんでわざわざ別にする必要があるんだよ これアドバイスしてるつもりが余計に混乱させてるだけ Rails勉強会@東京でも話題になっていたが初心者への物の教え方が下手な人が多すぎ 初心者の配慮すらもできない人が、良質なプログラムを書けるわけがないっていうのは確かmatzの言葉だな
そもそもMatzはwindows使ってないからなw
つーかWindowsでRuby1.9.2+Rails3って現状すんなり動くのか? gemのmysql2がまだwindowsに対応してないって聞いたけど わざわざ新しい環境でやるより枯れたRuby1.8.6 Rails2.1.2ぐらいで練習するのがいいんじゃないか
>>758 Windows で Rails を使うために
(特に自分で困難を乗り越えられない初心者に対しては)
VM (VirtualBox とか) に Linux 入れるのがベストな方法だと思うよ
Windows + Ruby on Rails で訳判らん問題で悩むより Linux 覚える方が楽
>>759 matzのせいか知らないけどRuby/RailsエンジニアってWindowsを凄く馬鹿にする傾向があるよね
だからこのスレもWindowsで開発しようとする初心者が現れると凄い勢いで馬鹿にしだすw
特にcygwin版rubyは最悪だな 混乱に拍車をかけるw
>>762 触れたくないものに触れたみたいな反応するよね
>>762 煽りじゃないけど実際問題として
今のRailsをWindowsで動かそうとする香具師は馬鹿というかただの物好き
>>765 出た出たw
楽天の大多数のRailsエンジニアはNetbeans
多分お前さんより質の高いアプリケーションを開発してらっしゃるよ
Rails勉強会@東京で初心者にRailsを教えている人が言ってた 「人間に何か教えるなら適材適所が最も大事」 「時にはベストプラクティスよりも大事なことがある」 「相手のレベルを考慮して一番適した環境に導いてあげるのが少しだけ先を歩いている人の務め」 「自分のレベルを振りかざすな 逆に相手に迷惑になる」 さすがにこれで飯を食ってるだけあると思ったよ 会長も舞波もyuguiも感銘しておられた このスレで中級者ぶってる奴はウンコPHPerにも劣る!うんこー!
>>758 アドバイスは
>>731 で終わってるから、
その後は単なるスレ内のやりとりなのだが。
なぜ事実と違うおかしな切り取り方をしてそんなに平気なの?恥知らずなの?
Rails勉強会@東京の参加者なの?
参加者ではあるだろw
初歩的な質問ですみません ECサイトや就職サイトなんかで良くある「マイページ」の実装なのですが、 Userというモデルがあったとき、UsersController で実装するべきなのでしょうか? それとも MyPageController という何のモデルも持たないコントローラで実装するべきなのでしょうか
どっちでもいいよ。どうすべきとか言うのは特にない
まさか勉強会の出席者がこのスレのスパム投稿やってるんじゃないだろうな 迷惑だからやめろよ、クズ野郎が。勉強以前の問題だろ
>>773 そこに挙げたレス、推測だらけなのに答えとか言われても・・・
windows版のmysql2が動かないってマジか この前、それで開発して納品したのだが
777げt
すみません RoRをWindowsにインストールして勉強したいのですが Windows用のRubyのパッケージがいっぱいあって どれをダウンロードしたら良いのか分かりません それぞれ特徴とかメリットとかデメリットとか 速度の違いとかあるのでしょうか?
あぁ、なりすましか
Railsのrenderの挙動について、質問があります。 コントローラ内で以下のような記述をしていて render(:file => "ファイルパス", :layout => true) ファイルパスで指定したファイル(html)の内容を修正する場合 修正結果を反映するためには、APサーバを再起動するしかないのでしょうか? 手元の開発環境で動かしているので、APサーバはWEBRickです。 キャッシュは一切使っていないので、キャッシュされているとは思えないのですが……。
>>768 ここのところは大体40人前後の参加者だけど、
該当者がいると仮定するとかなり絞れる気がする
スレの一時の廃れようはひどかったし、次回それとなく当たりをつけてみるか
783 :
nobodyさん :2010/11/15(月) 23:21:58 ID:KTATD0L5
Cygwin使っている人いますか? その20
http://hibari.2ch.net/test/read.cgi/unix/1268282846/272-273 272 名無しさん@お腹いっぱい。 [sage] 2010/11/15(月) 11:42:30 ID: Be:
マウントオプションとは別に、CRLFをLFに変換するツールはないでしょうか?
美乳セーラー女子高生とSEX顔射フィニッシュ
というコマンドやnkfでも一応可能なのですが
専用のツールはなかったかと思いまして
273 名無しさん@お腹いっぱい。 [sage] 2010/11/15(月) 11:43:21 ID: Be:
>>272 コピペミスった、、、、、
見なかったことにしてください
コマンドは、
cat crlf.txt | tr -d '\r' > lf.txt
です。
>>780 > 修正結果を反映するためには、APサーバを再起動するしかないのでしょうか?
はい。
785 :
nobodyさん :2010/11/16(火) 13:37:52 ID:dI+kRCEK
誰か gvimで、rails.vim + neocomplcache.vim で開発してる方がいたら教えてください rails.vimが定義してくれるユーザ定義補完が、neocomを有効にすると全く効かなくなるのです viewでjavasc <C-x u>で、jacascript_include_tag と補完してくれるアレです necomをoffにすると、また補完が効くようになります vimよりの質問かもしれませんが、同じ開発環境で開発されている方も少なくないと思うので・・・
>>784 developmentかproductionかどうかも聞かずになぜ答えられるのか理解に苦しむ
"手元の開発環境"って言ってるんだから、developmentと仮定して答えてもいいだろ、JK
「理解に苦しむ」(・∀・)
Post.order(params[:sort]) これは危険ですか?
792 :
nobodyさん :2010/11/17(水) 19:07:37 ID:d53wndu4
>>791 > puts Post.order('updated_at; drop table posts;').to_sql
SELECT "posts".* FROM "posts" ORDER BY updated_at; drop table posts;
# Rails 3.0.3, sqlite3にて
ソート方法を外部から与える際は、そのままSQLに埋め込む式ではなく、
なんらかの識別名(タグ)で受け付けるようにしておいて、
内部で対応するORDER句用の式に変換するべき。
793 :
791 :2010/11/17(水) 19:25:24 ID:???
sort = Hash.new('id') Post.columns.map{|x| sort[x.name] = x.name } sort['author'] = 'author.name' sort['category'] = 'category.name' Post.order(sort[params[:sort]) こんな感じですかねえ。ちょっと泥臭いですね
scope定義すれば少しましになるかな。
試してみたらログには危険なSQLが出てるけど セミコロンのあとは実行されてないっぽいよ
調べずに聞くのだけれど Post.order("?", params[:sort]) はダメ?
active_support の DateTime#advance と DateTime#change の引数が紛らわしすぎる 毎回、change(:minutes => 0) と書いてはまって change(:minute => 0) と書き直してはまるを繰り返してる。 advanceの場合は :min => 0 と書くところからはまる。もう助けて
rorを業務で使うのは速すぎたねえ。腐ってやがる。
Push型のサービスが多いため、C/SをRoRでWeb化できない・・・。
>>799 どういうところが腐ってたのか書けよ!
まあわかってないから書けないんだろうけどw
Railsなら開発が早い!って聞いた営業とか役員の連中が内容も分からんで仕事請け負って いろんな所が腐ってしまったプロジェクトはいくつか見てきた
Railsなら開発が早い!と判断したということ、自分ところの技術者が特に優秀だと判断したんだろうな
仕事でruby使ってる人って少ないよね
開発が速すぎて大事な所が全部抜けてるとかねw rubyってサポートが無いから業務で遣いにくいからな。 趣味でruby弄ってる香具師が休んだら終わり。普段業務システム使ってる管理本部の娘に、rubyの取り扱い業者に電話描けさせて調査させ復旧させるとか出来ないし。
ASP.NETで作ったからって、 マイクロソフトのエンジニアが来てシステムを普及してくれるわけじゃないのだが。 JAVAで作ったらオラクルのサポートが飛んできてくれるのか? 学生は夢みすぎだろ。
808 :
807 :2010/11/19(金) 19:45:10 ID:???
普及→復旧
item/1やitem/2みたいなページをcache_pageすると public/itemフォルダをRailsが作ってその下に1.html,2.htmlができるよね でもフォルダが作られる前にpublic/item.htmlが存在するとpublic/itemフォルダが作られずに404が返ってきちゃう これってRails自体の挙動なのかそれともPassengerのバグなのか
apacheの仕様。
俺が困るのは、フレームワークやライブラリのAPIの変更される頻度が高いこと。 一年前に作った社内用のRailsアプリ、Rails3に移植してみたが、二週間かかった。 3.0.1で動くようになって一息ついたが、3.0.3では動かなくなった。ショック。
find系?
最初に悩んだのが routes.rb で map が無くなって match に書き換えるところ。 次が ActionMailer。 ActionMailerはメールのエンコードが変わって電信八号ユーザーから苦情がきた。 これは解決できてない。 find系は引っかかったところはなかった。
>>814 そういう事言うなって。
>>813 情報thx
まだRails3は触ってないから、前もってこういう情報が出るのはありがたい
>3.0.1で動くようになって一息ついたが、3.0.3では動かなくなった の詳細が知りたいです
rails3認定試験やるんだってよ
どこからの情報やねん
railsでgreeとかモバゲーのソーシャルアプリ 作ってるヤツいるのかい?
>>817 ブラウザからファイルをアップロードする機能を、モデルに下記のようなしているのですが
def file=(uploaded_file)
self.original_filename = uploaded_file.original_filename
self.content_type = uploaded_file.content_type
self.size = uploaded_file.size
self.path = uploaded_file.path
end
3.0.2から uploaded_file.path が無くなったようで uploaded_file.tmpfile.path と書かなくてはならなくなりました。
修正するのは簡単なのですが、こんどは test の fixture_file_upload がエラーになります。
3.0.3でも同じでした。3.0.1のままにしてあります。
>>816 2.xのときからutf-8で送っていました。
Rails3にしたところ、電八ユーザーから「メールの本文が一行になってる」という報告がありまして、
2.x系のときのメールと比べてみたところRails2.xでは Content-Type: text/plain; charset=utf-8 で
本文はそのまま送られていたのが Rails3では
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: base64
となり本文はbase64でエンコードされて送られるようになっていました。
ActionMailerのビュー(erb)をnotepad.exeで開いてみたところ、なるほど一行に見えます。
2.xでの本文が素のutf-8のメールはPOPでダウンロードするときにWindows用の改行に変換
されていたのが、base64になるとダウンロードした後にデコードしWindows用の改行にならない
ままnotepad.exeに渡されているのだろうと思います。
Content-Transfer-Encoding:をquoted-printableにしたりもしてみましたが、
これは文字化けするそうです。
notepad.exeから別のビューアに変えてもらえば解決すると思いますが、
今までOKだったものがNGになるというのは楽しくないことでしょうから
何とかなるなら何とかしたいところです。
823 :
nobodyさん :2010/11/21(日) 10:23:18 ID:DZp3mqpu
824 :
nobodyさん :2010/11/21(日) 10:24:25 ID:DZp3mqpu
こんどgreeのソーシャルアプリを作ることになったんだけど、 RailsにするかPHPのフレームワークにするか悩んでるんだ。 Klab様もドリコム様もソーシャルアプリ開発にはRailsを使っているらしいね。
826 :
nobodyさん :2010/11/21(日) 10:42:38 ID:UvXaL/6t
827 :
nobodyさん :2010/11/21(日) 10:59:34 ID:Upoohjyi
>>826 さすがグーグル様。というか
そもそもOpenSocialを開発したのはグーグルだったね。
改行については、RFC的に、メールの改行は本文を含めて CR+LF にするのが正しいので、 Base64エンコード→デコードをするようになったら繋がって見えてしまうというのは、 本文を組み立てる際の不手際といえなくもない。
>>829 そうか、Rails2ではメールを送るときか組み立てるときにビューの改行(LFのみ?)を
CR+LFに変換しているのか。
Rails3ではビューの改行をそのままでエンコードして、エンコードされたbase64データの
改行をCR+LFにして送っていると。
ということはビュー(erb)の改行をCR+LFで作っておくのが正しい?
一度、これをやって見ようとビューをnotepad.exeで作ってみたが、やはり一行になった。
やり方が悪かったのだろうか?
それと、デコードしたときにCR+LFになってるとnotepad.exe以外(OEとかTB)のユーザーが
「空行いらね」ってなる可能性があるような気がする。
> RFC的に、メールの改行は本文を含めて CR+LF にするのが正しい
>>822 一行になるということは、改行コードの問題ではないのかな
RFCではこのあたりはどうなっているか調べたらいいかも
しかし何故notepad.exe?
notepadはLFのみの改行コードのテキスト扱えないし、ビューアーとしても向いてないと思うが
わりぃ
>>829-831 読んでなかった
とはいえ、最近は改行されないメールが多いわ
ニコニコ動画とかニコニコ動画とかニコニコ動画とか
3.0.1 に上げようとしたら DEPRECATION WARNING: "Rails.root/test/mocks/test" won't be added automatically to load paths anymore in future releases. (called from xxx/config/environment.rb:5) と言われて自分でパス通しても警告でっぱなし。 ほっといていいのか別の場所に置いた方いいのか方針がよくわからん
ほっといていい
836 :
830 :2010/11/22(月) 00:56:33 ID:???
RFC的に text/plain の改行はCR+LFらしいので、デコードしたテキストの改行はCR+LFになっているのが正しい。 ということはnotepad.exeでちゃんと改行されるようにするのがよろしいらしい。 そうなるべくメールのテンプレになるビュー(erb)の改行をCR+LFにしてみたが、残念。 メールの本文をデコードしてみたら LF(0x0a) だけになってました。
RFCで改行に言及しているのはヘッダについてだったような気がする。 ちと確認してこようっと。
http://tools.ietf.org/html/rfc5322 Messages are divided into lines of characters. A line is a series of
characters that is delimited with the two characters carriage-return
and line-feed; that is, 以下略
A message consists of header fields (collectively called "the header
section of the message") followed, optionally, by a body. 以下略
メッセージとは、行の集まりで、各行はCRLFで区切られ、
メッセージにはヘッダとボディ(省略可)が含まれる。
とゆーことはヘッダだろうと本文だろうと該当するんだな。
cakePHPだと↓みたいに名前付き引数がcoolなんですがこんな感じのpluginありませんか? post/1 #=> post#show?id=1 post/page:1 #=> post#index?page=1
pluginでなくてrouteで自在に設定できると思うが
django最強
match '/posts/page\::page' => 'posts#index' あら、本当にこれで行けましたわ 前に試したときは /posts/page/:page みたいにしないと行けなかったのに /posts/page::page/sort::sort /posts/sort::sort/page::page みたいに引数入れ替えは可能ですか?
843 :
nobodyさん :2010/11/22(月) 17:35:13 ID:e57XGbQl
844 :
830 :2010/11/22(月) 22:22:12 ID:???
>>838 そのヘッダや本文というのはSMTPにおけるDATAコマンド以後に送られるデータのことだと思います。
メールで送りたい(erbをテンプレートにして作られたutf8の)テキストはRailsによって改行が LF だけにされていて、
それをbase64でエンコードした(アルファベットと数字と記号少々のテキスト)は改行が CR+LFで送られています。
SMTPセッションを見張ったわけじゃないので断言はできませんが、その筈です。
なのでRFC5322的におかしいわけではないと思います。
text/plain を定義したRFCもあったはずで、そこでは改行は CR+LFとなっていたと思います。
その点で(base64でエンコードする前のテキストが)LFのみになっているのはバグじゃないか、という気もします。
Railsのビューは普通はブラウザに渡されるので改行はLFのみでかまわないのだと思いますが
そのビューをメールにも流用したので、そう(改行がLFのみに)なってしまったのではないでしょうか。
で、今回はエンコードをquoted-printableにして逃げました。一度やってみたときには、電信八号で文字化けする
と言われたのでダメかと思っていたのですが、やってみたら表示できたので、良しとしました。
これはひどい
カオスな依存関係になっている大量のフィクスチャを 一気にFactoryGirlで置き換えようとして途中で心が折れた。。。 FactoryGirlの定義中でどうにかして既存のフィクスチャは参照できないのかな? それができると少しずつ移行していけるんだけど。
FactoryGirl で思い出したけど Machinist 2 の開発停滞してるね…
クォーテドは酷いなw ちゃんと文字コード指定してるのならプレインで送れよw マルチパートでも中身をエンコードして送って来る馬鹿が居るよね。 有無を言わさずウイルススキャナで跳ねられて食べられて届かなく成るだけなのに。
849 :
nobodyさん :2010/11/24(水) 15:57:03 ID:A15z8Chm
シーザー暗号を解読するプログラムを作りたいのですが、def(str)で表されるプログラムを作るためにはどのようなものにすればいいのでしょうか?
自演うぜ
851 :
nobodyさん :2010/11/24(水) 16:54:35 ID:cBZ+RFs1
852 :
nobodyさん :2010/11/24(水) 16:57:51 ID:cBZ+RFs1
853 :
nobodyさん :2010/11/24(水) 16:58:46 ID:cBZ+RFs1
>>849 多分同じクラスの人だろうけどレポートぐらい自力でやろうよ
先生だってここチェックしてそうだし学生全員にカンニング疑惑持たれるから迷惑なんですけど
そんなことよりもっとシーザー暗号の話しようぜ
何文字ずらしたか分かってれば楽勝だけど 解読するってことは、何文字ずらしたかは 分からないんだよね。 英語であることは前提?
ドリフトシーザーだろ常考
858 :
nobodyさん :2010/11/25(木) 14:49:06 ID:+gsk0R7d
質問です。 Passenger3.0はインストール出来たのですが、Apache起動時にエラーを吐いて動作しません。 (動かそうとしているのはRedmineです) 何か分かる方、ご教示ください。 【環境】:Ruby 1.8,Rails2.3,Passenger3.0 [error] *** Passenger could not be initialized because of this error: Unable to start the Phusion Passenger watchdog because it encountered the following error during startup: Unable to start the Phusion Passenger logging agent: it seems to have crashed during startup for an unknown reason apache.conf LoadModule passenger_module ... PassengerRoot /.../passenger-3.0.0 PassengerRuby /bin/ruby RailsBaseURI /redmine シンボリックリンクを /DocumentRoot/redmine -> redmine-1.0/public というふうに貼っております。
/bin にrubyが入ってるのか。すげーな。
Passenger以前に、 cd redmine-1.0 script/console production script/server -e production とかは、ちゃんと動くのかな?
863 :
860 :2010/11/26(金) 08:05:17 ID:???
レスさんくす。
>>862 Passengerなしに、script/server コマンドからは正常動作します。もしかしてApatchの問題でしょうか。
>>861 /bin の部分はコピペミスでした。パスはあってます。すみません。
Rails 2.3.10 に上げたら Rails.version < "2.3.5" での分岐がひどいことに…
そんな判定するな
>>864 うける
> "2.3.10" < "2.3.5"
=> true
> "3.0.1" < "2.3.5"
=> false
>>860 普通のRailsアプリはPassengerで動いてる?
rails 2.3なら
rails hoge
して
script/generate scaffold hoge fuga:text
したようなアプリ
ssig33って何なの?バカなの?
誰?
>> User.count => 302 >> User.limit(1).all.count => 1 なときに >> User.limit(1).count => 302 って返ってくるのはバグなのかなぁ... count でなくても will_pagenate の pagenate でも同様だし...
バグではないですね。 allの時点で結果を取ってきているのと、そうでないのとの違いですね。 User.limit(1).all.count # => SELECT "users".* FROM "users" LIMIT 1 User.limit(1).count # => SELECT COUNT(*) FROM "users" LIMIT 1
むー、言われてみればそんな気もするけど、User.limit(1).count は SELECT COUNT(scoped.*) FROM (SELECT users.* FROM "users" LIMIT 1) AS scoped; になってほしいような気もする。 んで、今気がついたんだけど、rails-3.0.1 + arel-1.0.1 ではそうなってた。
ARelはたこやき仮面が保守してるから、気になるところは日本語で質問できそうな気がする。
Arel爆速になったらしいけどどうですか
0.01が0.005になったかな。
arel便利すぎるわ。こういうのをセンスって言うんだろうな
ずいぶん前にrails3でgettextみたいな話が出てたけど、gettext_i18n_railsなんてのがあるのね。 ちょっと使った感じでは、poを直接使えたり悪くなさそうなんだけど、使われてない? ruby1.9の{a: 1}みたいなHashの書き方をhamlでやってたら、パースエラーになったけど。。。
もう標準のi18nしか使ってないわ
gettextは抽出対象の抽出(poファイルの生成)がシステム化されてるところが好きなんだけどねぇ。
railsのデータベースにcsvファイルから一括登録することって出来ます? sqliteとか起動してやるんじゃなくてrailsの機能として
すぐコードを示すことは出来ないけど、FixturesをCSVから一括ロードする仕組みが あるから、うまく騙せば可能かもしれん。
騙すというと? 普通はそういうことしないんですか?
883 :
nobodyさん :2010/11/29(月) 20:18:41 ID:IMeBJree
いや、登録するのは別にsqliteの機能でもいいんですが、 データベース使うのに一括登録するような機能が何故railsに無いんでしょうか…?
>>882 本来はテストデータを流し込む目的のものだから、用途外の使用になるってこと。
一括登録したいだけならseeds.rb に書けばいいんだけど、これ Model.create(...) を書くんだよねー。
というかCSVは誰もが使うわけじゃないから、Railsにインポート機能はいらないだろ
正攻法としては seeds.rb に require 'csv' # とか faster_csv とか CSV.foreach(File.join(Rails.root, 'db/initial_users.csv')) do |row| user = User.new(:name => row[1], :password => row[2].crypt) user[:id] = row[0] user.save! end みたいなの書くことになるのかね。
なんでsqliteの機能じゃダメなの?
seed使うのも面倒なんで fixture:load をいつも使ってたけど みんなはどうしてるのか興味がある
こいつ各所でスクレイピングこじきしてるやるだからー
railsをExcelと同じだと思ってる馬鹿
それを言うならAccessだろ
いやAccessすら知らないよこのクズは こんなに人にクズっていったのひさしぶりだわ
895 :
nobodyさん :2010/11/30(火) 02:34:51 ID:l0QAGEWH
仕事でGB単位のCSVをrailsに取り込んだけど、それは seedの中でmysqlの機能使って読み込んだ。executeで。
897 :
nobodyさん :2010/11/30(火) 03:45:11 ID:VoV6WFzl
ARって大量データの挿入には向いてない?
DBに入れたらいらなくなるデータ構造をこしらえては端からGCの刑に処してるんだから 生のSQLや、直接ロード(MySQLのINFILEみたいな)より効率がいいわけがない。 バルクINSERTする拡張とかはあるけどな。
ARはデータ扱うの向いてない
おまいらただのORMに何を期待してるんだ?
(たぶん)最初のRails3本が一番期待できない工学社からとは。。 どの本もやっつけすぎて全く期待できん
903 :
nobodyさん :2010/12/01(水) 03:39:34 ID:7SFDU/VC
904 :
nobodyさん :2010/12/01(水) 06:00:30 ID:3YNIkeRH
webフレームワークの書籍に期待なんてするなよ
全然意味分からないw
907 :
nobodyさん :2010/12/01(水) 14:08:00 ID:ONKtIuWw
>>905 x webフレームワークの書籍に期待なんてするなよ
o webフレームワークの(日本の)書籍に期待なんてするなよ
最新の情報はネットでとか言ってるくせに、 WindowsのRails環境ひとつまともに構築できないんだよな 矛盾だとは思わんのかね
どこが矛盾しているのだろうか。
最新の情報をネットで拾えば簡単に構築できるから ・・・バカ?
↓まあそう言うな、彼にも悪気はなかったのさ
でも本でまったりと基本を確認するのは嫌いじゃない 基本を蔑ろにした似非エンジニアほどネットで最先端の情報を得るなどと称しては常時酸欠状態に陥っている脳味噌から得体のしれないコードを産出するのである
バカは難しい本・分厚い本が読めない
content_forの意義がよくわからんのだが <title><%= @title %></title> def index @title = "post - HogeBlog" 〜 end と比べて何が便利?
馬鹿は簡単な本でも読まない読めない
>>916 helper使う時とかJSのコード書くときに便利だと思う
必要なければ無理に使わなくてもよか
919 :
nobodyさん :2010/12/02(木) 16:53:21 ID:uqqMYXpe
>> 916 コントローラがすっきりする。けどまあ好みの問題だと思う。
どこでcssを書いてもheadに入るようにしてたり。 横着者にはcontent_for必須
もう一度基本から勉強したい 知識が2.1で止まってるので新機能も勉強したい rails3のアジャイル本早くでないかなあ
基本的なことは2と3はほぼ同じ。
924 :
nobodyさん :2010/12/03(金) 02:09:41 ID:QdlVQjpy
それ参考にしてrvmもっかい使ってみようかな
railsのhtml.erbで作ったループ内部で java script呼び出しって出来ます? java scriptの関数呼び出しはイベントハンドラのやりかたしか 知らないんですが
Railsとは関係ないからJavascriptの本で勉強した方がいいと思う
<% @tables.each do |table| %> <% end %> @tablesのタプルそれぞれについて、 javascriptの処理をしたいだけなんですが。
うん だから Rails とは関係ないよ
javascriptはブラウザに返されるまではただのHTMLソース上の文字列だ。
最近切り分けできない人多いなぁ
ちょっと気になったんだがタプルって何だろう まさかtableを...いやなんでもない
>>934 まずググってみれば... いやなんでもない
rindaのあるrubyでタプルを知らない人がいるわけがない。
railsアプリケーションを初めて作って公開したのですが、 あっという間にログファイルのサイズが凄いことに… vi production.log とコマンドを打つとファイルが開けず固まってしまうのです。 Apacheのログファイルのようにローテーションさせることは可能でしょうか? 一般的にはどのようにログファイルを管理しているのかを知りたいです。
logrotate
ファイルが一定サイズに達したらローテーションさせたり、dailyやweeklyなど期間ごとも可能 rails log dailyとかで検索すれば実際の設定例でてきます あとはログのレベルを下げるのも一つの手かと warnだけとかね
ログのローテーション設定を忘れるとか、慣れてないうちはよくあるよな。
logファイルが55MBぐらいになってrailsが動かなくなったことある
942 :
937 :2010/12/06(月) 01:05:07 ID:???
皆様ありがとうございます。 dailyでログローテートすることにしました。 environment.ebに1行加えるだけで設定出来るとは、さすがrailsですね。 ちなみにログファイルは800M程度になっていました…かなり危険な状態だったのかw
railsって日本語扱えないんですか?
ruby1.9.2だとマジックコメントを書かないと使えません
link_to 6000個で3300msも掛かるんだけどふざけてるの?
link_to 6000個も使ってふざけてるの?
947 :
nobodyさん :2010/12/06(月) 11:28:21 ID:9d8UpobB
>>946 1700個のデータに4つリンクだから6800個だったわ
タグ直書きに変えたら400msになったぞおい
それdevelopmentでないの? productionモードなら ほんのちょっとのオーバーヘッドで済んだ記憶がある
950 :
945 :2010/12/06(月) 15:09:36 ID:???
詳しくは計ってないけど rails3.0.3 <%= link_to site.title, site %> production Rendered sites/index.html.erb within layouts/application (3496.1ms) Completed 200 OK in 4741ms (Views: 3530.2ms | ActiveRecord: 29.0ms) development Rendered sites/index.html.erb within layouts/application (3358.8ms) Completed 200 OK in 4649ms (Views: 3362.0ms | ActiveRecord: 19.7ms) <a href="/sites/<%= site.id %>"><%= site.title %></a> Rendered sites/index.html.erb within layouts/application (449.8ms) Completed 200 OK in 1464ms (Views: 453.9ms | ActiveRecord: 22.5ms)
link_toが遅いのはともかく、 6800個も1ページにリンクがある時点で間違ってる。
さすがにベンチマークだろ
ベンチマークって言うより、いじめだな
6800個がダメなら何個ならいいの
関連名でJOINさせた時のテーブル名(エイリアス名)は、関連名をtableizeしたものの方が嬉しい気がするのだけど、 どうなんでしょう? 時々同一テーブルを複数回joinさせたい事があって、例えば class Task < ActiveRecord::Base belongs_to :create_user, class_name: 'User', foreign_key: :create_user_id belongs_to :update_user, class_name: 'User', foreign_key: :update_user_id end のようなモデルがあって、Task.joins(:create_user, :update_user)をすると、 INNER JOIN "users" ON "users"."id" = "tasks"."create_user_id" INNER JOIN "users" "update_users_tasks" ON "update_users_tasks"."id" = "tasks"."update_user_id" な感じのSQLが発行されます。それより、 INNER JOIN "users" "create_users" ON "create_users"."id" = "tasks"."create_user_id" INNER JOIN "users" "update_users ON "update_users"."id" = "tasks"."update_user_id" の方が自分は嬉しい。
joinsに文字列渡せば?
unionはつかえますか?
なんでも使えるよ
959 :
nobodyさん :2010/12/07(火) 01:09:26 ID:l8HqKN9H
Rails3をWindowsでproduction modeで動かすのって、 どうするのが、手軽でしょうか。 (個人のアプリなので、速度はほどほどで十分です。) 開発は、Netbeans使って問題なくできているけど、いざ動かそうとするとうまく動かない。 うまくWindowsサービスに登録できれば、一番手軽なんだけども。。
開発時的に一時的に動かすんじゃなくて常時動かしたいってこと?
961 :
nobodyさん :2010/12/07(火) 10:38:25 ID:scN2l8RE
質問させてください。 デバッグでpを使って出力されたものを見ることがあると思いますが、 printするものが大量だと サーバのログの一画面で収まらないことがあります。 rails server で起動して、吐き出されるログを見ているのですが、一画面 に収まらない場合は上にはみ出してしまったものを見ることができません。 development.log で見れるのかと思っていたのですが、development.logって rails console で使ったもののログは残りますが、サーバーにアクセスされた際のログは残らない?のでしょうか? development.logを見てもそれっぽいものが残っていませんでした。 どなたかいい方法ご存知でしたら教えて頂けますと幸いです。
>>956 レスあんがと。
SQL直書きの話ではなくて、関連名を使ったときのデフォルトの命名仕様がイケてないと思ってて
他の人はどう思ってるのかなと書き込みしました。
SQL直書きを気にする人は少ないのかな?
1.9のこの書き方、コロンが向き当ってるとなんか落ち着かんな foreign_key: :create_user_id って思うのは俺だけか
>>963 だってそれを気にして何の意味があるのかわからんもん
967 :
959 :2010/12/07(火) 21:00:43 ID:4CuEmOpR
常時、Windowsで使いたいです。 Mongrelが、サービスに登録できてよさそうだったんですが Ruby1.9では対応していなかったり。。 Apacheも考えましたが、うまく設定できず(泣)
3.0.3で has_many :table_a の設定しているテーブルがあるのですが table_b.table_a=[] や table_b.table_a.clear を実行しようとすると undifiened method 'eq' というエラーが 出てしまうのですが 対処法知りませんか? lib/active_support/whiny_nil.rb:48:in 'method_missing' lib/active_record/associations/has_many_association.rb :78:in 'delete_records' lib/active_record/associations/association_collection.rb:222:in 'block in delete' lib/active_record/associations/association_collection.rb:525:in 'remove_records' lib/active_record/associations/association_collection.rb:158:in 'block in transaction' rails2 からの移行です。
>>969 lib/active_record/associations/has_many_association.rb は
relation.where(relation[@reflection.primary_key_name].eq(@owner.id).
なので、relation[@reflection.primary_key_name] が nil になっている。
set_primary_key がらみでなにか間違えてるんでは?
971 :
969 :2010/12/07(火) 22:40:33 ID:rDBHW00N
>>970 set_primary_keyとは
has_many :table_a,
:foreign_key=>"table_b_id",
:primary_key=>"id"
みたいなことでしょうか?
これは試し済みなんですよ。
もしかして相手側のbelongs_toの設定も必須になったんですかね。
相手側のbelongs_toは必要ない 移行ということなので、元のコードで 何か妙な上書きをしているのではと想像
とりあえず該当行近辺をデバッガでステップ実行するなり、デバッグプリントいれてみるなり。
974 :
969 :2010/12/07(火) 23:08:10 ID:???
皆様ありがとうございます。 validateなどコメントアウトしてみたり もう少し頑張ってみます。
976 :
nobodyさん :2010/12/08(水) 02:22:36 ID:SUaj9gW4
977 :
nobodyさん :2010/12/08(水) 02:23:59 ID:SUaj9gW4
7.2 Mongrel 7.2.1 Mongrelのインストール 7.2.2 Mongrelの動作確認 7.2.3 Windowsサービスとしてのインストール 7.3 MongrelとPen 7.3.1 Penのセットアップ 7.3.2 Penを使った負荷分散 7.3.3 Windowsサービスとしてのインストール 7.4 Apache 2.2とMongrel 7.4.1 Apacheのインストール 7.4.2 負荷分散のための設定 7.4.3 Proxyディレクティブ 7.4.4 動作確認 7.4.5 Windowsサービスとしてのインストール 7.5 IISとの統合 7.5.1 ISAPI_Rewriteのインストール 7.5.2 アプリケーションへのリクエストの転送 7.5.3 動作確認 7.6 リバースプロキシとURL 7.6.1 reverse_proxy_fixプラグインのインストール 7.6.2 reverse_proxy_fixプラグインの利用法 7.7 複数のアプリケーションをホスティングする際の指針 7.7.1 IISとMongrelを使い、複数の小規模なアプリケーションを提供する 7.7.2 複数の大規模なアプリケーションを提供する 7.7.3 Windows上でのパフォーマンス
>>964 >>968 キモイとか違和感とかって
見慣れてないって理由だけ?
バグを誘発しそうだから?
同じSymbolなのに書き方が違うからだろ
980 :
969 :2010/12/08(水) 13:24:57 ID:???
さらに調べたところ establish_connection でスキーマを変えているテーブルでのみ 発生することがわかりました。 これを Activerecord::Base.establish_connection にしたところ今度はスキーマを変えていないところで同じエラーが出ました。 何かアドバイス頂けないでしょうか?
動的にALTER TABLEでもしてるの? 3系のARにはreload_column_informationないんだっけ?
982 :
696 :2010/12/08(水) 22:35:31 ID:???
結局自己解決しました。
答えてくれた方ありがとうございました。
役に立ちそうなので参考までに解決方法書いておきます。
発生条件
establish_connectionで複数のスキーマにアクセスしている場合
has_manyのリレーションのところで
>>696 のようにエラーが起きる。
対処方法
has_many_association.rbをRails.root/lib/ へコピーして
config/application.rb でrequireする。
has_many_association.rb 77行目
relation = Arel::Table.new(@reflection.table_name)
を
relation = Arel::Table.new(@reflection.table_name,Arel::Sql::Engine.new(self))
に書き換える。
has_belongs_to_many.にも同じことが起きていまして
has_belongs_to_many.rbも全く同じ修正で対応できました。
複数のスキーマというのはPostgreSQLとかのスキーマのことで、 別々のスキーマのデータにアクセスしてるってことなのか? 解決したんだからいいんだろうけど、よくわからんかった
984 :
nobodyさん :2010/12/09(木) 12:15:35 ID:m46cVwTq
ほう
twitterののようにユーザー同士でフォローし合う機能を考える場合、 DB設計は以下のようになると思います。 usersテーブル id name followsテーブル id user_id follower_id このように、同じテーブル(users)に対して二つのカラム(user_id, follower_id)で参照を持っている場合、 usersテーブルとfollowsテーブルの関係はどのように定義すべきでしょうか? Userモデルで、has_many :follows としてしまうと、follower_idがusersテーブルを見ていることがRailsに伝わらないと思うので どのようにすればいいのか分かりません。
たぶん class User < ActiveRecord::Base has_many :follows has_many :followers, :through => :follows, :foreign_key => :follower_id, :class_name => 'User' end class Follow < ActiveRecord::Base belongs_to :user belongs_to :follower, :foreign_key => :follower_id, :class_name => 'User' end でいいと思う。 follwer と follwee のどっちがどっちだか分からなくなってきた。
render :partial => @posts で posts/post が render されるのはどうして?
has_many :followsだけでいいような気もする。 そこが繋がっていれば必要な情報は漏れなく取れるでしょ。
>>988 @posts内の要素が何のインスタンスかを見て決めている。
GrouponもRailsだったんだな 知らんかった
992 :
986 :2010/12/10(金) 17:00:12 ID:???
>>987 返事が遅くなりすいません。
大変参考になりました。
ありがとうございました。
993 :
nobodyさん :2010/12/10(金) 20:55:24 ID:ojStFfQT
snow leopardでrailsに挑戦しているのですが、 railsでアプリケーションを作成すると、 utf-8ではなくshift-jisで全ファイルが作成されてしまいます。 どうすればutf-8で生成されるようになるでしょうか? 3.03でも2.3.8でも2.3.5でもshift-jisになってしまいます。
テキストエディタの設定を変更する。
995 :
nobodyさん :2010/12/10(金) 22:00:27 ID:ojStFfQT
>>994 あれ、もしかしてcoteditorにだまされてただけ?
感謝です
rails関係なくね・・・
そもそも作った時点ではASCII文字しか含んでないような気がする。 submitボタン名になんか記号が入ってたような気もするけど。
埋め 2.3.5のアプリケーションをruby-1.9.2に対応させようとして、全部のファイルに # encoding: utf-8 を入れたんだけど、もっと根本的なところで動かなかった orz
3.0に移行する方がずっと楽だと思うぞ
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。