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


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

【RoR】Ruby on Rails Part11



1 名前:nobodyさん mailto:sage [2010/12/11(土) 10:58:56 ID:???]
■前
【Ruby】Ruby on Rails Part10
hibari.2ch.net/test/read.cgi/php/1282991262/

■参考サイト
<英語>
本家:rubyonrails.org
API document:api.rubyonrails.com/
開発者のblog:weblog.rubyonrails.org/
参考wiki:wiki.rubyonrails.org/rails


<日本語>
Rails' wiki: wiki.fdiary.net/rails/

twitter.com/dhh
www.loudthinking.com/


141 名前:nobodyさん mailto:sage [2011/01/09(日) 02:10:48 ID:???]
パフォーマンスも圧倒的にcakeが上だしなぁ

142 名前:nobodyさん mailto:sage [2011/01/09(日) 03:25:14 ID:???]
PHPerには向上心が無いから何言っても無駄

143 名前:nobodyさん [2011/01/09(日) 05:26:39 ID:oSWZOkDK]
Rubyはエンタープライズの基盤になれるか:ITpro
itpro.nikkeibp.co.jp/article/OPINION/20071031/286028/
開発に取りかかって約2カ月で完成した。
「VBscriptならこの倍,PHPでも1.5倍はかかっていたのではないか」(宮島氏)。
コード量も10分の1になった。
VBsciptではコードを再利用する際にコピーしていたのに対し,
Rubyではクラス継承により集約でき,変更の際の見通しもよくなった。


144 名前:nobodyさん [2011/01/09(日) 05:34:12 ID:oSWZOkDK]

インタビュー:[楽天]Ruby活用事例とROMA,Fairy
gihyo.jp/dev/column/01/prog/2010/030801
今では日に200万とか,多いものだと600万くらいのトランザクションが発生するシステムで使っていますが,
すべて問題なく稼動しています。


インタビュー:[楽天]Ruby活用事例とROMA,Fairy
gihyo.jp/dev/column/01/prog/2010/030801?page=2
パフォーマンスも当然ベンチマークで要件をクリアできていることを確認していましたし,
実稼動後も特に問題になったことはないです。
興味深い点としては,RailsとCakePHPを比べたところ,高負荷時にはRails のほうが大幅に応答性能が高いという結果が出たことですね。
これは200リクエスト/秒くらいからPHPの応答性能が急激に下がるのが原因です。
Rubyはそれほど大きくはパフォーマンスが落ちないんです。

145 名前:nobodyさん mailto:sage [2011/01/09(日) 08:56:50 ID:???]
PHPユーザの向上心の無さは異常

146 名前:nobodyさん mailto:sage [2011/01/09(日) 10:39:02 ID:???]
> VBsciptではコードを再利用する際にコピーしていた

それ再利用と言うのか?
コピーして新しく作成しちゃってるじゃん

147 名前:nobodyさん [2011/01/09(日) 11:02:47 ID:hPSqOLvQ]
つまり毎回forkしてるから効率悪いということ

148 名前:nobodyさん mailto:sage [2011/01/09(日) 11:04:24 ID:???]
unicorn使えば毎回forkしてないってことですか?
さすがrails様は次元が違いますね^^

149 名前:nobodyさん mailto:sage [2011/01/09(日) 12:04:15 ID:???]
なに言ってるのかわからんな



150 名前:nobodyさん mailto:sage [2011/01/09(日) 13:09:00 ID:???]
railsが勝手に機械的にコピペしてくれてるだけなんで
ただの末端ユーザーにとってはVBと違いはほとんど無い

151 名前:nobodyさん mailto:sage [2011/01/09(日) 13:28:56 ID:???]
PHP房とrails使いの差は、rails使いは試行錯誤の結果「PHPでは高負サイトは無理ではないか」という
試行錯誤を繰り返すタイプの「生粋のエンジニア」なのか「似非Webエンジニア」なのかという差ということですね。

「PHPだけできます」という人間は吐いて捨てるほどいるけど、rails使いのように、appサーバの負荷や

フレームワークの負荷に敏感な「生粋のエンジニア」は少ないということですね」

これらの差は、非エンジニア職である経営層は一生気づくことのない差なんでしょうね。
その差に気づくことが出来ない経営者が仕切っている会社は
一生、web業界において、勝ち組になることは出来ないでしょう。

152 名前:nobodyさん mailto:sage [2011/01/09(日) 16:17:49 ID:???]
糞経営者は目に見える部分しか見ないという点には同意

153 名前:nobodyさん mailto:sage [2011/01/09(日) 18:02:13 ID:???]
>>151


>>152
それは同意だな

154 名前:nobodyさん mailto:sage [2011/01/09(日) 20:35:35 ID:???]
PHPの方が圧倒的に需要が多いから
Rails厨が何を言っても憐れに見える。

Cakeの誕生でわざわざRailsの開発環境整える意味も皆無になったわけで
さっさと諦めればいいのに。

155 名前:nobodyさん mailto:sage [2011/01/09(日) 20:54:44 ID:???]
>>142
向上心なかったらCakeなんか使わねーだろw

156 名前:nobodyさん mailto:sage [2011/01/09(日) 22:35:08 ID:???]
array() いっぱい書きたくないわ

157 名前:nobodyさん mailto:sage [2011/01/10(月) 01:10:46 ID:???]
3.1っていつ頃出るんでしょうか

158 名前:nobodyさん [2011/01/10(月) 04:09:07 ID:SqSUf4Y5]
質問させていただきます。
Mac OS X 10.6.6
Ruby 1.8.7
rails 2.3.8
MySQL5.5.8
でRuby on Railsを使いたいのですが
rake db:migrateとすると以下のエラーが出ます。

!!! The bundled mysql.rb driver has been removed from Rails 2.2. Please install the mysql gem and try again: gem install mysql.
rake aborted!
dlopen(/Library/Ruby/Site/1.8/universal-darwin10.0/mysql.bundle, 9): Library not loaded: libmysqlclient.16.dylib
Referenced from: /Library/Ruby/Site/1.8/universal-darwin10.0/mysql.bundle
Reason: image not found - /Library/Ruby/Site/1.8/universal-darwin10.0/mysql.bundle

(See full trace by running task with --trace)

gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
を行いgem listで調べるとmysql (2.8.1)が入っています。
いろいろ調べたのですがわからないので誰か教えてください。
よろしくお願いいたします。

159 名前:nobodyさん [2011/01/10(月) 09:19:57 ID:KNJg+u2Y]
hibari.2ch.net/test/read.cgi/hosting/1033299208/l50

hibari.2ch.net/test/read.cgi/hosting/1259841636/l50

hibari.2ch.net/test/read.cgi/hosting/1291993724/l50


daybook.biz/category/server/dedicatedserver/


www.webhostingtalk.com/forumdisplay.php?f=36



160 名前:nobodyさん [2011/01/10(月) 09:30:12 ID:Us1Ofr5V]
DYLD_FALLBACK_LIBRARY_PATH=/usr/local/lib
export DYLD_FALLBACK_LIBRARY_PATH
とやったらどうなる?


161 名前:158 [2011/01/10(月) 22:27:20 ID:SqSUf4Y5]
>160
返信遅くなってすみません。

なにも出ません。
そしてrake db:migrateの結果も変わりません><

162 名前:nobodyさん mailto:sage [2011/01/10(月) 23:19:28 ID:???]
32bitのドライバが入ってるんじゃね?
一回gem uninstall mysqlしてからやり直してみては?


163 名前:nobodyさん mailto:sage [2011/01/10(月) 23:31:26 ID:???]
gem install mysql2
じゃなかったっけ?

164 名前:158 [2011/01/11(火) 00:25:44 ID:w92gJgj0]
>163
gem install mysql2 は駄目でした

>162
これから64bitいれ直してみます!

165 名前:158 [2011/01/11(火) 00:33:28 ID:w92gJgj0]
sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
で入れたのですがだめでした。。。
もうかれこれ4日くらい同じところでつまずいています。泣

166 名前:nobodyさん mailto:sage [2011/01/11(火) 00:47:17 ID:???]
ていうか、10.6になってからmysqlを入れ直したかどうかとか、その辺も分からないとどうしようもない。

167 名前:158 [2011/01/11(火) 00:57:51 ID:w92gJgj0]
情報が不足してしまってすみません。

12月にmacを買いまして最初から10.6.6です。
それでmysqlを入れました。

168 名前:nobodyさん mailto:sage [2011/01/11(火) 07:49:17 ID:???]
だからそのmysqlはどうやって入れたのよ。


169 名前:nobodyさん mailto:sage [2011/01/11(火) 11:12:56 ID:???]
references使ったらエラーが起こるんだけどどうすればいいの?

class CreateRelationCategories < ActiveRecord::Migration
  def self.up
    create_table :relation_categories do |t|
      t.references :post
      t.references :category
      t.integer :main

      t.timestamps
    end
    add_index :relation_categories, :post
    add_index :relation_categories, :category
  end

  def self.down
    drop_table :relation_categories
  end
end




170 名前:nobodyさん mailto:sage [2011/01/11(火) 11:52:39 ID:???]
>>167
rubyもmysql5も全部portで入れた方がいいと思うよ

171 名前:nobodyさん [2011/01/11(火) 12:07:49 ID:KMpfNobV]
>>169
どんなエラーよ


172 名前:nobodyさん mailto:sage [2011/01/11(火) 13:34:18 ID:???]
post_idとか書かないといけないのでは。
referencesのとこはpostでも

173 名前:nobodyさん mailto:sage [2011/01/11(火) 18:35:17 ID:???]
しかしmigrationって、こうしてみると筋が悪いな・・・

174 名前:nobodyさん mailto:sage [2011/01/11(火) 23:21:57 ID:???]
rails3,ryby1.9.2で内部的にはUTF-8を使っています。
GETパラメータでsjisの文字列を渡すと
params[:key].blank?
でArgument Error となってしまいます。
params[:key].encode("utf-8").blank?
params[:key].force_encofing(“utf-8“).blank?
は試したのですが結果は変わりません。
どうすればよいのでしょう?


175 名前:nobodyさん mailto:sage [2011/01/11(火) 23:32:17 ID:???]
そのエラーを貼り付けましょう

176 名前:nobodyさん [2011/01/11(火) 23:47:34 ID:EbNzEbCq]
ArgumentErrorとは言っているから、あとはどこで出たか、だな。
できればエラーを引き起こしたArgumentの値も欲しいが。


177 名前:174 mailto:sage [2011/01/11(火) 23:52:59 ID:???]
>>175
すみません
エラーメッセージは以下です。

invalid byte sequence in UTF-8

activesupport (3.0.3) lib/active_support/core_ext/object/blank.rb:68:in `=~'


rails new test
でアプリ作成後、

application_controller.rb

class ApplicationController < ActionController::Base
protect_from_forgery
def index
warn params[:key].force_encoding("UTF-8").blank?
end
end

root.rb

root :to=>"application#index"

を記述し、
127.0.0.1:3000/?key=%83e%83X%83g
で再現します。




178 名前:nobodyさん mailto:sage [2011/01/12(水) 01:01:58 ID:???]
内部的にsjisを使う
または表もutf-8にする

179 名前:nobodyさん [2011/01/12(水) 08:55:08 ID:PVfPMtkv]
force_encodingはバイト列はいじらない。
間違いなくUTF-8が入っているけどアプリにはそれがわからない
という場合に使う。
とりあえずparams[:key] と params[:key].encoding を出力してみれば?





180 名前:nobodyさん [2011/01/12(水) 10:58:19 ID:Jb3zJbvV]
RailsはUTF-8を受け取る前提でつくられたフレームワークなせいか、
paramsを組み立てる途中で強制的にUTF-8エンコーディング情報を
付けてしまう(ActionDispatch::Http::Parameters)。

とりあえずは
key = params[:key].encode('UTF-8', 'Shift_JIS')
みたいにエンコードし直すのが手っ取り早い。


181 名前:nobodyさん mailto:sage [2011/01/12(水) 15:26:13 ID:???]
railsで特定のgemやpluginのmethodをoverrideしたいときはどうすれば良いでしょうか?
initializers配下で overrideの定義を書いたファイルをrequireするやり方だと、上手くいきません。
(initializers配下のファイルが読み込まれたあと、pluginのファイルが読み込まれるため?)

182 名前:nobodyさん mailto:sage [2011/01/12(水) 16:21:53 ID:???]
application.rbのconfig.after_initializeブロックの中でrequireすれば?

183 名前:158 [2011/01/12(水) 17:18:42 ID:gnHL4Y+W]
>168
www-jp.mysql.com/downloads/mysql/のサイトから
MySQL Community Server 5.5.8のMac OS X ver. 10.6 (x86, 64-bit), DMG Archiveをダウンロードしました。

>170
portで入れた方がいいんですか。
アドバイスありがとうございます。

184 名前:nobodyさん mailto:sage [2011/01/12(水) 17:29:17 ID:???]
>>183
あとはrubyのバージョンとrubyをどうやって入れたか。
同じような環境(mysqlはバイナリインストール、rubyはソースからインストール)だけど、全く問題出てないので。


185 名前:158 [2011/01/12(水) 18:35:35 ID:gnHL4Y+W]
>183
ruby1はmacにもともと入ってやつでバージョンは1.8.7です。

186 名前:nobodyさん [2011/01/12(水) 18:54:35 ID:Jb3zJbvV]
(OS付属の)ユニバーサルバイナリのRubyと
そうでないMysqlのライブラリって一緒に使えるのかな。


187 名前:158 [2011/01/12(水) 18:57:44 ID:gnHL4Y+W]
まさかのそういう問題なのかorz
一から入れ直してみようと思います。
みなさまいろいろ親切にありがとうございました!

188 名前:nobodyさん mailto:sage [2011/01/12(水) 22:10:57 ID:???]
>>182
返答ありがとうございます。
しかし、after_initializeの中でrequireしてもダメのようです。
困った。。。

ttp://stackoverflow.com/questions/4412018/rails-devise-how-to-render-login-page-without-a-layout
ここにあるAnswerの subclass を作るやり方のようにやりたいのですが。。。

189 名前:nobodyさん [2011/01/12(水) 22:53:11 ID:PVfPMtkv]
オーバーライドを行うファイルの先頭で、置き換えたい定義の入っている
ファイルをrequireしてしまってもダメ?




190 名前:nobodyさん mailto:sage [2011/01/13(木) 11:04:43 ID:???]
>>189
いけました! ありがとうございます!!

191 名前:nobodyさん mailto:sage [2011/01/13(木) 12:58:25 ID:???]
>>178-180
回答ありがとうございました。
結局一日調べて
actionpack-3.0.3/lib/action_dispatch/http/parameters.rb
74行目付近に
when String
value=NKF.nkf("-w",value)
value=value.force_encoding(Encoding::UTF_8) if
value.respond_to?(:force_encoding)
を追加したものを用意することで対応できました。

192 名前:nobodyさん [2011/01/14(金) 13:18:07 ID:BgLvsnps]
ruby 1.9.2p0 (2010-08-18) [i386-mingw32]、Rails 2.3.8を使ってます。
scaffoldを使ってモデルを作成した際、new.html.erbのform_forのtext_fieldに日本語を入力すると
incompatible character encodings: UTF-8 and ASCII-8BIT
というエラーが出ていました。
これはshow.html.erb、index.html.erbで.force_encoding 'UTF-8'としてエンコーディングすることで解決しました。
しかしながらフォームから値を入力する際に日本語を入力すると表示はできるのですが編集しようとした際にエラーが出ます。

Encoding::CompatibilityError in Events#edit
Showing app/views/events/edit.html.erb where line #13 raised:

incompatible character encodings: UTF-8 and ASCII-8BIT

Extracted source (around line #13):

10: <p>
11: <%= f.label :イベント名 %><br />
12: <%= f.text_area :event %>
13: </p>
14: <p>
15: <%= f.label :イベントの種類 %><br />
16: <%= f.text_field :subject %>

このような場合、どのような処理を行えばこのエラーは取れますか?


193 名前:nobodyさん mailto:sage [2011/01/14(金) 13:55:11 ID:???]
2.3系は1.9系の対応が不完全とアナウンスされていたような
きりないから、可能ならRails3.0.3にするかRuby1.8.7に変更した方がいいよ

194 名前:nobodyさん mailto:sage [2011/01/14(金) 14:03:41 ID:???]
そのviewファイルはutf8になってるの?
あと、htmlの指定でもutf8になってるんだろうか。
sjisが入力されてるような気がする

195 名前:nobodyさん [2011/01/14(金) 14:13:12 ID:BgLvsnps]
>>193
なるほど…。
やっぱりそこを変えたほうがいいのですね。

>>194
両方utf8になっていると思われます。

196 名前:nobodyさん mailto:sage [2011/01/14(金) 22:23:10 ID:???]
post と tag が多対多のとき group が邪魔です
Post.joins(:tags).where(['tags.name like ?', params[:q]]).group('post.id')

197 名前:nobodyさん mailto:sage [2011/01/14(金) 22:25:58 ID:???]
で?

198 名前:nobodyさん mailto:sage [2011/01/15(土) 00:23:08 ID:???]
しかもlikeとかw

199 名前:nobodyさん mailto:sage [2011/01/15(土) 08:49:55 ID:???]
たぶんこういうことだろう
post = Post.new(:title => 'あい')
post.tags.build(:name => '純愛')
post.tags.build(:name => '恋愛')
post.save

Post.joins(:tags).where(['tags.name like ?', '%愛%']) #=> 「あい」が2つ出る



200 名前:192 [2011/01/17(月) 00:57:31 ID:eCmWyBLt]
192で2.3系は1.9系の対応が不完全とアナウンスされていたから
Rails3.0.3にするかRuby1.8.7に変更した方がいいとアドバイスをもらったものです。

Railsを1.9.2でという約束なのでRailsのバージョンを変えました。
現在の環境はOSはWindows7で
ruby 1.9.2p0 (2010-08-18) [i386-mingw32],rails 3.0.3です。

form_forを使ってDBに値を格納し、index.html.erbやshow.html.erbで表示をすると
値がおかしいです。と、いいますのも、MySQLでselect文を使って表示してみると
きちんと、time型はtime型で、text型はtextで格納されているのですが
controllerで@event = Event.find(params[:id])とし、showやindexで <%=h @event.e_start %>
(e_startはtime型です)とするとfloat型の数値が表示され、text型のe_commmentを表示しようとすると
int型の0が表示されます。

原因がわからず困ってます。誰か知恵をください。お願いします。


201 名前:nobodyさん mailto:sage [2011/01/17(月) 01:10:44 ID:???]
ちなみに3系では <%=h の「h」はいらない
デフォルトでエスケープされる

mysqlのライブラリがおかしいとかじゃないのか?
ちゃんとmysql2使ってる?

202 名前:192 [2011/01/17(月) 03:47:43 ID:eCmWyBLt]
>>201
<%=h の「h」いらないんですね!自分何も知らなさすぎるorz

mysql2使ってます!

203 名前:nobodyさん mailto:sage [2011/01/17(月) 23:38:18 ID:???]
windowsについての質問って今までほとんど解決してないんだよなあ
ここにいる人のほとんどが使ってないだろうから
というわけで俺も力になれません

204 名前:nobodyさん mailto:sage [2011/01/17(月) 23:48:34 ID:???]
普通に使ってるが。
mysql2はdevkitが必要だと思うが入れたのか?
前にも書いたし勝手に解決してないことにするなよ。

205 名前:nobodyさん mailto:sage [2011/01/18(火) 19:11:55 ID:???]
AR で human sort って出来ますか?
データに関してはRDBに丸投げですか?

206 名前:nobodyさん mailto:sage [2011/01/20(木) 01:29:44 ID:???]
RoRはぶっちゃけもう終わったと思います。

207 名前:nobodyさん mailto:sage [2011/01/20(木) 02:19:35 ID:???]
始まってもいなかった

208 名前:nobodyさん mailto:sage [2011/01/20(木) 17:05:05 ID:???]
PHPフレームワークを使う → やっぱり優秀ではなかった → RoRを使う → やっぱりダメだった

→ Tomcat+javaにしてみた → これが正解だと思った

209 名前:nobodyさん [2011/01/20(木) 17:16:00 ID:SSKhJITE]
JavaからRubyへ ―マネージャのための実践移行ガイド
www.amazon.co.jp/gp/product/4873113202





210 名前:nobodyさん mailto:sage [2011/01/20(木) 17:16:13 ID:???]
Tomcatはフレームワークではなく、ソフトウェアの名前。
これに相当するのはRailsで言えばPassenger。

多少でも分かっていれば、こんなバカな間違いはしない。
またいつも荒らしてる勉強会の出席者?

211 名前:nobodyさん mailto:sage [2011/01/20(木) 17:30:50 ID:???]
ひょっとこしてアスペ?

212 名前:nobodyさん mailto:sage [2011/01/20(木) 17:57:49 ID:???]
そういえばぽろっとバレたやつがいたな

213 名前:nobodyさん mailto:sage [2011/01/21(金) 04:07:57 ID:???]
最近のJavaのフレームワークってどんな感じになってるの?

214 名前:nobodyさん mailto:sage [2011/01/21(金) 07:36:26 ID:???]
ここはrailsスレだよ、あんぽんたん

215 名前:nobodyさん mailto:sage [2011/01/21(金) 08:33:12 ID:???]
JRuby on Rails

216 名前:nobodyさん mailto:sage [2011/01/21(金) 12:46:05 ID:???]
それが次の勉強会のテーマ?

217 名前:nobodyさん [2011/01/22(土) 03:04:07 ID:a6Nv7f5X]
status.heroku.com.zurukko.jp/incident/115

218 名前:nobodyさん mailto:sage [2011/01/23(日) 12:04:05 ID:???]
ここはSQLチューングは上級者テクニックだと思ってる
低脳ばかりだからしょうがないよ^^

たとえばMySQLならexplainで実行計画を確認するのは
初心者が一番初めに覚えるべき基本だろ。

基本をはずしたヤツが開発したWebアプリはサイトがヒットした瞬間、
「トップページも表示されません」「今日は売り上げがゼロでした」という
間抜けなことになる(笑

こんなこと言っても、ここの連中には馬の耳に念仏だろうけどね(笑
まぁ 生まれつき低脳だから仕方ない^^

なんていうか、向上心が無い。知識が狭くて浅いが、本人には自覚が無いのでたちが悪い。

219 名前:nobodyさん mailto:sage [2011/01/23(日) 12:54:43 ID:???]
いきなりどうした
ママに怒られたか



220 名前:nobodyさん mailto:sage [2011/01/23(日) 20:39:24 ID:???]
どんな高級言語やフレームワークを使おうとも、その裏でどういうロジックで動いているかを
考えるのは当たり前のこと
Rails で間抜けな SQL を発行している人間は Java を使っても間抜けなコーディングになるだけ

221 名前:nobodyさん mailto:sage [2011/01/23(日) 21:03:33 ID:???]
SQL で間抜けな filesort を発行している人間は COBL を使っても間抜けなコーディングになるだけ

222 名前:nobodyさん mailto:sage [2011/01/24(月) 00:32:29 ID:???]
create_table :hoges do |t|
t.text :data
end

class Hoge < ActiveRecord::Base
def hoge
puts "*A* data = #{data.inspect}"
data = "fuga" if false
puts "*B* data = #{data.inspect}"
end
end

Hoge.create!(:data => "hoge")

で Hoge.first.hoge すると
*A* data = "hoge"
*B* data = nil
となるのは、なぜ? 両方 "hoge" になるべきだと思うんだけど。
Rails 3.0.3 + Ruby 1.9.0p0 でも Rails 2.3.5 + Ruby 1.8.7 でも同様。


223 名前:nobodyさん mailto:sage [2011/01/24(月) 00:57:19 ID:???]
君が同名のローカル変数を作ってしまったからだ
Rails関係ないから初心者スレに行くといい

224 名前:nobodyさん mailto:sage [2011/01/24(月) 04:21:21 ID:???]
あう、if false な状況でもローカル変数が作られるとはまったく想像もしてなかった。


225 名前:nobodyさん mailto:sage [2011/01/24(月) 08:21:35 ID:???]
代入メソッドはself使えってMatzがいつも言ってるだろ

226 名前:nobodyさん mailto:sage [2011/01/24(月) 16:22:48 ID:???]
require 'rubygems'
require 'active_support/all'
module M
def self.included(base)
base.class_eval do
class_inheritable_accessor :a
self.a = 1
end
end
end
p Class.new.send(:include, M).new.a # => 1
p Class.new{include M}.new.a # => nil ← !?

227 名前:nobodyさん mailto:sage [2011/01/24(月) 16:58:51 ID:???]

  初 心 者 ス レ に い け


228 名前:nobodyさん mailto:sage [2011/01/24(月) 17:10:48 ID:???]
p Class.new.instance_eval{include M}.new.a # => 1

229 名前:nobodyさん mailto:sage [2011/01/24(月) 17:19:15 ID:???]
>>226
1.9 だと 1 になるな



230 名前:nobodyさん mailto:sage [2011/01/25(火) 15:35:25 ID:???]
Memcachedベースのsesson_store を利用している場合に
session_id から session を復元する方法はありませんか?
(Rails3+Dalli です)

ActiveRecordベースの場合、以下のようにして復元できたのですが。。。
session = ActiveRecord::SessionStore::Session.find_by_session_id(session_id)

231 名前:nobodyさん [2011/01/25(火) 17:12:30 ID:yu47GaxV]
>>230

うちはまだ Dali でも Rails3 でもないけど、cache をストアに使っている
MemCache クラスのインスタンスだとすれば、cache["session:#{session_id}"]
で取れてる。
memcache上のキー自体は #{namespace}:session:#{session_id} になっている。


232 名前:230 mailto:sage [2011/01/25(火) 20:00:15 ID:???]
>>231
返答ありがとうございます。
以下のやり方でいけました。

session = Dalli::Client.new('localhost:11211').get("rack:session:#{session_id]}")

デシリアライズまで透過的にやってくれるのはありがたいのですが、
memcacheのクライアントをリクエストのたびに毎回生成してしまうやり方なので、
負荷的によろしくなさそうなのが何とも。何か良い方法はないものかな。

Rails.cache.fetch(session_id) とかで取れれば、楽なんですがねぇ。

233 名前:nobodyさん [2011/01/25(火) 20:44:25 ID:F3Uu324/]
ActionController::Base.session_options[:cache] あたりに
入ってなかった?


234 名前:230 mailto:sage [2011/01/25(火) 22:13:27 ID:???]
2.xまでは

CACHE = MemCache.new memcache_options
CACHE.servers = 'localhost:11211'
ActionController::Base.session_options[:expires] = 1800
ActionController::Base.session_options[:cache] = CACHE

という感じで、memcacheクライアントの実態が入っていたようです。
3.xからは、ActionController::Base.session_options が request.session_optionsに移動して
:cache もなくなってしまった感じっぽいです(Rails.cache?)。


235 名前:nobodyさん [2011/01/27(木) 02:20:28 ID:8vsS5446]
b.hatena.ne.jp/entry/japan.cnet.com/news/business/20425484/
【ネット/料理】「年内にクックパッド抜く」 楽天レシピ、急成長
toki.2ch.net/test/read.cgi/wildplus/1296032687/

236 名前:akiyan mailto:sage [2011/01/28(金) 23:35:53 ID:???]
cakePHPにできないことは無いし

237 名前:nobodyさん [2011/01/29(土) 02:50:04 ID:ioBbPtI8]
結局クックパッドは楽天レシピに抜かれる弱肉強食WEB - invizi
invizi.net/subject:58

[クックパッド][cookpad][ruby][rails][楽天]

238 名前:nobodyさん [2011/01/29(土) 02:51:19 ID:ioBbPtI8]
メディアの存続にとって必要なのは「金」か「カルチャー」か - invizi
invizi.net/subject:60

239 名前:nobodyさん mailto:sage [2011/01/29(土) 13:25:51 ID:???]
RailsでMySQLを使っているときのトランザクションについて教えてください。

Book.transaction do
処理1
処理2
end

このようなコードを書いた場合、
処理1と処理2がいずれも実行されるか、いずれも実行されないか
を保障するというのは理解できるのですが、
処理1と処理2の間に別プロセスがBookテーブルに変更を加えてしまうことはあり得ますか?

具体的には、Bookテーブルにcountというカラムがありまして
この本を保持する人の人数を保持しています。
ユーザーからのあるアクションによって、複数のbookのcountを更新する必要があるのですが、
Aさんが更新中にBさんが更新してしまうと整合性が取れなくなってしまう問題に当たっています。

この更新処理を上のコードのトランザクションで囲めば解決されるのでしょうか?



240 名前:nobodyさん mailto:sage [2011/01/29(土) 13:35:21 ID:???]
質問させてください。携帯サイトの開発をしています
rails3+jpmobile環境なのですが、jpmobileのconfig.jpmobile.mobile_filter をオンにした状態化で
swfファイルを send_file or send_data すると jpmobile のフィルタの影響で不正な swf ファイルが送信されてしまいます
なんとか、mobile_filter をオンにしつつ、正常な swf ファイルを送信する方法はないでしょうか?


241 名前:nobodyさん mailto:sage [2011/01/29(土) 14:10:00 ID:???]
railsの設定ではなくて、MySQLのトランザクションレベルによる。

ttp://dev.mysql.com/doc/refman/5.1/ja/innodb-transaction-isolation.html

InnoDB使ってるだろうから、デフォルトの REPEATABLE READ だと思われる。

結論からいうと、Bookテーブルは別のプロセスから変更を受けうる。
ただし、Bookテーブル内のロックされた行は
別プロセスから変更を受けないことが保証される。
テーブルレベルのロックと行レベルのロックの違いを汁。

Aさんが行1,2を更新している間は、Bさんは行1,2のコミットが終わるまでは、
UPDATEやDELETEはもちろん、SELECT文での読み取りも不可能になる。
ただし、Aさんがそのトランザクション中に更新しないとMySQLが判断した
行3なんかがあたとしたら、Bさんは行3に関しては読み取り・更新が出来る。

書き方が変だと、トランザクションはったつもりでも
レースコンディションが起こるので注意。
ttp://d.hatena.ne.jp/LukeSilvia/20100130/p1






[ 続きを読む ] / [ 携帯版 ]

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

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