【Ruby】Ruby on Rails Part8
at PHP
[前50を表示]
550:nobodyさん
09/12/12 01:19:06
というかアプリケーションからブラウザのそんなコアな機能を制御出来るの?
551:nobodyさん
09/12/12 03:46:46
キャッシュしないなら、もう一度取りにくるだけだしな。
プロパや組織のネット管理者に、間に勝手に通過型プロクシ埋め込まれてキャッシュされる事も有るし、無視するブラウザも居るし。
フラッシュかアプレットかジャバアプリかドトネトアプリで、ブラウザに頼らずに自前で制御するしか無いよ。
スレリンク(tech板)
うーたんブラウザを作るスレ00001
スレリンク(tech板)
Geckoベースのブラウザを作ろう。
552:nobodyさん
09/12/12 08:15:13
全部のページに
戻るボタンからアクセスされたら
元のページにForwardするjavascriptを埋めておく
553:nobodyさん
09/12/12 10:37:46
urlに?yymmddhhmmssとか現在時刻のライムスタンプつけたらキャッシュされないんじゃないかな?
自分は、よく更新されるファイルをこれで最新版返すようにしたよ。
554:nobodyさん
09/12/12 11:08:16
ちゃんとよく読んでレスしろよ
なんで戻らせたくないのかは書いてないが、
戻るボタンを押すとなんたらかんたらってメッセージが出るからじゃないのか?
555:527
09/12/12 12:40:11
>>547-548
ああ!そういうときにjoinsとかinclude使うのか。
SQLとかの知識少ないせいか最初、意味分からんかったw
サンクサンクス 試してみます
556:nobodyさん
09/12/12 12:42:12
銀行の利用者用ページだと戻るおしたら戻った先で、表示できないことあるけどそういうことか?
557:nobodyさん
09/12/12 18:09:44
amazonとか注意してないと同じもの二つ注文してたりするよな
558:nobodyさん
09/12/13 19:52:52
そういうのはゴニョゴニュして検出するべきだけどね。
商用フレームワークとかだと当たり前に機能有ったりする。rorなら自前で用意するしかない。
金融系はちゃんと検出して、戻るボタンが押されましたとか表示するね。
559:nobodyさん
09/12/13 23:56:52
そういう細かいケアをするのって日本くらいでは。
ユーザを無能のクレーマーと想定して作るのが生産性下げてると思う。
560:nobodyさん
09/12/14 00:11:20
どうせいくら防御しても、ユーザーはとんでもないことやらかしてくれるからなー。
ダグラス・アダムスの警句は真だ。
561:nobodyさん
09/12/14 01:29:59
金がらみのシステムとブログシステムとかは考え方を変えないと
562:nobodyさん
09/12/14 02:24:38
>>559
なわけない。
URLリンク(www.google.co.jp)
日本人が気にするようなレベルはその先の話。
つまり「◯◯で大丈夫ですよ」と言われたら米国人は安心するが、
日本人はその処理の信頼性を調査する。
563:nobodyさん
09/12/14 14:08:42 o/Pytjxa
>>558
>金融系はちゃんと検出して、戻るボタンが押されましたとか表示するね。
戻るボタン自体は受け付けてくれないと
本当に戻りたいときに困るよなぁ
564:nobodyさん
09/12/14 14:28:04
もともとのページ遷移モデルが間違ってるんだよな
ajax でページ移動が一切起こらない設計にするべき
565:nobodyさん
09/12/14 18:20:43
このスレで言うのもなんだが、WebアプリはSilverLightとかFlashとか、
バイナリにしてしまった方がいいと思うんだ。
566:nobodyさん
09/12/14 18:40:53
>>565
バックエンドはRailsにすればこのスレの範疇w
全部Flashでもいいと思うが一般のwebサービスだとpermalinkとかないとちょっと困るな
567:nobodyさん
09/12/14 18:47:01
質問があります。
認証プラグインAuthlogicを勉強してみた - MothProgのうしろがわ
URLリンク(d.hatena.ne.jp)
Authlogicを入れてみているのですが、こちらのページでは下記のように
current_userのような現在のユーザーを取得する処理をapplication_controllerにおいています。
def current_user
return @current_user if defined?(@current_user)
@current_user = current_user_session && current_user_session.user
end
上記のように書いてみてうまく行ったのですが、
別のモデルからこのメソッドにアクセスしたいため、Userモデルに置きたいと考えています。
しかし、モデルに置いてUser.current_userなどのように取得する場合、
def current_user
return @@current_user if defined?(@@current_user)
@@current_user = current_user_session && current_user_session.user
end
などのようにクラス変数に格納するようにすると何故かうまく動作してくれません。
たぶん、Railsのサーバーの場合、モデルのクラス変数が初期化されないのだと思うのですが、
この場合の対処法はありませんでしょうか?
568:534
09/12/14 18:49:03
>>566
今はPermalink大丈夫。
569:567
09/12/14 18:49:37
すいません下のコード間違えました…
def self.current_user
return @@current_user if defined?(@@current_user)
@@current_user = UserSession.current_user_session && UserSession.current_user_session.user
end
570:534
09/12/15 12:11:56
「Railsによるアジャイル〜」の内容が本当にアジャイル過ぎて内容が理解しにくい…。
571:nobodyさん
09/12/15 17:23:18
Railsで、クッキーが有効かどうかを調べる方法ってありますか。
572:nobodyさん
09/12/15 23:01:42
それは Rails じゃなくて javascript の話です。
573:nobodyさん
09/12/15 23:48:27
HTTPだけでやるには、最初にリクエストが来たときにクッキーを食わせて、
仮ページにリダイレクト、クライアントが改めてリクエストしてくるときに、
リクエストにそのクッキーが入っているかを見る。
で、必要なら仮ページから元のページにリダイレクトし直す。
とかだろうか?
574:nobodyさん
09/12/16 00:52:24
>>572
おいおい・・・
575:nobodyさん
09/12/16 00:55:11
>>573
仮ページを介さずとも同じところにリダイレクトでいいよーな気がする。
576:nobodyさん
09/12/16 11:59:09
ページ推移をゴニョゴニョすればいい。
商用フレームワークなら当たり前についてる機能だ。
rorは自力でがんばれ。
フラッシュは最近もセキュリティの問題が発見されたし脆弱過ぎる。企業とか無効にしてる所も多いしな。後はアイフォンが非対応でマカが騒ぐとか。グーグル携帯使えでおkだが。
577:534
09/12/16 16:10:13
何この「商用フレームワークうんぬん」の人気持ち悪い
578:nobodyさん
09/12/17 15:02:21
>>577
同感
579:nobodyさん
09/12/17 15:38:45
FastCGIが嫌われてる理由がよくわからない
580:nobodyさん
09/12/17 16:53:09
Railsとmod_proxy_balancerについての質問です。
現在、あるサイト (URLリンク(www.foo.com)<) にしようとしています。
そのために、以下のような設定をhttpd.confに追加しました。
ProxyRequests Off
ProxyPass /foo/images !
ProxyPass /foo/stylesheets !
ProxyPass /foo/javascripts !
ProxyPass /foo/ balancer://railsapp/
ProxyPassReverse /foo balancer://railsapp/
<Proxy balancer://railsapp>
BalancerMember URLリンク(127.0.0.1:8000)<) loadfactor=20
</Proxy>
これで動くようにはなったんですが、問題があります。
(つづく)
581:nobodyさん
09/12/17 16:56:09
(つづき)
・URLリンク(securesite.com) にリクエストがあった場合、
Rails には /admin/ へのリクエストとして届くようです。
そのため、'/foo' は無視して
class AdminController < ApplicationController
def index
end
...
end
map.resources :admin
とする必要があります。
・しかしこれだと admin_path() が '/admin' を返すのです。
そうではなくて admin_path() は '/foo/admin' を返すようにしたいのですが、できますか。
・あるいは、Railsでは
map.namespace :foo do |x|
x.resources :admin
end
として、mod_proxy_balancerのほうで URLリンク(securesite.com) へのアクセスを
Rails に /foo/admin へのリクエストとして渡せることができればいいんですけど、
Apacheのマニュアル読んでも分かりませんでした。そんな設定を知っている人がいたら教えてください。
582:nobodyさん
09/12/17 23:10:49
「Rails サブディレクトリ」で検索したらいろいろ出てくるけどこういうのと違う?
サブディレクトリ下で Rails 2.3 を動かすときの注意点
URLリンク(www.yohasebe.com)
583:nobodyさん
09/12/18 18:46:13
Railsがリクエストを受け取ってからコントローラで処理するまでの流れを知りたいのですが、なにかいい方法はありますか。
ソースを読むならここを読めというのがあれば教えてください。
バージョン:Raisl2.3.5
584:nobodyさん
09/12/18 22:24:46
>>579
プロセスの生き死にの管理が面倒。
いつの間にかささってレスポンス返さなくなったときに、
それを発見して、killして、新しいプロセスを立ち上げるというのを
大抵は自前でどうにかしないといけない。
ウェブサーバを落としても、プロセスは生きてたりするしね。
585:nobodyさん
09/12/18 22:27:39
>>583
class ApplicationController < ActionController::Base
def index; raise; end
end
とでもして、ログに出るスタックトレースにしたがってソースを読めばいいかと。
586:nobodyさん
09/12/19 00:49:48
>>585
頭いいなあ!さんくす
587:nobodyさん
09/12/19 08:50:16
>>584
でもruby以外にpythonやマイナーな言語で書かれたものとか混合しようとするとFastCGI以外になさそうなんですよね
588:nobodyさん
09/12/19 15:47:38
定期的に再起動すればいいだけ。
スレリンク(php板)
【fcgi】FastCGI 総合スレッド
スレリンク(php板)
【激速】mod_perl SpeedyCGI FastCGI【激速】
589:nobodyさん
09/12/20 09:19:26
FastCGI入れられる環境なら、Ruby側はpassengerつかっときゃいいような気がするが。
自動再起動機能もあったろう
590:nobodyさん
09/12/20 09:21:27
>>583
NetBeansなどIDEでブレークポイントし掛けてソース追っていく方法はあるよ。
俺はRailsのデバッグ、というかソース追って読むの挫折したw
method_missingとかのせいか遷移がわけわからん。
591:nobodyさん
09/12/21 19:39:55 fEey4yBh
Rails 3 in Action
URLリンク(www.manning.com)
Deal of the day for December 21, 2009
Megadeal! 50% off all ebooks
URLリンク(archive.constantcontact.com)
592:nobodyさん
09/12/21 22:14:09 fEey4yBh
URLリンク(railsnotes.com)
593:nobodyさん
09/12/23 18:38:55
Railsで、404 Not Foundを返すときはどうするのがいいでしょうか。
Merbだとそれ用の例外を投げるという実にわかりやすい方法があったのですが。
ちなみにRails2.3.5です。
594:nobodyさん
09/12/23 19:02:40
コントローラ内で render 凝りまくったエラー画面, :status => :not_found
としてもよいけど、例外単位でよければ以下のように。
ActionController::Base.rescue_responsesに例外クラス名とステータスを登録する。
たとえば
ActionController::Base.rescue_responses['ArgumentError'] = :bad_request
デフォルトで ActiveRecord::RecordNotFound なら :not_found みたいなのが登録さ
れている。
通常の例外時の動作は public/STATUS.html を返す(render_optional_error_file)
だけなので、これを変更したければ rescue_action_in_pubic などをカスタマイズする。
なお、development だと、そのままでは開発向けエラー画面が出るので、
エラー画面自体の確認をしたいときは config/environments/development.rb の
consider_all_requests_local を false にし、ループバック(localhost や 127.0.0.1)以
外のアドレスでサーバにアクセスする。
ソースは action_controller/rescue.rb
595:nobodyさん
09/12/23 19:31:48
>>594
参考になりすぐる!ありがと。
596:nobodyさん
09/12/23 22:02:53
>>594
横体がありがとあい
597:nobodyさん
09/12/24 00:22:36
ファイルをアップロードするときにセキュアにするにはどうしたらよいのでしょうか?
ssl通信等を使用する方法はどのあたりを調べるとわかるでしょうか?
598:nobodyさん
09/12/24 02:13:09
>>597
HTTPS自体はアプリ側で特に意識する必要はないよ。
どっちかというとWebサーバの設定。
599:nobodyさん
09/12/24 09:17:32
>>594
例外の処理には rescue_from というのもあるわん。
600:nobodyさん
09/12/24 20:39:55
Herokuってどうなの?
601:nobodyさん
09/12/25 00:25:14
>>598
そうなんですか.ありがとうございます.
602:nobodyさん
09/12/25 19:50:30
ロケーションバーからアクションに直接アクセスされた場合のみ他ページへのリダイレクトをかけたいんですが,どうやればよいのでしょうか?
例えばViewで,
<div id="sample">
<%= select("foo", "bar", data) %>
<%= observe_field(:foo_bar, {
:update => :baz,
:on => 'change',
:url => { :action => :some_action },
:with => "'foo_bar=' + value"}) %>
</div>
となっている場合,ブラウザのロケーションバーから直接localhost:3000/controller/some_actionへアクセスされた際に,
他のページへリダイレクトさせたいです.
コンボボックスの選択変更によりsome_actionが起動した際には,リダイレクトしないようにしたいです.
some_action内にそのままredirect_toを書いてしまうと,コンボボックスの選択変更でsome_actionが起動したときにもリダイレクトしてしまうので困っています.
603:nobodyさん
09/12/25 20:14:54
>>602
request.referrer を見る。(referでも可:-)
ただし、送らないように設定している人がアクセスできなくなる。
今回はAJAXみたいなので、別解として
verify :xhr => true, :only => :some_action
も紹介しておく。今回はたぶんこっちがよいのでは?
604:nobodyさん
09/12/25 21:35:57
>>603
なるほど,そうすればいいんですか.
思ったとおりに実現できました.ありがとうございます.
605:nobodyさん
09/12/26 04:11:25
rails2.3.5使う場合って
rubyのバージョンは1.8.6推奨なの?
reeは1.8.7出てるから、そろそろ1.8.7?
606:nobodyさん
09/12/26 09:30:19
2.3系はどっちでもえーよ。
3.0.preでは1.8.6は切り捨て。
607:nobodyさん
09/12/26 12:36:12 N7t9YIOf
古い資産がないなら1.8.7使っておいた方が良いような気がする
608:nobodyさん
09/12/26 14:30:42
そもそも、railsの人って1.8.6じゃなきゃダメみたいなイメージがあるんだけど
1.8.6と1.8.7の差ってそんなに大きいの?
609:nobodyさん
09/12/26 16:12:06
1.8.6を捨てたくなる程度には大きい。
610:nobodyさん
09/12/26 18:16:55 5fe5VdgJ
Ruby 1.8.7で使えるようになったRuby 1.9のメソッドたち - (rubikitch
URLリンク(d.hatena.ne.jp)
URLリンク(drnicwilliams.com)
611:nobodyさん
09/12/26 22:35:03
>>600
どうっていうと?
デプロイは異常に楽だよ。
DBに溜め込むデータ量が少ない自分専用の小物アプリくらいなら無料でもいける。
まともなアプリを設置するには有料じゃないと無理。
612:nobodyさん
09/12/27 02:54:47
rails3っていつベータリリースされんの?
613:nobodyさん
09/12/27 03:56:24
まだlighthouseにも日付が出てないな。
見たいだけならgitからどーぞ。
614:nobodyさん
09/12/27 05:59:02
from/to日付の入力チェックの際に
from>to ならエラーとするようなvalidateを書いたんだが
def validate
errors.add(:from_date, "日付が不正です。") if (from_date > to_date)
end
エラー発生時にfrom/toどちらとも赤い四角(class="fieldWithErrors")で囲む方法ってある?
615:nobodyさん
09/12/27 09:48:34
>>614
そういうカスタマイズって、Railsは難しいよねー
質問なんですけど、ruby script/console してから、FooController.new.index()を実行するとエラーになります。
consoleのなかからControllerオブジェクトを生成するただしい方法を教えてください。
616:nobodyさん
09/12/27 11:42:20
>>615
app というオブジェクトがある。
script/console> app.get '/foo/index'
のようにリクエストを投げると
script/console> app.controller
に対応するコントローラがセットされる。
617:nobodyさん
09/12/27 14:33:15
>>614
フレームワークの範囲内でやるには、関係が満たされていないときに
両方を errors.add すればいいんじゃない?
618:nobodyさん
09/12/27 17:34:38
>>605
URLリンク(rubyonrails.org) みると冒頭に
We recommend Ruby 1.8.7 for use with Rails.
とある。
619:614
09/12/27 19:31:19
>>617
それだとエラーメッセージの表示がすっきりしない。
どうしたもんか。
620:nobodyさん
09/12/28 01:09:51
>>619
全く未検証ながら、
ActionView::Base::Helpers::ActiveRecordHelper#to_date_select_tag(など)の定義を
app/helpers以下にコピってきて、
error_wrapping(to_date_select_tag_without_error_wrapping(options, html_options),
object.errors.on(@method_name))
を、
has_error =
case @method_name
when :from_date, :to_date; object.errors.on(:from_date) or object.errors.on(:to_date)
else objet.errors.on(@method_name)
end
error_wrapping(to_date_select_tag_without_error_wrapping(options, html_options), has_error)
と書き換えた定義を作る。
from_date to_dateのフィールドのエラーを判定するときだけ相方のエラーも考慮。
621:nobodyさん
09/12/28 06:27:12 6MaAP7GA
Rails and Merb Merge: The Anniversary (Part 1 of 6)
URLリンク(www.engineyard.com)
The Rails 3 Router: Rack it Up
URLリンク(yehudakatz.com)
622:nobodyさん
09/12/30 06:18:07 p1BkGZKi
【PHP】フレームワーク Akelos
スレリンク(php板)l50
623:nobodyさん
09/12/30 10:01:16 +1QPHe9X
あけおめ
624:nobodyさん
09/12/30 11:20:23 p1BkGZKi
Rails and Merb Merge: Performance (Part 2 of 6) | Engine Yard Blog
URLリンク(www.engineyard.com)
625:nobodyさん
09/12/30 11:30:17
毎日1本ずつかと期待してたがやっとパート2が来たか。
626:nobodyさん
09/12/30 15:10:49
Ruby1.9.2が正式リリースされないと、Railsも正式リリースされないんだろうな
1.9.2はpreview2も出ないし、まだ先なのかね
627:nobodyさん
09/12/30 15:57:14
RubySpec走らせようぜぇ
628:nobodyさん
09/12/31 06:41:41 0ZeyyLVy
dhh
@37signals is already running a few minor apps on Rails 3. We've just started playing w/ porting Basecamp. Exciting times!
URLリンク(twitter.com)
URLリンク(twitter.com)
Very tentative target date for Rails 3 beta is end of January. But core is staffed with volunteers, so very much subject to change.
about 1 hour ago from Echofon
629:nobodyさん
09/12/31 06:58:56 0ZeyyLVy
@sockmonk 1.8.7. Rails 3 requires 1.8.7.
URLリンク(twitter.com)
dhh
@37signals is already running a few minor apps on Rails 3. We've just started playing w/ porting Basecamp. Exciting times!
URLリンク(twitter.com)
Very tentative target date for Rails 3 beta is end of January. But core is staffed with volunteers, so very much subject to change.
URLリンク(twitter.com)
630:nobodyさん
09/12/31 08:31:33 0ZeyyLVy
Very tentative target date for Rails 3 beta is end of January. But core is staffed with volunteers, so very much subject to change.
URLリンク(twitter.com)
dhh
631:nobodyさん
09/12/31 14:23:44
何度も書くほどの事かね.
dogfooding出来る程度動くようにはなってきたというのはわかった
632:nobodyさん
09/12/31 22:48:13 0ZeyyLVy
633:nobodyさん
10/01/03 01:04:56
railsでleft join whereって使えないよな。
has_manyとかはidしか条件にしないし、他の条件を使えない気がする。
634:nobodyさん
10/01/03 17:24:17 Kv5gn0C+
URLリンク(github.com)
635:nobodyさん
10/01/04 00:12:50
>>634
ほほぅ
636:nobodyさん
10/01/04 00:15:11
>>633
:joins 指定すればいいという話ではなく?
637:nobodyさん
10/01/04 00:32:56
Railsの勉強で、簡単なブログツールを作っています。
記事のモデルオブジェクト(Post)にコメント数を表すカラム(comment_count)を作成しているのですが、これの更新方法がよくわかりません。
たぶんトランザクションを使って、コメントが保存できたらcomment_countを1増やすという方法になると思うのですが、
以下のようなコードであっているでしょうか。どなたか添削をお願いします。
def add_comment
# ブログ記事のモデルオブジェクトを検索
post = Post.find(params[:id]) or raise ActiveRecord::RecordNotFound.new
# コメントオブジェクトを作成し、記事IDを設定
comment = Comment.new(params[:comment])
comment.post_id = post.id
begin
# トランザクション開始
Post.transaction do
# コメントをセーブ
comment.save!
# コメントがセーブできたら、コメント数を1増やす
post.comment_count += 1
post.save!
end
# エラーがなければ 'OK' を出力
render :text=>'OK'
rescue ActiveRecord::RecordInvalid => ex
# エラーがあれば、エラーメッセージを出力
errmsg = comment.errors.collect{|arr| arr.join(': ')}.join("¥n")
response.status = 422
render :text=>errmsg
end
end
638:nobodyさん
10/01/04 01:57:03 14ehE+TL
無駄が多くて全然railsっぽくない。以下のようにするといいよ。
def add_comment
# ブログ記事のモデルオブジェクトを検索
post = Post.find(params[:id]) # raise は明示的に書く必要はない。
# アソシエーションを利用してコメントオブジェクトをビルド(post_idは自動的に代入される)
comment = post.comment.build
# パラメーターでアップデート(うろ覚えなのでシンタックスエラーがあるかも)
comment.update_attributes!(params[:comment])
end
コメント数はcomment_countカラムを作らずに以下で数えるほうがいいと思うけど。よほど膨大な(100万単位の)コメントがつかない限り。
Comment.count(:conditions => 条件)
639:nobodyさん
10/01/04 02:01:50
>>636
なるべく生のsql文は使いたくなくて
でもまぁこれが一番手っ取り早いか
640:nobodyさん
10/01/04 02:08:21
営業能力も上げていかないと技術だけでは35歳以上はこの業界では生き残れないと断言しよう
40歳過ぎにもなれば、営業能力70%技術力30%くらいの割合になるマジで
同じ会社で死ぬまで雇ってもらえるなら別だが
そんな保障はどこにもない
641:nobodyさん
10/01/04 02:09:27 14ehE+TL
それに def add comment でなくて、
restfulに書くならばComment Controllerを作って、createアクションで処理する方がいいよ。
before_filter でPost.find(:post_id) を常にしておくべき。
そうすればその情報を使ってアソシエーションに沿ってコメントを作成できる。
642:nobodyさん
10/01/04 14:14:39 CMnexdc2
Rails 3.0.pre で遊ぶ準備
URLリンク(sakuro.tumblr.com)
643:nobodyさん
10/01/04 20:11:46 CMnexdc2
Getting a New App Running on Edge
URLリンク(weblog.rubyonrails.org)
So people have been attempting to get a Rails app up and running recently.
I also have some apps in development on Rails 3
644:nobodyさん
10/01/04 20:48:54
>>637
自習するのは止めないけど、belongs_to の :counter_cache も忘れないで。
645:nobodyさん
10/01/04 23:22:51
>>639
亀レスだが has_many :people, :foreign_key=> 'original_key_name'
とかじゃダメなのか?
646:nobodyさん
10/01/05 02:00:40
>>645
おぉ。これでkeyを指定できるようになるのか。便利。
647:nobodyさん
10/01/05 06:24:05
>>638
どうもありがとうございます。raiseは書かなくていいんですか。なるほどー。
> コメント数はcomment_countカラムを作らずに以下で数えるほうがいいと思うけど。よほど膨大な(100万単位の)コメントがつかない限り。
> Comment.count(:conditions => 条件)
すべての記事を、コメントやトラックバックの多い順でソートする機能を付けようとしています。
その場合、記事ごとにコメント数がついていたほうが簡単かつ高速なので、comment_countカラムを作っています。
とりあえず、トランザクションまわりについては>>637であってるのでしょうか。
詳しい方、お願いします。
648:nobodyさん
10/01/05 10:27:07
>>647
コメント削除したらコメントカウントのカラムもupdateしないといけない
面倒くせ
649:nobodyさん
10/01/05 10:42:18
ソートする機能を考慮しても
コメント数はcomment_countカラムを作る必要性がわからん
また高速性を考えるならrailsを使う意味がない、生産性重視ならcomment_countカラムはいらん
650:nobodyさん
10/01/05 10:57:18 DXl89df8
イノベーションのジレンマ - Wikipedia
Wikipedia項目リンク
ディスラプティブ技術 - Wikipedia
Wikipedia項目リンク
スタートアップの始め方
URLリンク(www.aoky.net)
テクノロジーの世界では、常にローエンドがハイエンドを食っている。
安価な製品をより強力にするほうが、強力な製品を安くするよりも簡単なのだ。
だから安価でシンプルというところから始めた製品は徐々に強力なものへと成長していき、水が部屋に満ちるように、
「ハイエンド」の製品を天井の方へと押し込めることになる。
Sunはこれをメインフレームに対して行い、IntelはSunに対して行っている。
651:nobodyさん
10/01/05 14:54:37 s5/1mF78
Twitter創始者が語るWeb 2.0の要諦 ― @IT
URLリンク(www.atmarkit.co.jp)
Railsを使って2週間でプロトタイプが完成
ウィリアム氏がOdeo内で始めた小さなプロジェクトが「Twitter」だ。
Ruby on Railsを使って2週間で最初の動くバージョンを作り上げたという。
Twitterをはじめると2週間でブログの更新が止まる理由 そしてはじまる(かもしれない)総表現社会 - mizchi log
URLリンク(d.hatena.ne.jp)
652:nobodyさん
10/01/05 22:42:48
>>647
transactionの使い方はそんな感じでいいと思う。
do..endのなかでsave!とかupdate_attributes!ね。AR::RecordNotSaved系の
例外が飛んで、transctionがrollbackする。
ただ、検索したり保存したりは >>638 の書いているコードのほうがキレイなので
それを参考にした方がいい。
コメント件数は>>644のいうとおり、counter_cacheを使うと同じようなことを
ARが勝手にやってくれるので、プロダクションコードではそちらを使う方がいいと思う。
あと >>649
> また高速性を考えるならrailsを使う意味がない、生産性重視ならcomment_countカラムはいらん
んなこたない。
counter_cacheなり、それの自作なりを使わないでソートするためには、
Rubyでゴリゴリ書くか、相関サブクエリ使うことになると思うんだけど、
前者はさすがに遅い/無駄だし、後者は面倒なだけだと思うんだけどどうか。
653:nobodyさん
10/01/06 03:03:28
>>652
コメントカウント出すサブクエリなんてなんて1分もあれば書けるだろ
面倒なのかな?
654:nobodyさん
10/01/06 12:25:42 3+83O9QS
Rails 3 in Action
URLリンク(www.manning.com)
Yehuda Katz
MEAP Release: 2009
Softbound print: April 2010 (est.) | pages
ISBN: 9781935182276
1. Building Your First Rails 3.0 Application
2. Overview of the Rails stack(s) + architecture
3. Creating Rails Applications
4. Using DataMapper for Models
5. Using ActiveRecord for Models
6. Other Choices for Models
7. Processing Requests
8. Routing in Rails 3
9. Customizing Views
10. Working on the Client Side
11. Supporting Characters
12. Using the Plugin API
13. Testing Your Applications
14. Deploying a Rails Application
15. Scaling Rails
Appendix A Just enough advanced Ruby
Appendix B The migration story
Appendix C Rails 2 to Rails 3
Appendix D Merb 1 to Rails 3
655:nobodyさん
10/01/06 16:39:08 3+83O9QS
URLリンク(www.engineyard.com)
656:nobodyさん
10/01/06 16:45:50 3+83O9QS
Rails 3 beta eyed for late January release
URLリンク(www.computerworld.com)
657:nobodyさん
10/01/07 09:51:46 acpOW5s0
David Heinemeier Hansson
Bibliography
URLリンク(www.amazon.com)
658:nobodyさん
10/01/08 02:25:13
SQLite3で排他制御する場合どうすればいいですか?
SQLite3にはSELECT FOR UPDATEはないので
find(:lock => true)は使えないですよね。
トランザクションを
BEGIN IMEDIATE TRANSACTION
で開始すればいいのじゃないかと思うんですが
どこに書いたらいいものか分かりません。
659:nobodyさん
10/01/09 14:09:25 C3iGMVdd
SELECT FOR UPDATE なんて使わないから、使える
660:nobodyさん
10/01/09 18:20:07 eVooFF5+
Phusion Passenger 2.2.9 released
URLリンク(blog.phusion.nl)
Fixed compatibility with Rails 3.
661:nobodyさん
10/01/10 02:02:57
>>659
すいません。
だれ(なに)が使わないので
だれ(なに)が使えるのでしょうか?
662:nobodyさん
10/01/10 12:04:22 shGxwVTU
URLリンク(intertwingly.net)
663:nobodyさん
10/01/10 12:10:39 shGxwVTU
URLリンク(intertwingly.net)
664:nobodyさん
10/01/10 21:44:08
>>659
小学生でもわかる日本語でおねがいします
665:nobodyさん
10/01/11 11:52:44
馬鹿にはrorは無理。
666:nobodyさん
10/01/11 17:01:28
config/environment.rb にいろんな設定書くけど、
独自に設定を追加してもいいんでしょうか。
Rails::Initializer.run do |config|
config.my_value = 'foobar'
end
みたいな。
あと、それを追加したとして、読み出す方法を教えてください。
667:nobodyさん
10/01/11 19:32:25 yaZxWBJR
ActiveModel: Make Any Ruby Object Feel Like ActiveRecord
URLリンク(yehudakatz.com)
668:nobodyさん
10/01/11 20:46:07
>>666
config(Rails::Configuration)はRails本体の設定しか受け付けない。
定数使って
MY_CONFIG = { :foo => 'bar', :hoge => 'fuga' }
のようにするのが手っ取り早い。
ちなみにアプリの利用者が変更する必要がない設定は
config/environment.rbやconfig/enviroments/*.rbに書く。
利用者が変えられる設定ならconfig/initializers/*.rbに書く(2.0以降のみ)。
設定が大量になりそうならYAMLファイルで外に出してenvironment.rbなどから読み込むか、
configatronのようなプラグインを使うか。
669:nobodyさん
10/01/12 00:22:34
質問主ではないが、勉強になった。
ありがとん > 668
670:nobodyさん
10/01/12 03:14:39
ここでアホな質問してる人らって、わからんことあったらまずここに書いて
のんびりテレビでも見てんの?
671:nobodyさん
10/01/12 04:35:12
アホな質問続きだが
railsで使用しているpluginのバージョンを一括表示する方法ってない?
script/about みたいな感じで。
672:nobodyさん
10/01/12 04:46:22 609VTkN+
Rails and Merb Merge: Plugin API (Part 3 of 6) | Engine Yard Blog
URLリンク(www.engineyard.com)
673:nobodyさん
10/01/12 19:07:46
Paginateを使いたいのですが以下のエラーが出ます。
---
undefined method `total_pages' for #<Array:0x5bcc4d8>
Extracted source (around line #42):
42: <%= will_paginate @items %>
---
scaffoldで新しくひな形を作り、
environment.rb の一番下に require 'will_paginate'
index.html.erb の一番下に <%= will_paginate @items %>
pages_controller.rb に
def list
@items = Item.paginate :page => params[:page], :per_page => 10
end
これらを追加しただけなのですが、何が原因でしょうか。
674:nobodyさん
10/01/12 20:02:14
質問させてください。
テストサーバー(staging環境)用にproduction環境でRailsアプリを動かしているのですが、
エラーが出たときにサーバーにもぐっていちいちlog/production.logを見るのが面倒です。
また、サーバーのログイン権限が無い開発者にもローカルの開発サーバー(webrickやmongrelのdevelopment環境)のように
エラー内容を人目でわかるようにしたいのですが、そのようにエラーを表示する方法はないものでしょうか?
675:nobodyさん
10/01/12 20:27:20 4XZzyMEc
>>666
configatron
URLリンク(www.moongift.jp)
676:nobodyさん
10/01/12 22:54:24
>>673
なぜpages_controller.rb? その説明だけだと、items_controllerになりそうな感じだけど。
677:nobodyさん
10/01/12 22:57:41
>>671
これ使うとか。自分はまだ使ったことないけど。
URLリンク(github.com)
>>673
ヘルパーメソッドのwill_paginateに渡すのはArrayじゃなくて、
paginateの戻り値のWillPaginate::Collectionじゃないといけない。
なので、コントローラかビューのなかで@itemsをArrayにしちゃってないか確認してみて。
>>674
・Exception Logger:DBにエラーを保存してアプリ上で閲覧
・Exception Notifier:エラーをメールで送信
・Syslogに記録:URLリンク(blog.s21g.com)
・Clarity:ログ監視ウェブアプリ URLリンク(www.moongift.jp)
678:nobodyさん
10/01/14 21:03:02 MmCuc8fs
Do One Thing for Rails 3 on January 16th and 17th
URLリンク(railsbridge.org)
679:674
10/01/14 21:35:26
>>677
たくさんありがとうございます!
一番下の見ていて、webでログ監視すればいいのかって気づいて
tailコマンドのphp版設置してみました。部内LANサーバーなので問題ないです。
php1ファイルで設置らくちんw ちょっと不便ですが、致命的になるまではこれで試してみます。
jQueryとPHPでLinuxのtailコマンドを実装する - EC studio 技術ブログ
URLリンク(techblog.ecstudio.jp)
680:nobodyさん
10/01/15 16:09:17
MYSQLで以下のようなテーブルを使っています。
| id | name | email | check(boolean型) |
restful_authenticationプラグインのsignupでユーザーを新規登録した時、
"check"に自動的に0の値を入れたいのですがどのようにすれば良いでしょうか?
681:nobodyさん
10/01/15 17:33:21
スキーマ定義を触れるならMySQLのcreate tableのほうで、
checkカラムにデフォルト値0を設定しておけばいいと思う。
create/save時に未指定なら0が入る。
あとはbefore_saveとかafter_initializeとかのフック。
682:nobodyさん
10/01/16 04:57:42
>>680
はてなのタケルンバさんのblogで丁寧にまとめられていますよ
683:nobodyさん
10/01/16 20:30:35
基本的にJava屋で、今年からRailsをやってます。
find_by_sqlってのを見つけた瞬間、
find_by_sql("select col1, col2 from table")
って感じで使いまくってんだけど、これっていいのだろうか?
だっせー、かっこわりーって思われないだろうか?
684:nobodyさん
10/01/16 20:37:30
求めるタスクがこなせてるならいーんじゃない?
685:nobodyさん
10/01/16 21:25:58
>683
ダサい。
なんでリファレンスをちゃんと読まないんだ。自称Java屋のくせに。
686:nobodyさん
10/01/16 22:29:46
>>683
ほんとにその程度のSQLで使ってるのなら、
ださいとかじゃなくてありえない
687:nobodyさん
10/01/16 23:25:29
もう転職考えた方がいいレベル
688:nobodyさん
10/01/17 00:01:02
>>683
>find_by_sql("select col1, col2 from table")
あれ、Table.find() って col1, col2 の指定ってできたっけ?
できなかったと思うから、自分もfind_by_sqlよくつかうよ。
689:nobodyさん
10/01/17 00:04:41
外のカラムが不要な場合は Table.find(:all, :select => 'col1, col2')
690:nobodyさん
10/01/17 00:05:44
うおっ
× 外(ほか)
○ 他(ほか)
691:nobodyさん
10/01/17 03:56:17
タケルンバに失笑されるレベル
Javaフレームワークは使ったことないんだろか
692:nobodyさん
10/01/17 10:33:43
>>688
間違えた、find_by_sql()じゃなくてActiveRecord::Base.connection.select_rows(sql)だった。
group byやhavingが入るようなsqlだとこっちのほうが楽なんだけど、そんなことない?
693:nobodyさん
10/01/17 10:41:10
AR::Baseとして取り出す必要がないならそれも手ではある。
694:nobodyさん
10/01/17 11:30:47
パフォーマンス(笑)のためだったりするんだろうか。
695:nobodyさん
10/01/17 16:13:12 mYKzzqeT
683です。
なるほど、やっぱりダサいのか
ちなみに例に上げたのは簡単なやつだけど
実際に使ってるのは、サブクエリーが絡むような複雑なやつなんだけどね
>> 691
Hibernate使ってたけど、あまり好きじゃないね
>> 694
find_by_sqlの方が、パフォーマンスよくなるん?
696:nobodyさん
10/01/18 09:03:43 BApO165G
日本の富豪40人(2010年) - フォーブス長者番付・億万長者ランキング
URLリンク(memorva.jp)
田中良和 グリー創業者 IT 32 1.60 1456億円
笠原健治 ミクシィ創業者 IT 34 0.72 655億円
697:nobodyさん
10/01/19 13:32:36 aU7LUmun
passengerでrails動かしたいのですが、
DocumentRootにアクセスしてもdispatcher.fcgiのソースが表示されてしまいます。
これって正しくモジュールが読み込まれてないからなんでしょうか。
httpd.confにはLoadModuleもしてるしapacheのエラーは出てません。
LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.2.9/ext/apache2/mod_passenger.so
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.2.9
PassengerRuby /usr/bin/ruby
どなたか原因解明の手がかりwご存知の方ご教授願います。
698:nobodyさん
10/01/19 23:30:34
.htaccessはどうなってる?
699:nobodyさん
10/01/20 16:17:25
railsを勉強しようと思うんですが、初心者向けで
お勧めの本はありますか?あるいは、これは読んで
おくべき本でも構いません。
700:nobodyさん
10/01/20 17:16:39
ちょっと古いかもしれないけど
かんたんRuby on RailsでWebアプリケーション開発
著者 arton さん
URLリンク(www.amazon.co.jp)
701:nobodyさん
10/01/20 17:53:46
>>699
ム板で回答しておいたのでそれを貼っときます。
Ruby 初心者スレッド Part 33
スレリンク(tech板:804番)
804 名前:デフォルトの名無しさん[sage] 投稿日:2010/01/20(水) 16:21:54
>>800
初心者が最低限これだけあればまずはなんとかなる!って書籍を3つ。
というか俺が実際にRails初心者レベルで仕事で使った本
・RailsによるアジャイルWebアプリケーション開発
URLリンク(www.amazon.co.jp)
・Ruby on Rails 逆引きクイックリファレンス Rails 2.0対応
URLリンク(www.amazon.co.jp)
・Railsレシピブック 183の技
URLリンク(www.amazon.co.jp)
あとは、webサイトだけど公式のガイド。ちょっとしたわからんことはまずこれ見たら大体すむ
Ruby on Rails guides
URLリンク(guides.rubyonrails.org)
毎回聞かれてるんで、Railsスレテンプレに入れといていいと思うんだ・・・
702:nobodyさん
10/01/20 17:58:26
ついでに質問いいでしょうか?
script/serverで開発用のmongrelなどを立ち上げた場合は、
動的に読み込んでくれているためか大概は開発中にファイルの編集後でも
コードの反映はサーバーを立ち上げ直さずにブラウザのリロードで済みますよね?
こういうのをscript/consoleでする方法ってないもんでしょうか?
script/consoleの再起動はそんなに重くないとはいえ、何回もやってたらけっこう面倒です。
再度requireする?のがよいんでしょうか?
703:nobodyさん
10/01/20 17:58:49
>>699
最近、Head First Railsて本の翻訳が出てて、洋書を読んだ感じだとだいぶよかった。
Rails 2.3にも対応している唯一?の本なので、独特のテンションが嫌いじゃなきゃかなりオススメ。
704:nobodyさん
10/01/20 18:50:18
質問させてください。
コントローラーのbefore_filterのような感じで、レンダリング前にメソッドを実行するようなフィルタは定義できないものでしょうか?
layout/application.html.erb 内でコントローラーのメソッドを(ヘルパー化して)呼ぶしか無いでしょうか?
705:704
10/01/20 18:57:33
> layout/application.html.erb 内でコントローラーのメソッドを(ヘルパー化して)呼ぶしか無いでしょうか?
これダメでした。
ヘルパー内で @hoge = 1234 のようにしてもerbの方に反映されませんね…。
layout/application.html.erb の最初の行にロジックを直書きして対処しました。
何かいい方法ないもんですかね
706:nobodyさん
10/01/20 19:46:07
>>699
Head First Railsが今一番新しくて初心者向けの本、オススメ。
これでわからなかったらRailsは諦めて別なのをやった方がいい。
あと
RailsによるアジャイルWebアプリケーション開発の第三版がオススメ
第二版と初版は古いバージョンのRails用だから間違って買うと泣くはめになる。
707:nobodyさん
10/01/20 19:47:15
Rubyスレで質問して、Railスレ逝けと言われて来ました。
今回初めてRubyを仕事で扱うことになり、
RailsによるアジャイルWebアプリケーション開発のT部を読んで
Smarty使って、PHPで開発するのとそう変わらないなと思い、
本ちゃんプログラムの解析にかかったのですが・・・
・ controllers,models,viewsともにjsファイルばかり。
・ ブラウザでソースをみたら、ログイン画面なのに1万行近くソースがある。
・ 画面遷移しても、URLは変わらない。
・ サーバーとクライアントのソースがある?
等、ちょっと見かけたことのない構成でした。
こりゃわからんと思い、参考書の続きを読もうとしましたが、
そもそも参考書読んでわかる内容なのか疑問を持ちまして・・・
そこで、質問なのですが
1.上記のような構成はRailsでは一般的で初心者レベルの話
2.それなりに高度な技術で初心者が参考書を読んだ程度で
太刀打ちできるレベルの内容ではない
3.製作者が変態。そんな作り聞いたことがない。まず見かけない。
いずれですか。
1なら参考書読んで調べます(キーになる単語を教えてくれると助かります)
2ならダメぽと上に報告します。
3なら・・・頑張ります。
以上、教えて下さい。。。
708:nobodyさん
10/01/20 19:49:37
あとRails始めるなら
RSpecも同時に調べておいた方がいい。
BDD、TDDなどの開発手法を要チェック。
cucumberも
709:nobodyさん
10/01/20 19:51:53
>>707
>>706
710:nobodyさん
10/01/20 19:58:41
>>707
たぶんほとんど全機能をAJAXで実装しているんじゃないかね。
Railsがその中でどう使われているかは質問だけでは分からないけど…
711:nobodyさん
10/01/20 20:38:09
>>710
ありがとうございます。
確かに、ブラウザの戻るボタンがグレーアウトしてる等
思い当たる節はあります。
AJAXを使用しまくっているという前提に立ってもう一度
解読してみます。
712:nobodyさん
10/01/20 22:19:08 Qj1mXafK
>>702
reload!
713:nobodyさん
10/01/21 00:05:32
>>704
レンダリング前ってつまりcontrollerのアクション内がそうだけど、
ビューのレンダリングのタイミングで処理したい理由は?
>>707
これだよね?
URLリンク(www.amazon.co.jp)
ソースコード↓を見ても、Ajaxなんて使ってないけど。
URLリンク(www.ohmsha.co.jp)
第1版しか読んでないけど、最初から全部Ajaxで作るみたいな珍妙な本ではないはず。
714:nobodyさん
10/01/21 00:14:02
>>713
本で学んだ後「本ちゃんのプログラム」にとりかかっている、と解釈した。
715:704
10/01/21 08:26:59
>>713
ありがとうございます。
layouts/application.html.erbのサイドバー内に
サイドバーなどにDBからクエリーしてきた最新の結果を常に表示したい、という感じです。
例えが難しいのですが、例えば睡眠時間を記録するサイトで
サイドバーに今日の睡眠時間、といったような数値を表示したいとします。
その場合、application_controllerにbefore_filterかまして
毎度呼ばれるのメソッド内にて今日の睡眠時間を取得する処理を書くと、
コントローラー内で処理をする前の数値を取得してしまいます。
コントローラー内で処理をした後の数値を表示したいのです(つまりできるだけレンダリング前に)。
なので、layouts/application.html.erbの先頭に、
今日の睡眠時間を取得する処理を書いちゃえ!ってことなんですが、
(できるだけモデル依存部はモデルに書くとしても)そういうロジックをviewに各のはどうなんだ、と思った次第です。
716:nobodyさん
10/01/21 08:32:44
>>707
適当に予想します。
jsばっかり=フロントエンドがAJAX(JavaScript)、バックエンド処理がRails
(それでもmodelsがjsばっかりはない気が?)
JS(AJAX)がクライアント処理、サーバーがRailsと見た。
RSSリーダーのOpen Fastladder(Livedoor ReaderのRails実装でソース公開されてるやつ)
みたいなのをイメージしたんだけど違うかな。
つまり、RailsでwebアプリのAPIをガリガリ書いて、JavaScriptでガワを作るような構造。
まずは、テストコードを読むことから始めたらどうかな?
ちゃんとしたアプリならテストがたくさん書かれているはずなので、
どんな感じにモデルを扱っているかとか仕組みがわかるはず。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5388日前に更新/279 KB
担当:undef