【RoR】Ruby on Rails Part13
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2011/11/04(金) 17:06:24.32ID:???【Ruby】Ruby on Rails Part12
http://hibari.2ch.net/test/read.cgi/php/1311050686/
■参考サイト
<英語>
本家:http://rubyonrails.org
API document:http://api.rubyonrails.com/
開発者のblog:http://weblog.rubyonrails.org/
参考wiki:http://wiki.rubyonrails.org/rails
http://ruby-toolbox.com/
http://rubygems.org/
http://agilewebdevelopment.com/plugins/top_rated
<日本語>
Rails' wiki: http://wiki.fdiary.net/rails/
http://twitter.com/dhh
http://www.loudthinking.com/
0039nobodyさん
2011/11/07(月) 11:06:35.57ID:???0040nobodyさん
2011/11/07(月) 11:08:37.00ID:???そういう記事を○○円で書く仕事みたいのよく募集してるよ
質問者が運営者だろ。さりげなくURLを貼ったつもりだろうけど
0041nobodyさん
2011/11/07(月) 11:20:31.53ID:???CookieStoreに保存しても平気でしょうか?
session[:user] = User.find(1)
それともユーザー名やIDのみ保存すべきでしょうか?
session[:name] = User.find(1).name
0042nobodyさん
2011/11/07(月) 11:24:28.96ID:???0043nobodyさん
2011/11/07(月) 12:03:38.46ID:???キャッシュしたいという事かな。
オブジェクト入れるのはやめときな。
Railsってあまりクッキー使わないよね。
0044nobodyさん
2011/11/07(月) 12:29:00.48ID:???前回表示日時をクッキーに入れたりしたことはあるな。
0045nobodyさん
2011/11/07(月) 12:38:37.39ID:???0046nobodyさん
2011/11/07(月) 12:49:53.59ID:???0047nobodyさん
2011/11/07(月) 13:30:26.20ID:???0048nobodyさん
2011/11/07(月) 14:38:22.93ID:???cookieにセッションIDだけ入ってセッション情報はDBに入るだろ
0049nobodyさん
2011/11/07(月) 16:20:14.66ID:???どういうことか分からないままデフォルトで運用する奴はうんこちんちん
0050nobodyさん
2011/11/07(月) 17:38:13.27ID:???暗号鍵は十分長いからサーバーがクラッキングされない限り復号はできないだろ
DBにアクセスするより軽いし
普通は入らないが
0051nobodyさん
2011/11/07(月) 18:06:27.59ID:???その他はdb storeで。
0052nobodyさん
2011/11/07(月) 18:32:25.52ID:???0053nobodyさん
2011/11/07(月) 20:24:06.72ID:???0054nobodyさん
2011/11/07(月) 20:38:24.97ID:???0055nobodyさん
2011/11/07(月) 21:30:33.88ID:yd1Vl5Rt0056nobodyさん
2011/11/07(月) 22:49:12.20ID:???gem install railsってすると cannot load such file -- zlibって怒られるし、
じゃあ~/.rvm/src/ruby-1.9.3-p0/ext/zlibまで潜ってruby extconf.rb実行すると
checking for deflateReset() in -lz... no
checking for deflateReset() in -llibz... no
checking for deflateReset() in -lzlib1... no
checking for deflateReset() in -lzlib... no
checking for deflateReset() in -lzdll... no
こんな風に5回連続で怒る。
mkmf.logっていうファイルが更新されているんで、見てみるけど
「‘deflateReset’ が宣言されていません 」とか書いてるだけ。何者よこれ
0057nobodyさん
2011/11/07(月) 22:56:00.69ID:???パッケージマネージャとか何つかってるのかわからんけど
zlib インストールしろよ。
0058nobodyさん
2011/11/08(火) 00:41:35.66ID:???http://www.publickey1.jp/blog/11/amazon_ec2_2.html
0059nobodyさん
2011/11/08(火) 01:53:53.54ID:???0061nobodyさん
2011/11/08(火) 07:07:34.93ID:???ああ、zlib.hがないんだろうと思って、$HOME/src/zlib-1.2.5に展開してはいるんだよ。
どうやって読み込ませるんだろうねこれ。
ちなみにパッケージ管理はaptitudeを使ってるんだけど、これにzlibなんてパッケージはなさそうだな。
0062nobodyさん
2011/11/08(火) 07:50:49.04ID:???最初の「require 'rbconfig'」でfalseが返ってた。これって標準添付のライブラリじゃないの?
gem install rbconfig実行しようにも、やっぱりzlibがないから使えないし・・・
0063nobodyさん
2011/11/08(火) 08:00:43.75ID:???0065nobodyさん
2011/11/08(火) 08:08:40.70ID:???ubuntuだとlibz-devかzlib1g-dev
0066nobodyさん
2011/11/08(火) 08:29:51.14ID:TcZAbBs10067nobodyさん
2011/11/08(火) 10:27:47.89ID:???0068nobodyさん
2011/11/08(火) 11:33:36.88ID:???0069nobodyさん
2011/11/08(火) 12:06:22.51ID:???0070nobodyさん
2011/11/08(火) 13:00:36.22ID:???入れてからもruby知らなきゃ無理だしな。
とりあえず、scaffoldから説明するwebやsiteは糞
0071nobodyさん
2011/11/08(火) 13:03:25.25ID:???007241
2011/11/08(火) 13:43:43.59ID:???session[:user].name とか書きたかっただけで深い理由はありません。
ユーザー名だけ入れておく事にします。
0073nobodyさん
2011/11/08(火) 14:00:40.10ID:???webの情報なんてほとんど善意のボランティア的なものなんだから、きちんと学びたければ本買えよ。
railsのサイトでrubyの情報も掲載するより、rubyはrubyのサイトに行ってもらった方がやること重複しなくていいだろ。
技術系のエントリ書くの結構大変なんだぞ。
あと scaffoldは基本を抑えるのに必要。最初は生成されたコードを読んどいた方が良い。
実務ではあまり使わないが。
0074nobodyさん
2011/11/08(火) 14:03:54.96ID:???一部のモデルでしか使わないような、Web API の結果をちょこっと入れておくだけのクラスとかなんかも
lib ディレクトリに入れるのが作法なんでしょうか?
0075nobodyさん
2011/11/08(火) 14:07:25.90ID:???ニートの癖にwwww
おれ?
学生ニート
0076nobodyさん
2011/11/08(火) 14:10:38.42ID:???>rubyはrubyのサイトに行ってもらった方がやること重複しなくていいだろ
日本語から勉強したら?w
0077nobodyさん
2011/11/08(火) 14:15:12.98ID:???根性の曲がり腐った性格の連中ばかりだな
rails使い=こんな奴らばかりなん?
他のfwスレはほのぼのしてて羨ましい。ここは殺伐しすぎ。
0078nobodyさん
2011/11/08(火) 14:20:16.53ID:???0080nobodyさん
2011/11/08(火) 14:22:41.26ID:???0081nobodyさん
2011/11/08(火) 14:37:34.97ID:???震災以降リモートの仕事増えたのは良い事だと思う。sshの鍵あればどこでも仕事できるし。
0082nobodyさん
2011/11/08(火) 14:42:53.51ID:???0084nobodyさん
2011/11/08(火) 21:22:37.56ID:???ビンゴ!zlib1g-devでできたよー!ありがとー!
最初から手順まとめるとこんな感じ。
bash < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)
source ~/.zshrc
rvm install 1.9.3
sudo aptitude install zlib1g-dev
cd ~./rvm/src/ruby-1.9.3-p0/ext/zlib
ruby extconf.rb
make
make install
gem install rails
sudo aptitude install sqlite3
sudo aptitude install libsqlite3-dev
rvmの手順を端折るともうちょっと易しくなるかも。
でもこれでもwindows環境に比べればだいぶ躓かない方だよな。
native拡張が鬼門だと感じた。
0085nobodyさん
2011/11/08(火) 21:42:12.98ID:???0086nobodyさん
2011/11/08(火) 22:22:18.44ID:???0087nobodyさん
2011/11/08(火) 22:25:58.48ID:???rails g scaffold .... とかのコマンドを実行すると、
Could not find a JavaScript runtime.
See https://github.com/sstephenson/execjs
for a list of available runtimes. (ExecJS::RuntimeUnavailable)
って言って怒られる。
これを回避するには、rails new で作ったフォルダ直下にある
「GemFile」フォルダを編集して、
gem 'execjs'
gem 'therubyracer'
っていう行2つを追記、その後
「bundle install」コマンドを実行するとよい。
でもその後scaffoldするとやっぱり「cannot load such file -- openssl 」っていうメッセージで怒られる。
sudo aptitude install libssl-devでも解決しないため、今回は様子が違うのかも。
0088nobodyさん
2011/11/08(火) 22:37:31.47ID:???sudo aptitude install libssl-dev
cd ~/.rvm/src/ruby-1.9.3-p0/ext/openssl
ruby extconf.rb --with-openssl-include=/usr/include --with-openssl-lib=/usr/lib
make all
make install
これでOK。
zlibの時は
ruby extconf.rb
make
make install
だけだったんで、何らかのオプションが必要だったのがわからんかった。
0089nobodyさん
2011/11/08(火) 22:38:48.46ID:???多分そこクリアすればあとは何事もなく rails s 出来るはず。
あと gem 'execjs' はいらんかったと思うぞ。
自分はいちいち gemfile 編集するのめんどくさかったので node.js をインストールしたわ。
0091nobodyさん
2011/11/08(火) 23:21:40.05ID:fvm2Nfle以下のようなspecをテストしたとします
before{ @player = Player.find(1) }
describe "レベルアップをすると、" do
before { @player.levelup! }
it "HPがレベルに応じて上昇している" { @player.max_hp.should==100 }
it "MPがレベルに応じて上昇している" { @player.max_mp.should==30 }
it "攻撃力がレベルに応じて上昇している" { @player.attack.should==30 }
it "防御力がレベルに応じて上昇している" { @player.defense.should==30 }
end
これって展開すると次のように動いてテストがされているのですがはっきりいって
殺意の湧くほど冗長ではないでしょうか?
before{ @player = Player.find(1) }
before{ @player.levelup! }
it "HPがレベルに応じて上昇している" { @player.max_hp.should==100 }
before{ @player = Player.find(1) }
before{ @player.levelup! }
it "MPがレベルに応じて上昇している" { @player.max_mp.should==30 }
before{ @player = Player.find(1) }
before{ @player.levelup! }
it "攻撃力がレベルに応じて上昇している" { @player.attack.should==30 }
before{ @player = Player.find(1) }
before{ @player.levelup! }
it "防御力がレベルに応じて上昇している" { @player.defense.should==30 }
正直、levelup!メソッドは1回だけ呼んでくれるようにRSpecに新しい書式が入れば
実効速度が劇的に上がるのですが
何方か興味あって作業とかする気ありませんか?
0093nobodyさん
2011/11/08(火) 23:43:23.37ID:w7mXyzqt自分は、オープンクラス系のファイルの置き場や
プロジェクトの共通関数的なクラス,モジュールの置き場にしてる。
他のRailsプロジェクトのlib配下の使い方を見てみるといいよ
009491
2011/11/08(火) 23:43:54.67ID:fvm2Nfle0095nobodyさん
2011/11/09(水) 02:42:58.80ID:???おれもGemfileいちいちいじるのが面倒なんだけど
rails newで自動的にgemfileに書き込んでくれる設定にできないのかな?
0097nobodyさん
2011/11/09(水) 03:18:32.57ID:???親切な人が教えてくれると思う
0098nobodyさん
2011/11/09(水) 03:55:21.99ID:???辞書を引きながらしてでも
英語すら分からない教えて君は
このスレに来なければいい。
それで万事解決。
0099nobodyさん
2011/11/09(水) 06:53:18.55ID:???次スレ立てるときにテンプレにそう書いてもらうように相談するか
別スレ立てて数人だけで話すればいいんじゃね?
今ココでやる話じゃねえだろ
0100nobodyさん
2011/11/09(水) 08:33:23.00ID:???0101nobodyさん
2011/11/09(水) 08:39:05.48ID:CM+TyzJl0103nobodyさん
2011/11/09(水) 21:05:09.77ID:???http://www.devsite.jankh.net/rurailserr.html
0104nobodyさん
2011/11/10(木) 01:41:10.32ID:???http://devcenter.heroku.com/articles/pgbackups
http://herocutter.heroku.com/
https://github.com/edavis10/heroku_s3_backup
https://github.com/ddollar/heroku-autoscale
https://rubygems.org/gems/heroku-resque-auto-scale
https://www.heroscale.com/
http://hirefireapp.com/
https://github.com/pcapr/dyno-blitzer
https://github.com/ddollar/heroku_backup_task
https://github.com/ddollar/heroku-accounts
https://github.com/ddollar/heroku-sql-console
0105nobodyさん
2011/11/11(金) 18:37:13.43ID:???http://www.s3fox.net/
https://addons.mozilla.org/ja/firefox/addon/amazon-s3-organizers3fox/
https://github.com/edavis10/heroku_s3_backup
Amazon EC2/S3で作るWindows公開サーバ(後編) − @IT
http://www.atmarkit.co.jp/fwin2k/operation/aec2s3_2/aec2s3_2_02.html
S3Foxの画面
ローカル・マシンとAmazon S3間のファイル転送や、Amazon S3の各種設定が行える。
http://www.atmarkit.co.jp/fwin2k/operation/aec2s3_2/scr11_03.gif
Amazon S3を使いこなしてみよう 〜Amazon EC2/S3環境構築のすべて〜(2/3):CodeZine
http://codezine.jp/article/detail/3232?p=2
0106nobodyさん
2011/11/11(金) 21:05:09.67ID:???Factory Girlでデータを作ってもブラウザからアクセスする前にデータベースがロールバックされてしまいます。
Factory Girlのロールバックのタイミングなどをこちらから指定するようなことはできないのでしょうか。
0107nobodyさん
2011/11/11(金) 23:50:04.15ID:???http://railscasts.com/episodes/257-request-specs-and-capybara?view=asciicast
まさにこちらで最後に書いてある状況であれば、
spec/spec_helper.rb 内で
config.use_transactional_fixtures = false
した上で、database_cleanerを使ったりするとよいらしいです。
0109nobodyさん
2011/11/12(土) 00:38:41.61ID:iTYein4A0110nobodyさん
2011/11/12(土) 04:27:22.47ID:???http://aws.typepad.com/aws_japan/2011/07/introducing-the-aws-sdk-for-ruby.html
https://github.com/amazonwebservices/aws-sdk-for-ruby
https://github.com/amazonwebservices/aws-sdk-for-ruby/blob/master/samples/samples_config.rb
https://github.com/amazonwebservices/aws-sdk-for-ruby/blob/master/samples/s3/upload_file.rb
https://github.com/amazonwebservices/aws-sdk-for-ruby/blob/master/samples/ec2/run_instance.rb
http://aws.amazon.com/jp/sdkforruby/
0111nobodyさん
2011/11/12(土) 12:51:15.39ID:???返信ありがとうございます
Factory Girl 自身でなんとかできれば嬉しかったのですが厳しそうですかね
before :all で生成するとロールバックされないという仕様なのかよくわからない
現象を利用してテストしていました
0112nobodyさん
2011/11/12(土) 21:48:46.27ID:???http://devcenter.heroku.com/articles/s3
http://aws-portal.amazon.com/gp/aws/developer/account/index.html?action=access-key
http://s3swfuploader.heroku.com/
http://www.labnol.org/internet/tools/amazon-s3-buckets-tutorial/3890/
0113nobodyさん
2011/11/13(日) 05:08:53.99ID:???http://docs.amazonwebservices.com/AWSRubySDK/latest/_index.html
http://docs.amazonwebservices.com/AWSRubySDK/latest/AWS/S3.html
http://docs.amazonwebservices.com/AWSRubySDK/latest/AWS/EC2.html
http://docs.amazonwebservices.com/AWSRubySDK/latest/AWS/SimpleDB.html
0114nobodyさん
2011/11/13(日) 05:47:22.20ID:???:access_key_id => 'YOUR_ACCESS_KEY_ID',
:secret_access_key => 'YOUR_SECRET_ACCESS_KEY')
Reading and Writing to S3
Each object in a bucket has a unique key.
photo = s3.buckets['mybucket'].objects['photo.jpg']
Writing to an S3Object:
photo.write(File.read('/some/photo.jpg'))
Reading from an S3Object:
File.open("/some/path/on/disk.jpg", "w") do |f|
f.write(photo.read)
end
http://docs.amazonwebservices.com/AWSRubySDK/latest/AWS/S3.html
http://aws-portal.amazon.com/gp/aws/developer/account/index.html?action=access-key
https://github.com/amazonwebservices/aws-sdk-for-ruby
http://aws-portal.amazon.com/gp/aws/developer/account/index.html?action=access-key
https://addons.mozilla.org/ja/firefox/addon/amazon-s3-organizers3fox/
0115nobodyさん
2011/11/13(日) 20:51:21.27ID:???http://doruby.kbmj.com/yoppi_on_rails/20111026/Amazon_S3_
0116nobodyさん
2011/11/14(月) 01:15:38.48ID:???http://docs.amazonwebservices.com/AWSRubySDK/latest/AWS/S3/MultipartUpload.html
http://docs.amazonwebservices.com/AWSRubySDK/latest/AWS/S3/Policy/Statement.html
http://docs.amazonwebservices.com/AWSRubySDK/latest/AWS/S3/UploadedPartCollection.html
0117nobodyさん
2011/11/14(月) 09:38:52.04ID:???0118nobodyさん
2011/11/14(月) 17:27:42.54ID:???まあ、備忘録要素が含まれることはあるかもしれんが、基本は皆ににみてほしいんじゃろ
0119nobodyさん
2011/11/14(月) 18:59:18.73ID:???CakePHPとかはバージョンだけ合わせて
ファイル群を置きさえすれば動く
railsはいちいち全ての環境を自分で整えないといけないし
一般の共有レンタルサーバーでは使えないから
あまり利点が見いだせない
0120nobodyさん
2011/11/14(月) 19:04:18.57ID:JGw7uxZH今回大幅にサイトのURL構成が変わりました
前のURLが
abc.com/flash/xxxx.swf
だったところを
player.abc.com/xxx.swf
にしました
そこで、routeで
matcg "/flash/xxx.swf" => "output#hoge"
def hoge
send_filr( xxx.swf )
end
としてみましたが、ダウンロードは出来るのですが外部から読み込むことが出来ません(URLではswfのダウンロードが始まります)
routeで画像やFlash等のファイルにリダイレクトすることは不可能でしょうか?
その場合、Apacheのhttpで行うのが自然でしょうか?
わかりづらい質問で申し訳ないですがよろしくお願いします
0121nobodyさん
2011/11/14(月) 19:13:09.07ID:???オブジェクト指向ですんなり書ける
CakePHPはActiveRecordがなぁ…
戻り値が配列ってのが俺はどうしても気に入らん
0123nobodyさん
2011/11/14(月) 20:01:30.49ID:???趣味の問題と考えても問題ないかもな。
俺は宗教上の理由でPHPは書けないからDjangoかRailsかの選択になった
0124nobodyさん
2011/11/14(月) 21:15:18.55ID:???CakePHP の Array 地獄は PHPer には平気なんだろうか?
慣れなのか悟りなのか…
Rubyist からすればアレはないわと思うもんだけど
0126125
2011/11/14(月) 22:39:51.78ID:???お望みのリダイレクトじゃないけど、send_fileにさっき書いたオプション付けたらダウンロードはされないはず
0127nobodyさん
2011/11/16(水) 12:47:21.88ID:???http://hobocentral.net/blog/2011/11/15/hobo-1-3-released/
0128nobodyさん
2011/11/16(水) 23:25:49.85ID:???うまい方法を知っていたら教えてもらえんだろうか。
例えばlengthバリデーションでmaximumにレコードのlimit_lengthの値を使って制限をかけたいとき
:ifオプションの真似事ができないかと下記のようにしても(当然)ProcとFixnumは比較できんと怒られた。
# 失敗例1
class Person < ActiveRecord::Base
validates :name, :length => {maximum: ->x{x.limit_length}}
end
特異メソッドでバリデート直前に動的にバリデートを押し込むとうまくいったように見えたが
同じインスタンスに対してvalid?を複数回実行すると同一のバリデーションが増殖していってしまう不具合が出た。
# 失敗例2
class Person < ActiveRecord::Base
before_validation do
c = class << self;self;end
c.validates :name, :length => {maximum: self.limit_length}
end
end
情けないことにこれで手が尽きてしまった
0129nobodyさん
2011/11/16(水) 23:51:29.66ID:j4fL3UJx(after_find と after_initialize)で押し込んだらどうだろう。
0130nobodyさん
2011/11/17(木) 05:46:26.03ID:???http://stackoverflow.com/questions/7056164/large-file-upload-to-amazon-s3-failing-after-30-second-limit-set-by-heroku
https://github.com/elc/s3-swf-upload-plugin
https://github.com/GreenAsJade/s3-swf-upload-plugin
https://github.com/iwasrobbed/Rails3-S3-Uploader-FancyUploader
https://github.com/iwasrobbed/Rails3-S3-Uploader-Plupload
http://www.railstoolkit.com/posts/fancyupload-amazon-s3-uploader-with-paperclip
http://blog.assimov.net/post/4306595758/multi-file-upload-with-uploadify-and-carrierwave-on
http://stackoverflow.com/questions/7399238/uploads-silently-failing-pausing-with-new-carrierwave-direct-gem-when-uploading
https://github.com/dwilkie/carrierwave_direct
http://groups.google.com/group/heroku/browse_thread/thread/51bc6328db300344
0131nobodyさん
2011/11/17(木) 06:49:09.61ID:???app/helpers/uploads_helper.rb at master from ncri/Rails-S3-Uploader-Example - GitHub
https://github.com/ncri/Rails-S3-Uploader-Example/blob/master/app/helpers/uploads_helper.rb
Simple File Upload to Amazon S3 From Ruby
http://www.rubyinside.com/simple-file-upload-to-amazon-s3-from-ruby-313.html
Uploading directly to Amazon S3 from a Rails application | blog.andrewbruce.net
http://blog.andrewbruce.net/upload-direct-to-amazon-s3-from-rails
0132nobodyさん
2011/11/17(木) 09:39:48.99ID:???https://github.com/mwilliams/d2s3
0133nobodyさん
2011/11/17(木) 09:49:11.41ID:???0134nobodyさん
2011/11/17(木) 10:45:56.15ID:???な感じで config/initializers/ 内で active model にパッチあてて使ってる。
けど正しいのか不安なところが色々
0135nobodyさん
2011/11/17(木) 13:58:45.55ID:???viewで <%= @a %>をつかうと hellovereyoneとなってしまんですが
["hello", "everyone"]のように表示させることはできますか?
0137nobodyさん
2011/11/17(木) 15:33:32.74ID:???■ このスレッドは過去ログ倉庫に格納されています