【Ruby】Ruby on Rails Part8at PHP
【Ruby】Ruby on Rails Part8 - 暇つぶし2ch930:nobodyさん
10/02/14 17:21:58 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さん
10/02/14 19:00:42
いやprototype.js使えよrailsなんだから…

932:nobodyさん
10/02/14 19:12:56
>>931
まあ、ありでしょ。jQueryもメリットある。
remote_function 使うんだからPrototypeもロードしてるはずだけど。

933:nobodyさん
10/02/14 19:13:48
jRailsつかえばいいのでは

934:nobodyさん
10/02/14 19:17:34
>>930
なんかコントローラ名とか漏れてるぞw
week blockって

935:nobodyさん
10/02/14 19:17:56
よほどUIに凝ってるサイトでもなければjquery使うメリットなんて無いと思うぞ

936:nobodyさん
10/02/14 20:31:43
web-app-themeをうまいこと使う方法ありませんか?

タグにいちいち :class => "label" ってやるのは DRY じゃないと思い
alias_method_chain で FormHelper のメソッドをオーバーライドしようと
label メソッドだけは上書きしてみたんですが

これを、text_field やら form_for やら同じようにやってくのは
これまたDRYじゃないと思い、そこでいきづまりました

:class が nil ならタグ名をクラスとする、スマートな方法があったら教えて下さい

937:936
10/02/14 21:36:39
自己レス
groundworkなるプロジェクトテンプレートが参考になりそうですね
Windows環境だと使えなさそうなので、Linux環境構築中…

938:nobodyさん
10/02/14 22:56:50
>>935
状況と好みによって選択だな。

jQuery は動的に DOM をバシバシいじるのは確かに楽だ。
配列や文字列なんかのユーティリティ系は Prototype のが素直に書けるよね。

939:nobodyさん
10/02/14 23:01:35
JS名前空間汚したくない人はjQuery好き

940:nobodyさん
10/02/14 23:28:02
俺レベルになると生でjavascript書く方が楽だ

941:nobodyさん
10/02/14 23:47:56
おれもヘルパー使う気にならん
結局生で書くことになったりするから、混在させるのが嫌だなあ

942:nobodyさん
10/02/15 07:55:38
このスレ的にRails3のunobstrusive javascriptはよいもの?


943:nobodyさん
10/02/15 07:58:05
unobtrusive ですた…


他のフレームワークで結構採用されてんのね。


944:nobodyさん
10/02/15 15:02:24
railsって自動で負荷分散もしてくれるの?
もしできるなら勉強してみるかな

945:nobodyさん
10/02/15 15:31:18
>>944
それは無理

946:921
10/02/15 16:20:19
前作ったの見てみたら、あらかじめ設定したフォルダに
入ってる複数の画像ファイルをjavascriptで持ってきてた。

1年以上前に書いたモノだから今見ると欠片もワカラン。
paperclip使って1ファイルづつ登録するしかないかな…

3000ファイルくらいあるけど

947:nobodyさん
10/02/15 18:42:58 9Iqj2ojJ

Rails基礎文法最速マスター - cod.note
URLリンク(d.hatena.ne.jp)


948:nobodyさん
10/02/15 19:34:53
>>947
なんという薄っぺらい内容・・・

「続きは本で!」メソッドだな。

949:nobodyさん
10/02/15 19:54:14
薄っぺらいっつーかどこかのヘルプを丸写ししただけじゃね
何で☆付いてんだろw

950:nobodyさん
10/02/15 20:01:34
Rails3っていつリリースされるんですか?

951:nobodyさん
10/02/15 20:12:33
>>950
βなら出てる。


952:nobodyさん
10/02/15 20:15:15
ソラ少年はべつにHead First Javaの翻訳者でも何でもないんだから
別にメソッドと呼ぶほどのものではなかろう。
あ、でもアフィは入ってくるのか。



953:nobodyさん
10/02/15 20:16:06
自演キモ過ぎ

954:nobodyさん
10/02/15 20:43:43
>>951
ありがとうございます。まだβでしたか。
新サービスをRailsで作りたいのに3を待つか2で行っちゃうかでウズウズ…

955:nobodyさん
10/02/15 20:50:13
βはちょっと見ただけだが、
* モンキーパッチするなど、実装の深いところを触るのは避ける
* プラグインは全滅するので使わない
というレベルでとりあえず2.3.5で作りはじめておくくらいなら、大丈夫かも。


956:nobodyさん
10/02/15 21:03:13
実運用するなら2.3.xがいいんじゃないだろうか
たぶんそれなりに開発できるようになるには半年くらいかかるように思う
リリースが大幅に遅れたプロジェクトは要注意。勉強なら平行してやればいいし

957:nobodyさん
10/02/16 00:18:29
Windows上でRuby1.9とした場合
サーバーはどれがいい(動く)の?

Mongrel? LightTPD? thin?

958:954
10/02/16 00:47:56
>>955
>>956
ありがとうございます。参考になりました。
とりあえず2.3.5で行くことにします。

959:nobodyさん
10/02/16 04:43:08
なんとかpid
ってファイルを手動で消さないと起動しないことあるんだけど
installの仕方間違えたのかな

960:nobodyさん
10/02/16 14:33:15
検索、一覧っていう
簡単な流れの画面作ってんだけど
検索画面の入力チェックってcontrollerにもりもり書いていいの?

961:nobodyさん
10/02/16 15:12:55 vr/Y6Irj
modelへ

962:nobodyさん
10/02/16 19:26:00
>>960
検索ワードのことなら、俺ならコントローラに書く。
検索ワードの入力チェック的なこと、そんなにいらなさそう。
検索式の中に入れるならエスケープは必要だけど。

963:nobodyさん
10/02/16 19:39:38
エスケープはモデルでやるべきだろ

964:960
10/02/16 20:02:05
>>962
検索ワードです。

>>963
プレースホルダ使ってるのでSQLInjectionなら大丈夫です。

URLリンク(gendosu.ddo.jp)モデルとは関係ない検索条件などのパラメータをviewとcontrollerでやりとりする
とりあえずここみながらmodelに書いてみた。

controllerの方がもりもりいけるけど、汚い。
modelだと専用class用意すんのがちょっと面倒。

大抵の人はcontrollerなのかな。

965:nobodyさん
10/02/16 20:40:30
コントローラはあくまでオマケで、 script/console でモデルだけ操作して
アプリすべての処理が簡単に行えるのが理想だと思ってる

966:nobodyさん
10/02/16 21:17:26
四階層モデルですねわかります

967:nobodyさん
10/02/16 23:27:40
(´・ω・`)

968:nobodyさん
10/02/16 23:33:25
controllerとmodelの間にサービス層が欲しい。
ある程度以上の規模になったら絶対必要だと思うんだけど皆はどうしてるんだろう。
独自に層を挟むのはアリなのかな?

969:nobodyさん
10/02/17 00:16:32
presenter層について紹介。
URLリンク(kpumuk.info)

これはrailsのブログでも紹介されていたよ。
URLリンク(weblog.rubyonrails.org)

970:nobodyさん
10/02/17 00:17:30
アリでしょ。
app/modelsの中に勝手にクラス作ればOK


971:nobodyさん
10/02/17 00:31:26
>>970
sample codeがみたい


972:968
10/02/17 00:36:13
>>969
>>970
ありがとうございます。

>>969
こんなプラグインがあるんですね。参考になりました。
ただapp直下に新しいディレクトリ作るのは少し抵抗あります。。

>>970
独自に作る場合はmodels以下に作るべきでしょうか?
個人的には、サービス層はコントローラクラスに依存するからcontrollers以下に作った方がすっきりしそう。
例えばloginコントローラ内でabcモデルとxyzモデルを利用する処理がある場合、サービスクラスを保持するファイル名はlogin_serviseのようにコントローラ名に依存すると思います。
なのでcontrollers以下に入れた方が綺麗かなぁと。ほとんど好き嫌いの問題だけど。

973:nobodyさん
10/02/17 01:07:35
サービス層はコントローラじゃないんだからcontrollers以下に作るのはおかしいと思うけどね。
サービス層はサービス層用にディレクトリ作って、まとめたらいいんじゃないかな


974:nobodyさん
10/02/17 12:50:45
ごめん、ちょっとわかんなくなってきた。
Service / Model / Controller の役割を誰か例付きで解説して。

975:nobodyさん
10/02/18 16:38:59 I3xk6O8m

Wikipediaのダウンロードできるデータファイル一覧
URLリンク(www.mwsoft.jp)

976:nobodyさん
10/02/18 18:26:01
>>969
これは、「層」というか、ControllerとViewに介在してシンプルにするパターン(って書いてあるけど)かなあ。

>>968,973,974
質問にもなるけどサービス層として切り出したいものって、
いわゆる「ビジネスロジック」ってやつかな、と思ってるんだけど合ってる?

データに属していない処理(複数のモデルが関わっていて、どのモデルにも置きにくい)で、
Webにも依存しないので単独でも起動できるようなものを、
「サービス」としてまとめたいのかなと思った。

(Railsの)ControllerはWeb依存なのでView間の遷移とかデータをViewにパスするとかを専門でやる。

俺のイメージはこんなん。

977:973
10/02/18 23:36:13
>>976
自分の言っているサービス層は、そういう意味だと思う。
モデルまたはサービス層はWebに依存しないようにして
runnerやconsoleで動作確認しやすいように作ってる。

とりあえず、今はlib/services以下にサービス層を作って置いてる
lib/services/sample_service.rbという感じ。
Services::SampleServiceという感じで名前が長くなるのがちょっと面倒だけど。
サービスを作る時の基準ってみんなどうしてるのかな。
自分は複数のモデルが絡むトランザクション処理とかだけサービスにまとめて、
単一のモデルで簡潔する処理は、そのモデル内に書いてる。

978:nobodyさん
10/02/19 02:41:48
libに置くのは最悪だろ
アプリケーションから取り外して再利用できるコードを置く場所

979:977
10/02/19 02:48:31
>>978
自動で読み込まれるところに置きたい
モデルとは区別したいので、app/models以外に置きたい
この2点で考えると、lib/serviceというディレクトリに置くのが手っ取り早いってだけで
今はそうしてる。

他にいい場所あったら教えて欲しい。
app/services以下に置く事にして、
environment.rbあたりにapp/services/*.rbをrequireする処理を書けばいいかな。


980:nobodyさん
10/02/19 08:35:28
そのへんのためかどうか知らないけど、Rails3ではRails.root/app/ の下の
ディレクトリが全部load pathに含まれるようになる。


981:nobodyさん
10/02/19 09:10:06
そういうのはrorは弱いしな。

梅。

982:nobodyさん
10/02/19 11:40:07
>>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さん
10/02/19 12:05:30
埋める前にそろそろ次スレ他てようぜ

984:nobodyさん
10/02/19 16:13:46 WbFNhWFy

【Ruby】Ruby on Rails Part9
スレリンク(php板)


985:nobodyさん
10/02/19 23:08:27
それじゃ埋め。

986:nobodyさん
10/02/20 01:47:12
埋められまsrん。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch