rails:1294
From: Masahiro Utsumi <utsumi@t...>
Date: Sat, 24 Jun 2006 09:47:29 +0200
Subject: [rails:1294] Re: controllerとviewのスコープ
内海です。 > 内海です。 > > > 川本です。 > > > > 今回のケースでは、おそらく、controllerで、 > > @user = login? ? session[:user] : nil > > として、viewでは@user変数のみ参照する、 > > というのがいいのかなと思います。 > > はい。この方法も考えましたが、実はログインしているかというのは > セッション変数だけじゃなく、いろいろ他の判定もしています。 > たとえば次のような感じ。 > > return true if allowed_ip_array.include?(request.remote_ip) > return session[:username] > > なので、どこかに関数としてまとめたいとおもいまして。 あ。まちがえました。 このレスは川本さんじゃなく、のりおさんの > またご質問の意図とは脱線しますが、 > <%=h "ようこそ、#{@user_name}さん。" if session[:username] %> > というのもありだと思います。 への返事でした。 川本さんの提案を採用しなかったのは login? を呼ぶ Viewが複数あるので、各コントローラでなんども @user = login? ? session[:user] : nil を呼ぶのを避けたかったからです。 慌てて返事したので間違いました。すみません。 > > > が、一般的に、上記の方法(インスタンス変数経由で情報を渡す)が、 > > 常に最善なのかどうか、(ウェブアプリ開発の > > 経験がそれほどないので)分かりかねます。 > > > > そもそも「ActionView::Baseでcontrollerが参照可能」だったり > > 「helper_methodというメソッドが実装されている」ことを考えると、 > > RoRとしては「そのような実装もあり」という立場なのかもしれませんね。 > > さらに混乱させるようですがモデルに実装というのはどうでしょうか? > > ユーザが有効な会員であるのかはDBに入っていますので、それを参照するな > ら User.active_user? とやってDBから参照すると思うのですが、同じよう > に User.current_user.login? とするのも自然かと。 > モデルに入れておけばコントローラからもビューからも参照出来ますし・・ > > つまり、RoRではどこからでも、なんでも参照する方法があるってことです > ね。どこに置くのかは個人の趣味の世界になってくるのでしょうか。 > > > -- > ML: rails@r... > 使い方: http://QuickML.com/ -- ML: rails@r... 使い方: http://QuickML.com/
1279 2006-06-23 14:39 [utsumi@t... ] controllerとviewのスコープ 1280 2006-06-23 15:02 ┣[y-yamasaki@s... ] 1281 2006-06-23 16:56 ┃┗[kentaro.kawamoto@g..] 1282 2006-06-23 17:45 ┃ ┣[y-yamasaki@s... ] 1283 2006-06-23 18:40 ┃ ┗[utsumi@t... ] 1286 2006-06-24 02:37 ┃ ┗[toykyo@t... ] 1287 2006-06-24 03:30 ┃ ┣[kentaro.kawamoto@g..] 1293 2006-06-24 09:36 ┃ ┃┗[utsumi@t... ] -> 1294 2006-06-24 09:47 ┃ ┃ ┗[utsumi@t... ] 1295 2006-06-24 12:36 ┃ ┃ ┗[kentaro.kawamoto@g..] 1296 2006-06-24 16:55 ┃ ┃ ┗[utsumi@t... ] 1298 2006-06-30 09:50 ┃ ┃ ┗[arito_asai@f... ] raw_postで生データを受信したい 1290 2006-06-24 05:20 ┃ ┗[toykyo@t... ] 1291 2006-06-24 06:03 ┃ ┗[sasaki.takeru@g... ] 1284 2006-06-23 19:23 ┗[holy@e... ] 1285 2006-06-23 22:00 ┗[utsumi@t... ]