[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 05/09 15:53 / Filesize : 279 KB / Number-of Response : 987
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【Ruby】Ruby on Rails Part8



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/

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ん。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<279KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef