- 1 名前:nobodyさん [2009/09/13(日) 20:49:34 ID:kz4rC4Dx]
- ■前 Ruby on Rails Part7
pc11.2ch.net/test/read.cgi/php/1241100447/ ■参考サイト <英語> 本家:www.rubyonrails.org API document:api.rubyonrails.com/ 開発者のblog:weblog.rubyonrails.org/ 参考wiki:wiki.rubyonrails.org/rails <日本語> Rails' wiki: wiki.fdiary.net/rails/ ■参考スレ(プログラム板) Rubyについて Part 37 pc12.2ch.net/test/read.cgi/tech/1251029267/ Ruby 初心者スレッド Part 30 pc12.2ch.net/test/read.cgi/tech/1249687283/
- 912 名前:nobodyさん [2010/02/11(木) 17:09:17 ID:XTMQuQu/]
-
RORのままアーキテクチャの変更で10000%高速化したとな。 ttp://b.hatena.ne.jp/entry/highscalability.com/scaling-twitter-making-twitter-10000-percent-faster
- 913 名前:nobodyさん mailto:sage [2010/02/11(木) 18:00:46 ID:???]
- DBを中心としたデータアクセス周りは手を抜いて作るとバカみたいに遅くなるからな
ツイッターのエンジニアもそのあたりの失敗を認めてたような ここまで使われると思ってなかったんだろうけど
- 914 名前:nobodyさん mailto:sage [2010/02/11(木) 19:27:35 ID:???]
- >>904 の主は2chねらっぽい
K氏と一緒に稼ぐチンパン団 入団20日目 pc12.2ch.net/test/read.cgi/affiliate/1262801285/ スレタイトルのチンパン団はインタビューで小一時間説明したのに華麗にスルーされたとかw
- 915 名前:nobodyさん mailto:sage [2010/02/12(金) 00:23:36 ID:???]
- railsでkeyvalue型のDBって使えないの?
- 916 名前:nobodyさん [2010/02/12(金) 06:49:51 ID:GlKVK1JQ]
- 単にActiveRecord使わなければいいだけ
というか今もmemcachedとか普通に使われてないか?
- 917 名前:nobodyさん mailto:sage [2010/02/12(金) 08:49:26 ID:???]
- TokyoTyrant、Roma、Kumofsなどなど好きなの使えばという感じだが。
- 918 名前:nobodyさん mailto:sage [2010/02/12(金) 09:32:46 ID:???]
- URL helper関数をRails Consoleから確認することはできますか?
StoryモデルとStoriesコントロールがあったとして、 >stories_path (/stories を期待している) としても、そんなメソッドはないと言われてしまいます。
- 919 名前:nobodyさん mailto:sage [2010/02/12(金) 10:47:03 ID:???]
- UrlHelperというのは別途存在するので確認だけど、
map.resourcesで作られるURLを表すメソッドだよね? ActionController::Routing::Routes.install_helpers して helper.stories_path かなー と思ったんだけど、違った。 認識されるURLパターンを見るだけなら rake routes でいいんだけど。
- 920 名前:nobodyさん mailto:sage [2010/02/12(金) 12:44:06 ID:???]
- >>919
レスありがとうございます。 はい、map.resourcesで作られる4つの関数です。 結局、protectedメソッドらしく確認できないっぽいです。
- 921 名前:nobodyさん mailto:sage [2010/02/13(土) 00:53:22 ID:???]
- paperclipで画像登録する時、ファイル単位じゃなくてフォルダ選択して中身を一括登録ってできる?
- 922 名前:nobodyさん mailto:sage [2010/02/13(土) 01:02:56 ID:???]
- ブラウザの<input type="file">に、ディレクトリを指定すると
その中身をごっそり送るような仕組みが出来ない限り無理じゃないか?
- 923 名前:921 mailto:sage [2010/02/13(土) 01:09:26 ID:???]
- >>922
昔作ったやつでフォルダ一括って出来たんだけど、 確かDBにバイナリで格納してたから重かった気がした。 最近paperclipって知ったからコレは!って思ったんだが… 会社行ったら前どうやって作ったのか確認してみます。
- 924 名前:nobodyさん mailto:sage [2010/02/13(土) 01:39:55 ID:???]
- フォルダ一括ってブラウザにそんな機能あったんかw
- 925 名前:nobodyさん mailto:sage [2010/02/13(土) 11:03:58 ID:???]
- 「一括アップロード jquery」とか「一括アップロード JavaScript」とかぐぐればいろいろ出てくるけど、
フォルダ一括はそもそもブラウザに機能ないから、何か工夫しないといけないはず。 ↓フォルダは無理だが複数一括ならこんなのとか MOONGIFT: ≫ 華麗にアップロード「SWFUpload」:オープンソースを毎日紹介 www.moongift.jp/2007/07/swfupload/ って公式サイト死んでるがな・・・ あとはzipで圧縮したのをアップロードして、サーバー側で展開とか。一手間増えるが
- 926 名前:nobodyさん mailto:sage [2010/02/14(日) 00:55:54 ID:???]
- なるほど、JavaScriptだと、1個ずつ選択してストックしておくしかないけど、
Flash(ActionScript)を使えば一度に複数選択できるのか。
- 927 名前:nobodyさん [2010/02/14(日) 13:54:20 ID:6lVOAOxG]
- どなたか教えてください。
link_to_remoteを使って「ほげ」をクリックすることで"hoge"の内容が 書き変わるようにしています。 <%= link_to_remote 'ほげ', :update => "hoge", :url => {:controller => 'foo', :action => 'index'} %> <div id="hoge"></div> これをクリックとかの能動的な操作を必要とせずに、画面の初期表示段階で {:controller => 'foo', :action => 'index'}を実行させるようにしたいです。 何か良い方法はありませんか? よろしくお願い致します。
- 928 名前:nobodyさん mailto:sage [2010/02/14(日) 16:10:17 ID:???]
- >>918
include ActionController::UrlWriter
- 929 名前:nobodyさん mailto:sage [2010/02/14(日) 16:24:39 ID:???]
- >>927
function foo() { <%= remote_function(オプション) %> } document.observe('dom:loaded', foo) かな
- 930 名前:nobodyさん [2010/02/14(日) 17:21:58 ID:6lVOAOxG]
- >>929
ありがとうございます。 おかげさまで、うまく実装できました。 当方、jQueryを使っておりますので以下のようになりました。 jQueryでdocument.observe('dom:loaded', foo)に相当するものを探すのに 時間が掛かってしまいました。 <%= link_to_remote 'ほげ', :update => "hoge", :url => {:controller => 'foo', :action => 'index'} %> <div id="hoge"> <script type="text/javascript"> function foo() { <%= remote_function(:update => "user_week_block", :url => {:controller => 'user_week', :action => 'index'}) %> } $(document).ready(foo) </script> </div>
- 931 名前:nobodyさん mailto:sage [2010/02/14(日) 19:00:42 ID:???]
- いやprototype.js使えよrailsなんだから…
- 932 名前:nobodyさん mailto:sage [2010/02/14(日) 19:12:56 ID:???]
- >>931
まあ、ありでしょ。jQueryもメリットある。 remote_function 使うんだからPrototypeもロードしてるはずだけど。
- 933 名前:nobodyさん mailto:sage [2010/02/14(日) 19:13:48 ID:???]
- jRailsつかえばいいのでは
- 934 名前:nobodyさん mailto:sage [2010/02/14(日) 19:17:34 ID:???]
- >>930
なんかコントローラ名とか漏れてるぞw week blockって
- 935 名前:nobodyさん mailto:sage [2010/02/14(日) 19:17:56 ID:???]
- よほどUIに凝ってるサイトでもなければjquery使うメリットなんて無いと思うぞ
- 936 名前:nobodyさん mailto:sage [2010/02/14(日) 20:31:43 ID:???]
- web-app-themeをうまいこと使う方法ありませんか?
タグにいちいち :class => "label" ってやるのは DRY じゃないと思い alias_method_chain で FormHelper のメソッドをオーバーライドしようと label メソッドだけは上書きしてみたんですが これを、text_field やら form_for やら同じようにやってくのは これまたDRYじゃないと思い、そこでいきづまりました :class が nil ならタグ名をクラスとする、スマートな方法があったら教えて下さい
- 937 名前:936 mailto:sage [2010/02/14(日) 21:36:39 ID:???]
- 自己レス
groundworkなるプロジェクトテンプレートが参考になりそうですね Windows環境だと使えなさそうなので、Linux環境構築中…
- 938 名前:nobodyさん mailto:sage [2010/02/14(日) 22:56:50 ID:???]
- >>935
状況と好みによって選択だな。 jQuery は動的に DOM をバシバシいじるのは確かに楽だ。 配列や文字列なんかのユーティリティ系は Prototype のが素直に書けるよね。
- 939 名前:nobodyさん mailto:sage [2010/02/14(日) 23:01:35 ID:???]
- JS名前空間汚したくない人はjQuery好き
- 940 名前:nobodyさん mailto:sage [2010/02/14(日) 23:28:02 ID:???]
- 俺レベルになると生でjavascript書く方が楽だ
- 941 名前:nobodyさん mailto:sage [2010/02/14(日) 23:47:56 ID:???]
- おれもヘルパー使う気にならん
結局生で書くことになったりするから、混在させるのが嫌だなあ
- 942 名前:nobodyさん mailto:sage [2010/02/15(月) 07:55:38 ID:???]
- このスレ的にRails3のunobstrusive javascriptはよいもの?
- 943 名前:nobodyさん mailto:sage [2010/02/15(月) 07:58:05 ID:???]
- unobtrusive ですた…
他のフレームワークで結構採用されてんのね。
- 944 名前:nobodyさん mailto:sage [2010/02/15(月) 15:02:24 ID:???]
- railsって自動で負荷分散もしてくれるの?
もしできるなら勉強してみるかな
- 945 名前:nobodyさん mailto:sage [2010/02/15(月) 15:31:18 ID:???]
- >>944
それは無理
- 946 名前:921 mailto:sage [2010/02/15(月) 16:20:19 ID:???]
- 前作ったの見てみたら、あらかじめ設定したフォルダに
入ってる複数の画像ファイルをjavascriptで持ってきてた。 1年以上前に書いたモノだから今見ると欠片もワカラン。 paperclip使って1ファイルづつ登録するしかないかな… 3000ファイルくらいあるけど
- 947 名前:nobodyさん [2010/02/15(月) 18:42:58 ID:9Iqj2ojJ]
-
Rails基礎文法最速マスター - cod.note d.hatena.ne.jp/codnote/20100214/1266132768
- 948 名前:nobodyさん mailto:sage [2010/02/15(月) 19:34:53 ID:???]
- >>947
なんという薄っぺらい内容・・・ 「続きは本で!」メソッドだな。
- 949 名前:nobodyさん mailto:sage [2010/02/15(月) 19:54:14 ID:???]
- 薄っぺらいっつーかどこかのヘルプを丸写ししただけじゃね
何で☆付いてんだろw
- 950 名前:nobodyさん mailto:sage [2010/02/15(月) 20:01:34 ID:???]
- Rails3っていつリリースされるんですか?
- 951 名前:nobodyさん mailto:sage [2010/02/15(月) 20:12:33 ID:???]
- >>950
βなら出てる。
- 952 名前:nobodyさん mailto:sage [2010/02/15(月) 20:15:15 ID:???]
- ソラ少年はべつにHead First Javaの翻訳者でも何でもないんだから
別にメソッドと呼ぶほどのものではなかろう。 あ、でもアフィは入ってくるのか。
- 953 名前:nobodyさん mailto:sage [2010/02/15(月) 20:16:06 ID:???]
- 自演キモ過ぎ
- 954 名前:nobodyさん mailto:sage [2010/02/15(月) 20:43:43 ID:???]
- >>951
ありがとうございます。まだβでしたか。 新サービスをRailsで作りたいのに3を待つか2で行っちゃうかでウズウズ…
- 955 名前:nobodyさん mailto:sage [2010/02/15(月) 20:50:13 ID:???]
- βはちょっと見ただけだが、
* モンキーパッチするなど、実装の深いところを触るのは避ける * プラグインは全滅するので使わない というレベルでとりあえず2.3.5で作りはじめておくくらいなら、大丈夫かも。
- 956 名前:nobodyさん mailto:sage [2010/02/15(月) 21:03:13 ID:???]
- 実運用するなら2.3.xがいいんじゃないだろうか
たぶんそれなりに開発できるようになるには半年くらいかかるように思う リリースが大幅に遅れたプロジェクトは要注意。勉強なら平行してやればいいし
- 957 名前:nobodyさん mailto:sage [2010/02/16(火) 00:18:29 ID:???]
- Windows上でRuby1.9とした場合
サーバーはどれがいい(動く)の? Mongrel? LightTPD? thin?
- 958 名前:954 mailto:sage [2010/02/16(火) 00:47:56 ID:???]
- >>955
>>956 ありがとうございます。参考になりました。 とりあえず2.3.5で行くことにします。
- 959 名前:nobodyさん mailto:sage [2010/02/16(火) 04:43:08 ID:???]
- なんとかpid
ってファイルを手動で消さないと起動しないことあるんだけど installの仕方間違えたのかな
- 960 名前:nobodyさん mailto:sage [2010/02/16(火) 14:33:15 ID:???]
- 検索、一覧っていう
簡単な流れの画面作ってんだけど 検索画面の入力チェックってcontrollerにもりもり書いていいの?
- 961 名前:nobodyさん [2010/02/16(火) 15:12:55 ID:vr/Y6Irj]
- modelへ
- 962 名前:nobodyさん mailto:sage [2010/02/16(火) 19:26:00 ID:???]
- >>960
検索ワードのことなら、俺ならコントローラに書く。 検索ワードの入力チェック的なこと、そんなにいらなさそう。 検索式の中に入れるならエスケープは必要だけど。
- 963 名前:nobodyさん mailto:sage [2010/02/16(火) 19:39:38 ID:???]
- エスケープはモデルでやるべきだろ
- 964 名前:960 mailto:sage [2010/02/16(火) 20:02:05 ID:???]
- >>962
検索ワードです。 >>963 プレースホルダ使ってるのでSQLInjectionなら大丈夫です。 ttp://gendosu.ddo.jp/redmine/projects/rails/wiki/モデルとは関係ない検索条件などのパラメータをviewとcontrollerでやりとりする とりあえずここみながらmodelに書いてみた。 controllerの方がもりもりいけるけど、汚い。 modelだと専用class用意すんのがちょっと面倒。 大抵の人はcontrollerなのかな。
- 965 名前:nobodyさん mailto:sage [2010/02/16(火) 20:40:30 ID:???]
- コントローラはあくまでオマケで、 script/console でモデルだけ操作して
アプリすべての処理が簡単に行えるのが理想だと思ってる
- 966 名前:nobodyさん mailto:sage [2010/02/16(火) 21:17:26 ID:???]
- 四階層モデルですねわかります
- 967 名前:nobodyさん mailto:sage [2010/02/16(火) 23:27:40 ID:???]
- (´・ω・`)
- 968 名前:nobodyさん mailto:sage [2010/02/16(火) 23:33:25 ID:???]
- controllerとmodelの間にサービス層が欲しい。
ある程度以上の規模になったら絶対必要だと思うんだけど皆はどうしてるんだろう。 独自に層を挟むのはアリなのかな?
- 969 名前:nobodyさん mailto:sage [2010/02/17(水) 00:16:32 ID:???]
- presenter層について紹介。
kpumuk.info/ruby-on-rails/simplifying-your-ruby-on-rails-code/ これはrailsのブログでも紹介されていたよ。 weblog.rubyonrails.org/2009/10/22/community-highlights
- 970 名前:nobodyさん mailto:sage [2010/02/17(水) 00:17:30 ID:???]
- アリでしょ。
app/modelsの中に勝手にクラス作ればOK
- 971 名前:nobodyさん mailto:sage [2010/02/17(水) 00:31:26 ID:???]
- >>970
sample codeがみたい
- 972 名前:968 mailto:sage [2010/02/17(水) 00:36:13 ID:???]
- >>969
>>970 ありがとうございます。 >>969 こんなプラグインがあるんですね。参考になりました。 ただapp直下に新しいディレクトリ作るのは少し抵抗あります。。 >>970 独自に作る場合はmodels以下に作るべきでしょうか? 個人的には、サービス層はコントローラクラスに依存するからcontrollers以下に作った方がすっきりしそう。 例えばloginコントローラ内でabcモデルとxyzモデルを利用する処理がある場合、サービスクラスを保持するファイル名はlogin_serviseのようにコントローラ名に依存すると思います。 なのでcontrollers以下に入れた方が綺麗かなぁと。ほとんど好き嫌いの問題だけど。
- 973 名前:nobodyさん mailto:sage [2010/02/17(水) 01:07:35 ID:???]
- サービス層はコントローラじゃないんだからcontrollers以下に作るのはおかしいと思うけどね。
サービス層はサービス層用にディレクトリ作って、まとめたらいいんじゃないかな
- 974 名前:nobodyさん mailto:sage [2010/02/17(水) 12:50:45 ID:???]
- ごめん、ちょっとわかんなくなってきた。
Service / Model / Controller の役割を誰か例付きで解説して。
- 975 名前:nobodyさん [2010/02/18(木) 16:38:59 ID:I3xk6O8m]
-
Wikipediaのダウンロードできるデータファイル一覧 www.mwsoft.jp/programming/munou/wikipedia_data_list.html
- 976 名前:nobodyさん mailto:sage [2010/02/18(木) 18:26:01 ID:???]
- >>969
これは、「層」というか、ControllerとViewに介在してシンプルにするパターン(って書いてあるけど)かなあ。 >>968,973,974 質問にもなるけどサービス層として切り出したいものって、 いわゆる「ビジネスロジック」ってやつかな、と思ってるんだけど合ってる? データに属していない処理(複数のモデルが関わっていて、どのモデルにも置きにくい)で、 Webにも依存しないので単独でも起動できるようなものを、 「サービス」としてまとめたいのかなと思った。 (Railsの)ControllerはWeb依存なのでView間の遷移とかデータをViewにパスするとかを専門でやる。 俺のイメージはこんなん。
- 977 名前:973 mailto:sage [2010/02/18(木) 23:36:13 ID:???]
- >>976
自分の言っているサービス層は、そういう意味だと思う。 モデルまたはサービス層はWebに依存しないようにして runnerやconsoleで動作確認しやすいように作ってる。 とりあえず、今はlib/services以下にサービス層を作って置いてる lib/services/sample_service.rbという感じ。 Services::SampleServiceという感じで名前が長くなるのがちょっと面倒だけど。 サービスを作る時の基準ってみんなどうしてるのかな。 自分は複数のモデルが絡むトランザクション処理とかだけサービスにまとめて、 単一のモデルで簡潔する処理は、そのモデル内に書いてる。
- 978 名前:nobodyさん mailto:sage [2010/02/19(金) 02:41:48 ID:???]
- libに置くのは最悪だろ
アプリケーションから取り外して再利用できるコードを置く場所
- 979 名前:977 mailto:sage [2010/02/19(金) 02:48:31 ID:???]
- >>978
自動で読み込まれるところに置きたい モデルとは区別したいので、app/models以外に置きたい この2点で考えると、lib/serviceというディレクトリに置くのが手っ取り早いってだけで 今はそうしてる。 他にいい場所あったら教えて欲しい。 app/services以下に置く事にして、 environment.rbあたりにapp/services/*.rbをrequireする処理を書けばいいかな。
- 980 名前:nobodyさん mailto:sage [2010/02/19(金) 08:35:28 ID:???]
- そのへんのためかどうか知らないけど、Rails3ではRails.root/app/ の下の
ディレクトリが全部load pathに含まれるようになる。
- 981 名前:nobodyさん mailto:sage [2010/02/19(金) 09:10:06 ID:???]
- そういうのはrorは弱いしな。
梅。
- 982 名前:nobodyさん mailto:sage [2010/02/19(金) 11:40:07 ID:???]
- >>979
environment.rb に # Add additional load paths for your own custom dirs # config.load_paths += %W( #{RAILS_ROOT}/extras ) っていう箇所があるからそうすればいいのでは。 config.load_paths += %W( #{RAILS_ROOT}/app/services )
- 983 名前:nobodyさん mailto:sage [2010/02/19(金) 12:05:30 ID:???]
- 埋める前にそろそろ次スレ他てようぜ
- 984 名前:nobodyさん [2010/02/19(金) 16:13:46 ID:WbFNhWFy]
-
【Ruby】Ruby on Rails Part9 pc11.2ch.net/test/read.cgi/php/1266563593/
- 985 名前:nobodyさん mailto:sage [2010/02/19(金) 23:08:27 ID:???]
- それじゃ埋め。
- 986 名前:nobodyさん mailto:sage [2010/02/20(土) 01:47:12 ID:???]
- 埋められまsrん。
|

|