- 1 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 12:18:26 ]
- Ruby on Railsスレ
みんな語ろう。
- 892 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 23:14:24 ]
- >>888
導入自体はすごく簡単だった。 デフォルトでproductionで動くので 開発時はhttpd.confに RailsEnv development って書くのを忘れずに。 しばらく使ってみて問題が出ないか様子を見ることにする
- 893 名前:888 mailto:sage [2008/04/13(日) 23:41:44 ]
- >>891
>>892 参考にさせてもらいます。 まだ試せそうにないけど。。
- 894 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 22:06:50 ]
- そろそろ900なので告知します
Railsは板の趣旨から明らかにwebprog板が適切なので 次スレはwebprog板の下記スレの利用をお願いします pc11.2ch.net/test/read.cgi/php/1207425569/
- 895 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 23:29:40 ]
- railsを初めてみようと入門書をざっと目を通してみたのですが、
以下のようなことはrailsではどう設定すればできるのでしょうか? webページでよくある構成で、フレームを複数に分割して上のフレームはタイトル固定で、 下のフレームでrailsアプリを動かしたい時に、railsはコントローラーがURL?になっているので ページ全体が遷移してしまうような気がするのですが、、、 要するに遷移先をここのフレームに表示みたいに設定できるかということです。 宜しくお願い致します。
- 896 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 23:46:29 ]
- >>895
単にaのtarget属性じゃないの?
- 897 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 02:45:45 ]
- >>895
フレームを使わない
- 898 名前:859 mailto:sage [2008/04/16(水) 11:51:29 ]
- >>896,897
有難う御座います。 上のフレームには一回表示すれば更新の必要はないが、表示するのは重たい ページだったとします。 下のフレームはrailsのコントローラーを使ってページ遷移をしたい際に、 フレームを使わないと全体に更新がかかる?ので上フレームも再読み込み する必要なないのに、また読み込みを行い重くなるのを防ぎたいのです。 この場合は897さんのようにフレームを使わず、Ajaxでの部分的な読み込み しかないのでしょうか?
- 899 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 16:48:28 ]
- >>898
まず rails を使わないフレームだけのサイトを作る その後、下フレームを rails と差し替える これでおk
- 900 名前:898 mailto:sage [2008/04/16(水) 17:15:45 ]
- >>899
なるほど。 ではこのような場合はどうでしょうか? -------------------------- | |←タイトルフレーム |--------------------------| | | | | | | | |←メインフレーム | | | | |--------------------------| | |←ボタンフレーム -------------------------- のような3分割のページがあったして、 「タイトルフレーム」は固定。「ボタンフレーム」は 色々なボタンが並んでいるフレームで、そのボタンを押した時の 各処理を「メインフレーム」に表示させたい。 「タイトルフレーム」、「ボタンフレーム」は1回しか読み込む必要はなし。 rails で frameset を使った例を色々調べてみたのですが、 見当たりませんでした。(iframeの例はありました) 度々すみませんが宜しくお願い致します。
- 901 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 17:38:11 ]
- 今時フレーム・・・社内システムか何かか?
てかタイトルフレームってなんだ? メニューヘッダのようなものじゃろうか。 キャッシュして静的ページ化すりゃいいじゃんと思ってしまうのだが・・・
- 902 名前:デフォルトの名無しさん [2008/04/16(水) 19:44:12 ]
- パスワードのハッシュ化に使うsaltなどの設定をひとっところにまとめたいのですが、
どのようにするのがスマートでしょうか? _ _
- 903 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 20:31:57 ]
- いまどきフレームはあり得んな。
ショボく見えるだけ。 あと、HTMLというか、ページとURLの関係をちゃんと分かった方がよい。 フレームにしてもそれぞれのフレームにURLがあるだろ。
- 904 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 22:29:30 ]
- >>900
まず rails を使わないフレームだけのサイトを作る その後、メインフレームを rails と差し替える これでおk
- 905 名前:ヽ・´∀`・,,)っ━━━━━━┓ mailto:sage [2008/04/16(水) 23:38:35 ]
- >>902
saltってhashに含まれるでそ?常考 ランダム生成にしとけば? Rubyの疑似乱数はたしかMT19937ですね 固定にするなら、ymlから読むようにでもするかな。
- 906 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 00:07:31 ]
- >>905
Railsでよく使われる認証系のパスワード暗号化って、暗号化した 値にsaltが付いてくるcryptとかじゃなくて「アプリ固有のsalt+パスワード」 のダイジェスト(SHA512とか)な実装が多いんだな。なんでだろ。
- 907 名前:902 mailto:sage [2008/04/17(木) 20:24:07 ]
- あー、ごめんなさい。SHA1に固定のsaltをつける場合です。
>>905 ありがとうございます。 ymlということは、別途に自分で用意すればいいのでしょうか? Railsで用意されている設定システムがあればそれを使用しようと思いまして。 具体的にはenviromentなんかにきれいに書けるとうれしいのですが。。 我儘言ってすみません>< >>906 固定のsaltで暗号強度的に事足りるからではないでしょうか。 値にそれぞれsalt用意するとなると、容量も食いますしカラムも一つ増えてまう。
- 908 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 21:49:09 ]
- crypt(3)のやり方だと、暗号文字列そのものがsalt付きだから
カラム数的には増えることはないですね。 '1234567890'.crypt('$1$abcdefgh$') #=> '$1$abcdefgh$7KT./yJ8ONoodnM9VUtMO0' '1234567890'.crypt('ab') #=> "ab1iBa.N.U2C6"
- 909 名前:ヽ・´∀`・,,)っ━━━━━━┓ mailto:sage [2008/04/17(木) 21:52:31 ]
- >>907
ここ参照 www.oiax.jp/rails/for_web_designers/yaml.html
- 910 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 21:54:07 ]
- cryptだと、暗号化済みのパスワードリストが漏れた場合に、
よくあるパスワードをその暗号化リストのsaltで暗号化して 照合することができるよね。(シャドウパスワードが考案された理由)
- 911 名前:ヽ・´∀`・,,)っ━━━━━━┓ mailto:sage [2008/04/17(木) 21:56:05 ]
- >>907
ここ参照 www.oiax.jp/rails/for_web_designers/yaml.html
- 912 名前:ヽ・´∀`・,,)っ━━━━━━┓ mailto:sage [2008/04/17(木) 22:07:30 ]
- ↑誤爆
- 913 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 00:10:05 ]
- なんでだろう。
普通の人なら流せるがコテだとウザい
- 914 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 04:57:36 ]
- controllersやmodelsの下に作ったクラスは誰がいつインスタンス化してるんですか?
controllerが呼ばれる毎にrailsが作ってくれてるんでしょうか?
- 915 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 08:51:04 ]
- そうだよ
- 916 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 12:09:48 ]
- 呼ばれる度に作られるわけではない
- 917 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 12:14:06 ]
- モデルデータのインスタンス化はfindだのcreateだのであなたが明示的にやってるはず。
クラスのロードは、基本的にはconst_missingを使ってる。
- 918 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 12:15:54 ]
- >>913
名前欄がヨコ7cmくらいに伸びてるからバカにしか見えないんだよね
- 919 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 12:27:06 ]
- コントローラーは呼ばれる度なのか?パフォーマンス的にどうなの?
- 920 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 12:33:25 ]
- インスタンスを1回使って寿命が終わりなら、そりゃパフォーマンスは最悪だろうな
- 921 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 13:06:53 ]
- ActionController::Base
class << self def process(request, response) new.process(request, response) end end end リクエストごとにここを通るのかな。
- 922 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 21:33:54 ]
- 馬鹿な俺にも分かりやすく…誰か・・・
- 923 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 13:12:41 ]
- rubyとrailsをインストールしたのですがrailsのソースってどこにあるんでしょうか?
- 924 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 13:18:04 ]
- >>923
gem envを実行して、GEM PATHSってところにリストされたディレクトリ (たいていは1つ)のどれかの下にある - activesupport-バージョン - activerecord-バージョン - actionpack-バージョン - activeresource-バージョン - actionmailer-バージョン - rails-バージョン
- 925 名前:923 mailto:sage [2008/04/20(日) 14:59:21 ]
- >>924
見つかりました!ありがとうございます。
- 926 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 11:16:46 ]
- ActiveScaffold が
/module/aliasing.rb:31:in `alias_method': undefined method `find_full_template_path' for class `ActionView::Base' って出て動くかない(´・ω・`)
- 927 名前:デフォルトの名無しさん mailto:age [2008/04/21(月) 13:26:44 ]
- 上にも似た質問あるけどRailsの各クラスのライフサイクルってどうなってるんですか?
Controllerなんかのクラスのインスタンスは一度作られたらサーバ停止するまで使い回しですかね? もしそうならサーバ起動時に作っちゃった方が効率良さそうだけど。
- 928 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 16:53:03 ]
- >>927
そんなはずはない HTTPリクエストがくるたびに新しく作られるんじゃなかったっけ?
- 929 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 19:26:49 ]
- rails本体・プラグインのクラスは最初の一度のみ
developmentだとFW以外(app+lib)のクラスはリクエストの度リロード productionはリロードなし だったような気がする、間違えてたら指摘してくれ
- 930 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 19:30:51 ]
- >>929
それはファイルの読み込みについてだよね インスタンスは>>928のはず
- 931 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 19:36:33 ]
- >>930
そうそう、今その事も書こうかと思ってた Controllerのインスタンスは毎回作り直し
- 932 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 22:26:21 ]
- ApplicationControllerとかまでリクエストの度にインスタンス作るってこと?
それって意味あるの?
- 933 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 22:30:55 ]
- 前のリクエストで作ったインスタンス変数が残ってたりするからかねぇ。
- 934 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 22:39:19 ]
- つかコントローラで作ったインスタンス変数のスコープって意味不明なんですけど。
そこら辺ちゃんと書かれた本って無いよね。
- 935 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 22:44:39 ]
- ビューからでも見えることの不思議なら、
あれはビューにコピーしているから。 とどこかで読んだ記憶はあるのだが、本ではなかったかも。
- 936 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 23:15:13 ]
- ソース読め
- 937 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 23:36:31 ]
- そういえば今日Railsのソース読んでてバグ見つけた。
喜び勇んで報告しようとしたらedgeではなおっていた。 ちっ。
- 938 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 08:40:43 ]
- リクエストの度にインスタンス生成って…railsが遅い理由が分かった
- 939 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 08:56:14 ]
- 次にお前はリテラル評価のたびにインスタンス生成って、という
- 940 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 17:20:52 ]
- railsでMYSQLのストアドを呼ぶのはできますでしょうか?
- 941 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 19:12:41 ]
- railsの(というかrubyの)インスタンス生成が
どれほどコストのかかるものか実際分からないから それで遅いとか重いとかなんかピンとこないなぁ プロセスのメモリ上にFWのクラス定義ロードされてりゃ そうでもなさそうな感じはするけどやっぱそうでもないのかね Javaとかはちゃんとインスタンス使い回しとかしてるんだっけ あとrubyはオブジェクトをダイナミックに書き換えれ過ぎるので 特にrailsみたいなリフレクションしまくりな作りのを元に インスタンス使い回すとしたら色々不具合出そうなイメージあるなぁ
- 942 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 20:15:33 ]
- >>941
同意 調べずにインスタンス生成=重い、と思い込むのもアレだ。 インスタンスは動的に変えられるから使い回すのは危険。
- 943 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 21:24:59 ]
- FWって何ですか?
- 944 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 22:33:23 ]
- ・ファイアウォール
・フォワード ・フレームワーク さてどれでしょう?
- 945 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 22:41:01 ]
- ファイアワイア
- 946 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 23:13:53 ]
- どう考えても馬鹿げてる
全てのリクエストにインスタンス生成なんでしょ?重いとか以前じゃないの それともある規模以上のweb開発に対してははなっから諦めてる仕様なの? スクリプト言語なんてそんなもんなのかね
- 947 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 00:40:28 ]
- べつにコントローラオブジェクトの生成なんかたいしたコストじゃないよ。
HTTPリクエストを解析する方がよっぽどコストが高い。 特にRailsのHTTPパラメータ名は複雑だから、解析が重い。 あとはViewだよね。RailsのViewは遅すぎる。 >>946 Java厨乙 Javaでも最近のフレームワークはリクエストのたびにインスタンス生成して使い捨ててるよ。 えらそうなこというのはちゃんと調べてからにしときな
- 948 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 02:21:28 ]
- >>946はバカにしても>>947も何の検証も出さずに断定してるのがなぁ
とりあえず重い派も重くない派も実際どれくらいのコストなのか測定してからにしてくれないと水掛け論にしかならないのだが
- 949 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 02:58:10 ]
- >>948
検証しなくても、HTTPリクエストパラメータの解析が重いことぐらいわかるだろ だいたい、なんでコントローラのインスタンスを生成するのが重いと思うんだ?その根拠は何よ? ビュー層はログ見てりゃ遅いのがわかるだろ
- 950 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 03:24:03 ]
- >>949
どっちにしても何もなしじゃ重いのかたいしたことないのか判断できないと言っている
- 951 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 10:25:55 ]
- 全てRoRのせいにして他のチューニングをしないヤツが多すぎる。
大規模がどの程度の事指すのかしらんが、 キャッシュやらクエリチューニングやら、Apache・DBチューニングで Railsでもある程度の規模は十分捌けるぜ。 大規模になればなるほど、インスタンス生成云々よりも DB回りの方がよっぽどボトルネックになると感じた。
- 952 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 11:08:37 ]
- 次スレ
pc11.2ch.net/test/read.cgi/php/1207425569/
- 953 名前:デフォルトの名無しさん [2008/04/23(水) 13:16:04 ]
- システム側適時作成するから入力してほしくない値のvalidateってどうやればいいでしょうか?
- 954 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 14:45:05 ]
- 教えてください。submit等で次のアクションをしページ移動したとき、
ブラウザの戻るボタンで戻るとページが空白になります。再表示ボタンを押すと 「情報を再送信しないとページを更新できません」とでますが、 これって回避できないのでしょうか?そもそもブラウザの戻るボタンで正常に戻るのは 構造上むりなのでしょうか?
- 955 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 14:47:33 ]
- >>954
Webの基本から勉強しなおせといいたいが 誘導しておく。 △▲ WebProg 初心者の質問 Part17 ▼▽ pc11.2ch.net/test/read.cgi/php/1204462146/
- 956 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 16:50:58 ]
- 単純にファイルを指し示す場合は
#{RAILS_ROOT}/public/sample.html のように書けますが、 actionを呼ぶURLに対してRAILS_ROOTのような変数を使うことは出来ないでしょうか? #{RAILS_ROOT}/app/controllers/アクション名 #{RAILS_ROOT}/アクション名 いずれも無理でした。
- 957 名前:954 mailto:sage [2008/04/23(水) 17:06:38 ]
- >>955
ありがとうございます。さっそく行ってきます。
- 958 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 18:58:39 ]
- >>956
何がしたいのかイマイチ分からないけど、 ファイルじゃないから呼べないぞ。。。 RAILS_ROOTはPathの文字列だしな・・・ params[:action] とか url_for :contoller => 'a' ,:action => 'b' じゃダメかい? それかボタンからアクション実行したいなら <%= button_to 'これはボタン' , {:contoller=> 'foo' , :action => 'baa'},{} %> で実行できるが・・・
- 959 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 21:43:08 ]
- >>953
Model.new(params)に入れられても使わずプログラムで設定する という目的なら attribute_protected 違うならそう書いて。 >>956 何がしたいのか分からんが、 @template.prepend(append)_view_pathとか(名前失念)で テンプレートファイルを探す場所を増やすことは出来る。
- 960 名前:953 mailto:sage [2008/04/23(水) 22:28:14 ]
- >>959
ありがとうございました、その通りです _ _ > attr_protected
- 961 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 17:09:52 ]
- ttp://weblog.rubyonrails.com/2008/4/23/agile-web-development-with-rails-3rd-edition
3rd edition キター
- 962 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 17:29:53 ]
- >>961
お、Rails2対応か。 翻訳版マダー?
- 963 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 17:32:11 ]
- RailsによるアジャイルWebアプリケーション開発 第2版 - 2007/10/26
Agile Web Development With Rails - 2006/12 ぺでふ版買おうかな。。
- 964 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 21:06:19 ]
- >>962
原書ベータの話なのに……
- 965 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 22:12:23 ]
- link_to 'Show', @item
の動作の仕組みをおしえて。第2引数にモデルオブジェクトを指定するだけで、 なんでURLがわかるの?Object#to_url とかでも定義されるの?
- 966 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 23:04:15 ]
- >>965
link_toのURL部分がItem < ActiveRecord::Baseだと結局は item_url(@item) が呼ばれる。(see PolymorphicRoutes#build_named_route_call) あとはNamed Routesの仕事だが、ルーティングの実装は読むのがめんどいな。
- 967 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 23:24:59 ]
- >>966
ちょーさんくす item_url(@item) が @item でもいけるようになっているのね 短く書けるのはいいけどわかりづらい
|

|