[表示 : 全て 最新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/

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






[ 新着レスの取得/表示 (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