1 名前:nobodyさん mailto:sage [2010/12/11(土) 10:58:56 ID:???] ■前 【Ruby】Ruby on Rails Part10 hibari.2ch.net/test/read.cgi/php/1282991262/ ■参考サイト <英語> 本家:rubyonrails.org API document:api.rubyonrails.com/ 開発者のblog:weblog.rubyonrails.org/ 参考wiki:wiki.rubyonrails.org/rails <日本語> Rails' wiki: wiki.fdiary.net/rails/ twitter.com/dhh www.loudthinking.com/
2 名前:nobodyさん mailto:sage [2010/12/11(土) 11:21:47 ID:???] Rails ERD ? Gallery of example diagrams rails-erd.rubyforge.org/gallery.html
3 名前:nobodyさん mailto:sage [2010/12/11(土) 11:33:00 ID:???] Rails Plugins Compatibility Tracking - RailsPlugins.org www.railsplugins.org/home 情報処理推進機構:オープンソフトウェア:OSS人材育成:OSSモデルカリキュラム導入実証 www.ipa.go.jp/software/open/ossc/seika_1005_1.html Railsで作ったひとりサービスをリリースするまでやっておくこと20個 : 僕は発展途上技術者 blog.champierre.com/archives/897 はじめる! Cucumber - 達人出版会 tatsu-zine.com/books/cuke Rails ERD ? Entity-Relationship Diagrams for Rails rails-erd.rubyforge.org/ Rails3でどう書けばいいかわからない時、参考になる7つのURL | KRAY Inc kray.jp/blog/url_reference_for_rails3/
4 名前:nobodyさん mailto:sage [2010/12/11(土) 15:55:05 ID:???] mysqlだと SELECT * from posts WHERE created_at >= '2000-01-01' よりも SELECT * from posts JOIN (SELECT id from posts WHERE created_at >= '2000-01-01') a ON USING(id); のほうが早いですがこのようにSQL自動的に変換する方法はありますか?
5 名前:nobodyさん [2010/12/11(土) 17:29:12 ID:Mhj/vziN] ORMを使うってのはそういう細かいチューニングを捨てても構わない という覚悟で。
6 名前:nobodyさん mailto:sage [2010/12/11(土) 17:59:09 ID:???] それが本当だったらMySQLがおかしすぎるというだけの話だけどな
7 名前:nobodyさん mailto:sage [2010/12/11(土) 18:39:30 ID:???] このスレッドは天才チンパンジー「アイちゃん」が 言語訓練のために立てたものです。 アイと研究員とのやり取りに利用するスレッドなので、 関係者以外は書きこまないで下さい。 京都大学霊長類研究所
8 名前:nobodyさん mailto:sage [2010/12/11(土) 20:04:32 ID:???] Railsからメールを送信する機能があるWebサービスを運用しているのですが、 ログを見ていると時々以下のようなエラーが出ています。 Timeout::Error (execution expired) : /usr/local/ruby/lib/ruby/1.8/timeout.rb:60:in 'open' /usr/local/ruby/lib/ruby/1.8/net/smtp.rb:551:in 'do_start' /usr/local/ruby/lib/ruby/1.8/net/smtp.rb:551:in 'do_start' /usr/local/ruby/lib/ruby/1.8/net/smtp.rb:525:in 'start' おそらくタイムアウトでメールが送れなかった、ということだと思うのですが 原因が分かりません。 何か考えられる要因など分かる方がいましたら、教えていただけないでしょうか。
9 名前:nobodyさん mailto:sage [2010/12/11(土) 20:41:41 ID:???] rails3 で rake rails:templates:copy してもモデル用テンプレートがどこにも無いんだが。 マジで誰か助けて。 gems/activerecord-3.0.3/lib/rails/generators/active_record/model/templates/model.rb を自力で lib/templates のどこかにコピーしたらいいの?
10 名前:nobodyさん mailto:sage [2010/12/11(土) 21:22:23 ID:???] モデル向けのカスタムテンプレート機能はないんじゃないの? ActiveRecord::Baseを継承するだけだし それ以上やりたいから言ってるんだろうけど
11 名前:nobodyさん mailto:sage [2010/12/11(土) 23:44:42 ID:???] >>8 メールの送信に何使っているかわからないけど、メール送信ソフトのログ見ればいいんじゃね?
12 名前:nobodyさん mailto:sage [2010/12/11(土) 23:55:04 ID:???] >>9 rake -T してそれっぽいタスクがないか確認しる 手動でおくなら、lib/以下のはず 参考 ASCIIcasts - “Episode 216 - Generators in Rails 3” asciicasts.com/episodes/216-generators-in-rails-3
13 名前:nobodyさん mailto:sage [2010/12/11(土) 23:58:08 ID:???] RailsのviewからPHPのモジュールを読み込こむことは可能ですか? 具体的には、Railsで作ったウェブサイトに広告を貼りたいのですが その広告を貼るためにはPHPモジュールを組み込む必要があるのです。 Railsのview内でPHPの文法を使ってrequireしたり変数の宣言したりしたいのですが、こんなことって出来るんでしょうか?
14 名前:9 mailto:sage [2010/12/12(日) 00:50:15 ID:???] >>10 ,12 ソース読んでたら簡単にはいかなそうだったのと、ビューのテンプレートも もっと増やしたかったのでgeneratorで自分用scaffoldを作ってやってます もうThorのコードが変態すぎる!(いい意味で)
15 名前:nobodyさん [2010/12/12(日) 03:27:56 ID:EFmomRN2] 質問させてください。 rails3 で mixiアプリの署名付きリクエストを検証したくて d.hatena.ne.jp/urekat/20090530/1243693298 を見て、rails3用に色々いじってるんですが、うまくいきません。 ソース追うと https://github.com/pelle/oauth/blob/master/lib/oauth/signature/base.rb のverifyでfalseになっているのですが、 ぱっと見 def verify self == self.request.signature end が、 selfはクラス自体で、self.request.signatureはクラスのインスタンス変数なので、 trueになることってあるのか?と思ってしまったのですが、あるのでしょうか? どなたかアドバイスいただけると幸いです
16 名前:nobodyさん mailto:sage [2010/12/12(日) 04:21:16 ID:???] その上で定義しているメソッドをみろ。
17 名前:nobodyさん [2010/12/12(日) 05:19:08 ID:U+z3WATo] Ruby on Railsのパフォーマンス向上に関する10のtips blog.tkmr.org/tatsuya/show/268-ruby-on-rails-10-tips findメソッドはパワフルだけど基本SELECT * FROMなので場合によっては:selectで必要なカラムだけ読み込む、また:limitや:offsetを活用する ごくごく基本的な Ruby on Rails のパフォーマンスチューニング jijixi.azito.com/cgi-bin/diary/index.rb?date=20071114 :conditions オプションでキーに使われるようなカラムにはインデックスを作成すべし :selectで取得するカラムを絞ったらパフォーマンスが倍に brass.to/blog/active_record_select_option.html レコード件数は110万件くらい カラム数は30程度 インデックスは効いている(explainで確認済み) Rails で MySQL を使うときの注意点 | METAREAL www.metareal.org/2007/07/24/notes-on-rubyonrails-with-mysql/ SQL を二段階に分けるといい まず、最初の SQL でレコードの ID だけを SELECT する(int だけなので、このときの一時テーブルはメモリ上に作られる) 次に、その ID で必要な TEXT や BLOB を SELECT するんだ(これは ID による単純な検索なので一時テーブルは使われない) MySQLパフォーマンスチューニングのためのインデックスの基礎知識 d.hatena.ne.jp/kiyo560808/20101117/1289952549 これを知っておかないと、MySQLサーバの再起動でDBデータの不整合が発生するかもしれません! - よかろうもん! d.hatena.ne.jp/interu/20100817/1282041840
18 名前:nobodyさん [2010/12/12(日) 05:21:19 ID:U+z3WATo] [Rails] query-reviewerでRailsアプリのボトルネックを見つける d.hatena.ne.jp/tkng/20080811/1218442298 SpecialWarningというプラグイン d.hatena.ne.jp/authorNari/20090205/1233840189 N+1問題などを監視してパフォーマンスを改善するRailsプラグインBullet blog.digital-squad.net/article/149685338.html 複合キー compositekeys ActiveRecord Composite Primary Keys compositekeys.rubyforge.org/ Martin Fowler's Bliki in Japanese - エンタープライズRails capsctrl.que.jp/kdmsnr/wiki/bliki/?EnterpriseRails MOONGIFT: ? Railsを見える化「RailRoad」:オープンソースを毎日紹介 www.moongift.jp/2007/07/railroad/ Unexpected Run: Rails3.0でモデルのER図を簡単に出力する方法 sawada0903.blogspot.com/2010/10/rails30er.html 「has_many :through の関連テーブル名には、relation_ の接頭辞を用いる」 d.hatena.ne.jp/hichiriki/20100622#1277195810
19 名前:nobodyさん mailto:sage [2010/12/12(日) 16:27:44 ID:???] >>15 上に > def ==(cmp_signature) > Base64.decode64(signature) == Base64.decode64(cmp_signature) > end ってあるじゃん
20 名前:nobodyさん mailto:sage [2010/12/12(日) 16:35:39 ID:???] >>13 標準ではできないんじゃね? PHPで得た結果さえ使えればそれでいいなら、そのphpを単体で動かせるように別途phpを書いて それをviewでJavaScriptで読み込むとかいろいろ方法はあるんじゃないの 本当にRubyからPHPのモジュールを読み込みたいなら俺は知らん Railsに限った話じゃないし、Rubyのスレで聞けばいいけど Ruby 初心者スレッド Part 40 hibari.2ch.net/test/read.cgi/tech/1292049975/
21 名前:nobodyさん mailto:sage [2010/12/12(日) 23:05:14 ID:???] >>13 出来る出来ない別として、そういう実装はなるべく避けたほうがいい。
22 名前:15 [2010/12/13(月) 03:07:52 ID:aRjyTaj/] >>16 >>19 すいません、しばらくPHPばかり触っていて演算子のオーバーロード が頭にありませんでした。。ありがとうございます。 その後、色々調べていますが、やはりどうもうまくいきません。 例えば、 def ==(cmp_signature) exit Base64.decode64(signature) == Base64.decode64(cmp_signature) end のようにしても exitが実行されていないようで、普通の == 比較になってしまっているようなのです。 def verify exit self == self.request.signature end のようにすると、exitはちゃんと実行されるので、やはり == がなにかおかしい感じです。 rvm で Ubuntu 10.04.1 LTS に ruby-1.9.2p0を入れて使っているのですが、 同じような妙な挙動をしている方って他にいらっしゃるのでしょうか。。?
23 名前:15 [2010/12/13(月) 03:08:40 ID:aRjyTaj/] また、== がおかしいのをとりあえず無視して ==メソッドの中身を verifyメソッドに書き足して def verify #self == self.request.signature Base64.decode64(signature) == Base64.decode64(self.request.signature) end とすると、 #<OpenSSL::PKey::RSAError: Neither PUB key nor PRIV key:: nested asn1 error> となりました。 追っていくと、 digestメソッドのところでえらーになっているみたいなのですが、これがまたよくわからず、 同じクラス内の digest プライベートメソッドを呼び出さず、 https://github.com/pelle/oauth/blob/master/lib/oauth/signature/rsa/sha1.rb こちらの digest メソッドを呼び出しているようで、 #<OpenSSL::PKey::RSAError: Neither PUB key nor PRIV key:: nested asn1 error> となります。 試しにrails consoleで require '/home/hoge/.rvm/gems/ruby-1.9.2-p0/gems/oauth-0.4.4/lib/oauth/signature/rsa/sha1.rb' して (OAuth::Signature::RSA::SHA1).methods.grep /digest/ すると [:digest_class, :digest_klass] が返り、digestメソッドが含まれていません。 よく分からないのですが、この挙動は正しいのでしょうか。。? 全く解決できる見込みがありません。 ご教示いただけると幸いです。
24 名前:nobodyさん mailto:sage [2010/12/13(月) 04:20:54 ID:???] i18nとかつかうときのマジックコメントって どこに書くんでしょうか?
25 名前:nobodyさん mailto:sage [2010/12/15(水) 02:06:31 ID:???] >>15 そのサイトのmixiのリンク先のページが無くなってるんだが、mixiのAPIの仕様が変わっているなんてことはないの? あとはお約束の en.lmgtfy.com/?q=Neither+PUB+key+nor+PRIV+key%3A%3A+nested+asn1+error >>22-23 ==が呼ばれていないのはよくわからないな Railsならdevelopmentモードでファイルを編集しても再ロードされていないとかいう話ではないよな それと動作見るなら、 Rails.logger.debug("hogehoge") でログ取ればよいよ。loggerがdebugレベルを出力するときだけログが取られる。
26 名前:nobodyさん [2010/12/17(金) 13:18:45 ID:jG120pyf] Building Mini Google in Ruby www.slideshare.net/igrigorik/building-mini-google-in-ruby
27 名前:nobodyさん mailto:sage [2010/12/18(土) 02:46:03 ID:???] >>13 Railsを動かすアプリケーションサーバーにもよると思うけどPassengerならできたよ 多分adsenseの広告張りたいんだよね? PHPは別ファイルにしてpublic配下に置いて、それをViewからSSIで読み込んでやればおk apacheでSSI関係の設定も必要 元の発想はこの辺の記事から Mongrelでも可能っぽい yugui.jp/articles/642 yugui.jp/articles/644
28 名前:nobodyさん mailto:sage [2010/12/19(日) 08:58:50 ID:???] 2007年の記事だけど、今でも通じるの?Rails1ぐらいだろこの頃は
29 名前:nobodyさん mailto:sage [2010/12/19(日) 09:07:11 ID:???] railsとphpを別ポートで動かしてphpからrails読み込めばいいんじゃね。
30 名前:nobodyさん mailto:sage [2010/12/19(日) 13:15:14 ID:???] 同じ状況で、PHPコール用のヘルパーを書いたな public配下のphp/ad.php みたいなファイルをWebAPIに見立ててアクセス、 戻りの広告HTMLを表示する、という風にした 結局広告って最終的には素のHTML+JSになるからそれを表示出来ればいい
31 名前:nobodyさん mailto:sage [2010/12/19(日) 14:39:43 ID:???] >>28 rails3 passenger3 apacheで動いたよ
32 名前:nobodyさん mailto:sage [2010/12/19(日) 21:43:26 ID:???] >>27 より>>30 の方が明らかにスマートだと思うけど パフォーマンスが違うのかな?
33 名前:nobodyさん mailto:sage [2010/12/20(月) 01:12:09 ID:???] >>30 それってアドセンス
34 名前:nobodyさん mailto:sage [2010/12/20(月) 01:13:38 ID:???] 途中で送信しちゃった アドセンスだったらそのやりかたうまく行くのかな?
35 名前:nobodyさん mailto:sage [2010/12/20(月) 20:00:11 ID:???] RailsからPHP使うとか うちの会社なら鼻っからNGだなぁ 気持ち悪すぎる
36 名前:nobodyさん mailto:sage [2010/12/20(月) 21:28:03 ID:???] 検索実装が面倒だったから↓で済ませた。will_pagenateって配列にも使えるんだな query = params[:q].split(/\s/).map{|q| Regexp.new q rescue Regexp.new Regexp.quote(q)} if params[:q] @posts = @posts.select{|x| query.all?{|q| x.title.match q || x.body.match q}} if params[:q] @posts = @posts.paginate :page => params[:page], :per_page => 100
37 名前:nobodyさん mailto:sage [2010/12/20(月) 21:35:01 ID:???] いきなりよくわからんが、 最初の@postsに100万件データが入っていても耐えられんの?
38 名前:nobodyさん mailto:sage [2010/12/20(月) 21:35:59 ID:???] mysqlって日本語の全文検索できないよな確か
39 名前:nobodyさん mailto:sage [2010/12/20(月) 21:40:18 ID:???] 「全文検索」ってLIKEで日本語が引っかからないってことじゃないだろうな
40 名前:nobodyさん mailto:sage [2010/12/20(月) 21:47:25 ID:???] >>37 12000件だけど余裕だった
41 名前:nobodyさん mailto:sage [2010/12/20(月) 21:54:48 ID:???] >>39 そうだけど何か?
42 名前:nobodyさん mailto:sage [2010/12/20(月) 22:03:31 ID:???] 全検索はLIKE文とは違うから、同じ結果を求めるのは無理があるのではないか?
43 名前:nobodyさん mailto:sage [2010/12/20(月) 23:48:46 ID:???] >>41 いやなんでもない
44 名前:nobodyさん mailto:sage [2010/12/21(火) 00:46:04 ID:???] >>40 100万件と言ってるわけだが。 まあ個人作成で少数利用なら処理に1秒かかっても大丈夫だろうけど、 仕事でやられたら頭に血が上るレベルだぞ。
45 名前:nobodyさん mailto:sage [2010/12/21(火) 01:06:16 ID:???] おれならfind_by_paginate使う
46 名前:nobodyさん mailto:sage [2010/12/21(火) 01:30:58 ID:???] >>35 気持ちいいとか悪いの問題じゃないんだよ必要とされてるんだからエンジニアはそれに応えなきゃ
47 名前:nobodyさん mailto:sage [2010/12/21(火) 02:01:07 ID:???] 普通のユーザはRailsだのPHPだのはどうでもよくて、お安く正しく動いてくれれば良い エンジニア同士なら、システム設計に意見する方が適切ではないかい
48 名前:nobodyさん mailto:sage [2010/12/21(火) 02:25:17 ID:???] 意見すればどうにかなるとでも? 上で例に上げられてるのは他社の用意した広告プラットフォームでしょ エンジニアの志向する技術とビジネスで求められる現実は乖離するのが間たり前で、それに柔軟に対応するのもエンジニアの務めだと思う
49 名前:nobodyさん mailto:sage [2010/12/21(火) 09:15:01 ID:???] >>44 代替案も示さずに批判だけとかcgi.rbがいつまでも糞なままなのがruby界の陰湿さをよくあらわしていますよね
50 名前:nobodyさん mailto:sage [2010/12/21(火) 09:59:57 ID:???] ヒントも代替案も思いっきり示されてるわけだが それに全く気づかないのは人間性の問題なんだろうな
51 名前:nobodyさん mailto:sage [2010/12/21(火) 10:53:38 ID:???] cgi.rbの悪口いってるやつってRuby関連スレでよく見るがおまえもその一人か。 偉そうなこと言う割にはちょっと考えられないような糞プログラムを晒してくれてるなw
52 名前:nobodyさん mailto:sage [2010/12/21(火) 11:00:27 ID:???] 検索に使われるワードなんて決まってるんだからキャッシュしとけ
53 名前:49 mailto:sage [2010/12/21(火) 11:11:54 ID:???] >>51 俺は「cgi.rbの悪口をいうやつが多い」ので「ruby界は陰湿」と言っているのだが。。。
54 名前:nobodyさん mailto:sage [2010/12/21(火) 11:44:25 ID:???] 「cgi.rbがいつまでも糞なまま」は「cgi.rbの悪口」じゃないのかよ 自分で自分を陰湿だと言ってることに気づいてないとは
55 名前:nobodyさん mailto:sage [2010/12/21(火) 15:15:03 ID:???] 批判・批評と悪口の区別が付かない人は議論に向かない
56 名前:nobodyさん mailto:sage [2010/12/21(火) 17:04:13 ID:???] >>36 これってメモリ食うってこと?
57 名前:nobodyさん mailto:sage [2010/12/21(火) 17:46:09 ID:???] i18nとかつかうときのマジックコメントって どこに書くんでしょうか?
58 名前:nobodyさん [2010/12/21(火) 18:43:40 ID:irxjcebd] 一般的な意味での i18n ? i18n gem ?
59 名前:nobodyさん mailto:sage [2010/12/22(水) 03:49:13 ID:???] >>52 検索に使われるキーワードのlogを見たことありますか? 東京駅近くの病院 ↑みたいに文章で検索する人とか結構多い とにかくこっちが想定しないような検索語をどんどん送ってくるのが一般ユーザー
60 名前:nobodyさん mailto:sage [2010/12/22(水) 05:09:25 ID:???] gemのmysql2ってどうですか?速いんでしょうか?
61 名前:nobodyさん mailto:sage [2010/12/22(水) 10:21:51 ID:???] >>57 何に困っていてどうしたいのか書いたほうがいいかも
62 名前:nobodyさん mailto:sage [2010/12/22(水) 10:23:56 ID:???] >>59 検索キーワードを見ていると、皆さん様々な悩みを思い思いに検索欄に入力して検索しておられますね うちの検索欄はお悩み相談室ではないのだが・・・
63 名前:57 mailto:sage [2010/12/22(水) 16:43:25 ID:???] >>61 .html.erb内に日本語書いて、それが正しく表示されるようにしたり、 フォームからの入力で日本語を入力出来るようにしたいんですが、 どうすればいいのかよく分かりません…
64 名前:nobodyさん mailto:sage [2010/12/22(水) 16:51:25 ID:???] それi18nじゃないがな RubyとRailsのバージョンによって対処法が違うから書かないと DBの設定が違ってる可能性もあるから使ってるDBも書いた方がいい
65 名前:nobodyさん mailto:sage [2010/12/22(水) 19:04:19 ID:???] >フォームからの入力で日本語を入力出来るようにしたいんですが ぱっと思ったのは、MySQLとかの文字コードがlatin1のままだったり、 プログラムではUTF8なのにHTML表示がSJISだったりとか
66 名前:nobodyさん mailto:sage [2010/12/24(金) 14:37:49 ID:???] >>63 原因がありすぎてそれだけだと絞れないな UTF-8という前提で書くと ・.html.erbをUTF-8の文字コードで保存していない ・UTF-8で保存していると見せかけて、BOM付きやUTF-8ではないUNICODEになっている ・.html.erbの文字コードが指定されていない ・.html.erbの文字コードとhtmlのmeta指定やレスポンスヘッダーcharsetの指定がバラバラになっている ・RubyをUTF-8で動かしていない(対応策はRubyやRailsバージョンによりけり) どれそれの文字コードが表示できないじゃなくて「日本語」って書いてるのが不安w
67 名前:15 [2010/12/26(日) 06:47:21 ID:P+mR+WO/] >>16 >>19 レスありがとうございます。お礼遅れてすみません。 自分が色々勘違いしていたところもあったのですが、結局まだ解決していません。 eblog.drecom.jp/entry/15 の eblog.drecom.jp/system/data/10/9ccc25cf54.png?1290356437 に「OAuthのverifyが通らない」とありまして、 まさにこの状態だと思うのですが、分からず・・とりあえず後回しにして 他の部分の実装を進めています。 また別のことでご質問させていただきたいのですが、 ApplicationControllerの上の方で paramsの値をみてif分で条件分岐させて protect_from_forgeryを使うか使わないか振り分けたいのですが、 if params["v"] == "test" protect_from_forgery end とすると params がundefinedとなってしまいました。 試しに before_filter :custom_protect_from_forgery def custom_protect_from_forgery if params["v"] == "test" protect_from_forgery end とすると、なぜかprotect_from_forgeryの行で undefined method before_filter となってしまいました。 何か良い方法がありましたら教えていただけますと幸いです。
68 名前:15 [2010/12/26(日) 07:13:23 ID:P+mR+WO/] よく考えたらparamsでprotect_from_forgeryを切り替えるのは駄目でした。 上記の通りoauth周りがまだ解決できてませんが、oauth-pluginのoauth_required を見て、trueかfalseかで処理を分ける様なイメージです。 こういった処理は可能なのでしょうか。。
69 名前:nobodyさん mailto:sage [2010/12/26(日) 09:17:54 ID:???] RailsではなくまずはRubyの勉強をすべき しかもソースを見てレスくれてんのに質問投げっぱなしで放置して、 分からなくなったときだけ再登場。 そんなやつが教えてもらえるわけないだろ。
70 名前:15 [2010/12/26(日) 13:31:14 ID:P+mR+WO/] すみません>>25 へのお礼が漏れてました。 ありがとうございました。 で、25のurlで解決出来そうだと思ったので 解決してからお礼しようと思ってたのですが、結局わからなかったもので.. すみません。
71 名前:nobodyさん mailto:sage [2010/12/26(日) 14:49:33 ID:???] インスタンス○○とクラス○○の違いをきちんと意識しないと。 とりあえず動かすだけなら↓でいけると思うが。 self.class.protect_from_forgery
72 名前:nobodyさん mailto:sage [2010/12/26(日) 18:24:37 ID:???] それだとクラスメソッドで書き換えに行っちゃうから、他のアクセスがきた時、タイミングによってはアウト
73 名前:nobodyさん [2010/12/26(日) 19:45:23 ID:j7lQkci8] 試してないけど、protect_from_forgery(options)は before_filter :verify_authenticity_token, option とほぼ同義なので、 protect_from_forgery :if => lambda {|controller| カスタム条件 } みたいなので出来そうな気がする。あるいは def protect_against_forgery? カスタム条件 and super end でもいいような気がする。
74 名前:nobodyさん mailto:sage [2010/12/26(日) 19:50:26 ID:???] rails3の本はいつ出るんだ?
75 名前:nobodyさん [2010/12/26(日) 20:01:46 ID:j7lQkci8] www.pragprog.com/titles/rails4/agile-web-development-with-rails
76 名前:nobodyさん mailto:sage [2010/12/26(日) 23:49:38 ID:???] >>75 サンクス!英語版が来月ってことは日本語版は相当先だろうなぁ
77 名前:nobodyさん mailto:sage [2010/12/27(月) 00:11:08 ID:???] アジャイル本は翻訳に半年ぐらいかかりそう
78 名前:nobodyさん mailto:sage [2010/12/27(月) 00:50:08 ID:???] 英語の勉強も兼ねて買ってみるかな…
79 名前:nobodyさん mailto:sage [2010/12/27(月) 08:27:00 ID:???] rails2と3は中身は相当変わったけど、使う分にはそれほど変わってないから 第3版で十分だと聞いているが。
80 名前:nobodyさん mailto:sage [2010/12/27(月) 09:10:44 ID:???] >>79 前スレで紹介されていたWEB+DEV PRESS VOL 58よかったぞ 全然初心者向けじゃねえし、ほとんど移行ガイドじゃねーかw 第3版とこれを合わせてみるといいと思う 635 名前:nobodyさん[sage] 投稿日:2010/11/07(日) 23:35:34 ID:??? >>625 WEB+DB PRESS 58のRails 3特集がいいぞ Rails 2からの移行者以外誰得な記事だと思ったが WEB+DB PRESS Vol.58: 編, WEB+DB PRESS編集部: 本 www.amazon.co.jp/dp/4774143243/ WEB+DB PRESS vol.58 の Rails 3 / Ruby1.9.2 記事が素晴らしすぎる件 - まちゅダイアリー(2010-08-21) www.machu.jp/diary/20100821.html#p01
81 名前:nobodyさん mailto:sage [2010/12/27(月) 11:18:59 ID:???] マッチポンプ
82 名前:79 mailto:sage [2010/12/27(月) 11:45:02 ID:???] おれちゃうわ
83 名前:nobodyさん [2010/12/27(月) 17:48:17 ID:jyXQOLKO] Rails3は railstutorial.org/chapters/beginning でいいと思う 無料だし、丁寧だし、必要なら製本・PDF・解説ビデオ買えるし
84 名前:nobodyさん mailto:sage [2010/12/27(月) 19:59:32 ID:???] それいいけどあくまでチュートリアルだし、 実際にアプリ作ろうとしたらその内容じゃきついよ。 アプリのモデルも二つしかないし、完全な入門用だと思う。
85 名前:nobodyさん mailto:sage [2010/12/27(月) 20:22:54 ID:???] たしかにURLはbeginningだな
86 名前:nobodyさん mailto:sage [2010/12/28(火) 00:24:51 ID:???] すいません質問させてください。 @entries = Entry.find(...) このようにfind系メソッドで取得した@entriesをviewで処理する時に、Entryモデルのインスタンス変数以外の情報で出力を分けたい場合があります。 これを実現するためにコントローラ側で@entriesをループで回して各要素に情報を加えたいのですが、上手いやり方がわかりません。 理想的には以下のようにして、new_varという値を付加したいのですが、これは勿論エラーになります。 【コントローラ側】 @entries.each do |entry| entries.new_var = ごにょごにょ end 【ビュー側】 <% entries.each do |entry| %> <% if entry.new_var == 1 %>ごにょごにょ<% else %>ごにょごにょ<% end %> <% end %> 仕方なく、自分なりに考えた末、こんな感じになりましたが、冗長な気がします。 【コントローラ側】 @entries.map! do |entry| {:org => entry, :new_var => ごにょごにょ} end 【ビュー側】 <% entries.each do |entry| %> <% if entry[:new_var] == 1 %>ごにょごにょ<% else %>ごにょごにょ<% end %> <% end %> 実行時にインスタンス変数を追加すれば前者でいけるのかもしれませんが、これはやはりやり過ぎでしょうか? もっとスマートな方法があったら教えてください。
87 名前:nobodyさん mailto:sage [2010/12/28(火) 00:52:09 ID:???] >>86 試してないけど、モデルEntryにアクセサnew_varを定義してやれば通るんじゃないの? 前者のコントローラ側コードは、 entry.new_var = ごにょごにょ の間違いってオチ?
88 名前:nobodyさん mailto:sage [2010/12/28(火) 00:55:40 ID:???] >>83 rvmやgitとgithubの使い方、TDDしながらの開発、herokuへのデプロイ 初心者向けの教材としていいんじゃないかと思うが、逆にすぐにやりたいことがある初心者には余計なことが多いなw
89 名前:86 mailto:sage [2010/12/28(火) 01:36:16 ID:???] >>87 ありがとうございます。 前者のコードはご指摘通りentry.new_varの間違いでした。 モデルにアクセサを定義してみたら動きました。ありがとうございます。 ただ、追加する情報というのがviewによって違うため、そのたびにアクセサを定義するというのが少し現実的では無いのです。
90 名前:nobodyさん [2010/12/28(火) 07:38:41 ID:qNgO67wu] entry["attr"] = value これで勝つる。
91 名前:86 mailto:sage [2010/12/28(火) 10:30:29 ID:???] >>90 ありがとうございます!出来ました。 ActiveRecord::Base.instance_methods(false).grep(/\[\]/) => ["[]=", "[]"] これは今回のケースのような為の便宜メソッドなのでしょうか? あるいは他に目的があるのかな。
92 名前:nobodyさん mailto:sage [2010/12/28(火) 10:41:16 ID:???] posts.id == posts['id'] #=> true もともとはテーブルのデータを呼び出すのに使う だから列名と被ると上書きされるので注意
93 名前:nobodyさん mailto:sage [2010/12/28(火) 10:54:35 ID:???] > これは今回のケースのような為の便宜メソッドなのでしょうか? そうみたい。
94 名前:nobodyさん mailto:sage [2010/12/28(火) 12:48:06 ID:???] ふーむなるほど、勉強になりました。 少し
95 名前:86 mailto:sage [2010/12/28(火) 12:48:49 ID:???] ↑途中で送ってしまいました。すいません。 皆様ありがとうございました。
96 名前:69 [2010/12/28(火) 13:59:50 ID:sIDdR5ML] >>71 >>72 >>73 レスありがとうございます。 protect_from_forgery :if => lambda {|controller| カスタム条件 } 結局これでうまく行きました。ありがとうございます。 クラス○○とインスタンス○○の違いはある程度は分かっていると思うのですが、 ActionControllerに用意されている色々なメソッドがどのタイプのメソッドなのか、把握は出来ていませんでした・・ ともあれ、ありがとうございました。 OAuthの方の問題が解決しないのは変わらず悩んでます・・ もし分かる方いらっしゃいましたらご教示いただけると幸いです。 質問ばかりですみません。
97 名前:nobodyさん [2010/12/29(水) 16:12:12 ID:j8vwwBYJ] cache_pages 使うとGETパラメタが使えないってどうにかなんないの? mod_cache でも使うの??
98 名前:nobodyさん mailto:sage [2010/12/30(木) 22:08:23 ID:???] >>97 キャッシュされててコントローラも通らないんだからパラメタ使いようがないよね。 動的にしたい部分があればAjaxで後から追加。
99 名前:nobodyさん mailto:sage [2010/12/30(木) 23:59:25 ID:???] Ajaxにしてもキャッシュ効かないだろ mod_cache使っとけ
100 名前:nobodyさん mailto:sage [2010/12/31(金) 03:04:32 ID:???] route.rbの設定でクエリストリングなくすのが本筋だろ