【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/
0002nobodyさん
2011/11/04(金) 17:11:44.83ID:???Ruby 初心者スレッド Part 46
http://hibari.2ch.net/test/read.cgi/tech/1317790320/
Rubyについて(アンチ専用) Part004
http://hibari.2ch.net/test/read.cgi/tech/1249737531/
Rubyについて Part 45
http://hibari.2ch.net/test/read.cgi/tech/1317639700/
[PHP][フレームワーク]CodeIgniter Part2
http://hibari.2ch.net/test/read.cgi/php/1299595202/
Zend Framework Part5
http://hibari.2ch.net/test/read.cgi/php/1297364669/
0003nobodyさん
2011/11/04(金) 17:11:58.02ID:???0004nobodyさん
2011/11/04(金) 17:14:18.67ID:???http://rurema.clear-code.com/
Rubyist Magazine - るびま
http://jp.rubyist.net/magazine/
逆引きRuby
http://www.namaraii.com/rubytips/
0005nobodyさん
2011/11/04(金) 20:02:26.80ID:???0006nobodyさん
2011/11/04(金) 20:25:48.98ID:???皆様へのお願い
このスレッドは高次機能障害をもたらす
病理の臨床実験のために立てたものです。
被験者と研究員のやり取りに使うため、
書き込み等は自重されるようお願いいたします。
もし、書き込み等をすることで不愉快な思いをされましても、
当研究所は責を負いかねます。
(社)京都微生物研究所
0007nobodyさん
2011/11/05(土) 00:01:44.07ID:???0010nobodyさん
2011/11/05(土) 10:47:38.76ID:???form_forの中に更新前のデータが記録されています。
キャッシュだとおもうんですが、簡単にフォーム内に残されたデータを
消す方法ってありますか?
よろしくお願いします。
0011nobodyさん
2011/11/05(土) 12:35:05.83ID:???簡単な方法だと履歴を消すという手はあるが。
0012nobodyさん
2011/11/05(土) 12:56:26.67ID:???例として、このレスの下のフォームで書き込むボタンを押した後、このページに
自動的に遷移してくると、書き込む前の内容が残されてる感じです。
だから、間違って書き込むを連打すると、validationが働かず、同じような
ものが何度でも連続して作られてしまう感じです。
うーん、なんとかならないのか・・・
expire_pageとかあるみたいだけど、よくわかんないです。
0013nobodyさん
2011/11/05(土) 13:09:16.49ID:???自分でそう書かない限り、そうならないので。
0014nobodyさん
2011/11/05(土) 13:15:44.94ID:???0015nobodyさん
2011/11/05(土) 14:20:07.01ID:bMCYQ4Ak移動させようと作業しているのですが
gemの中のrakeタスクを認識させる方法がわかりません
どなたかヒントを頂ければ幸いです
0016nobodyさん
2011/11/05(土) 14:34:57.70ID:???単にcreateのメソッドを使った後、もとのページにrender で指定しているだけです。
つまりform_forのアクションがcreate
def create
処理
render :action=> 'list'
end
って感じ
listはform_forのヘルパーがあったページ
>>14
働いてます
0017nobodyさん
2011/11/05(土) 15:25:51.51ID:???form_for の第一引数に指定しているオブジェクトに値が入ってるからでしょ
値を表示させたくないなら、そのオブジェクトを破棄して新しく new するとか
0018nobodyさん
2011/11/05(土) 15:37:57.57ID:???リロードしなきゃいけないし。
リダイレクトするのが普通かな。
もしくはそのままの実装でどうしても行くなら、saveの後で
@data = Data.new
すれば良い
0019nobodyさん
2011/11/05(土) 15:40:35.03ID:???なんか不毛すぎるし、Railsっぽくないな。
0020nobodyさん
2011/11/05(土) 17:01:26.43ID:???form_forにのフィールドの初期値を空白にすることによりcreateされて戻ってくる
ときに更新前の値が反映されなくなりました。newするのも考えましたが、非効率な感じがしたので。
取り合えす、できましたのでありがとうございます。
>>18
あ、redirectでも同じですよ。ちなみにscaffoldをつかってません。
>>19
createの中でロードも試しましたね。そしてrender
初めは単にredirectだったんですけ、どちらも結果がおなじでした。
0021nobodyさん
2011/11/05(土) 17:05:20.96ID:???002210
2011/11/05(土) 17:12:07.37ID:???じゃあ、下のフォームと同じものを作ってdbで更新した後、redirectかrenderで
戻ってきてください。僕の言ってることが分かると思いますよ。
0023nobodyさん
2011/11/05(土) 18:02:49.58ID:???案外ここは問題ないって思ってるとこが問題だったりするから
再現する状態の全てを見せたほうが話がはやいよ。
0024nobodyさん
2011/11/05(土) 18:09:44.28ID:bdmivVUPhttp://api.rubyonrails.org/classes/Rails/Railtie.html
Loading rake tasks and generators
MyPlugin::Railtie というクラスを定義して、rake_tasks メソッドを使う。
# れいるてぃー、じゃなくて、れいるたい、ね。
0025nobodyさん
2011/11/05(土) 22:25:53.66ID:???> form_forにのフィールドの初期値を空白にすることにより
この方法だともう一回submitされたときにcreateじゃなくてupdateが呼ばれるはずだが…
まぁ動いてるならいいのか
0026nobodyさん
2011/11/06(日) 02:04:49.32ID:???http://hato.2ch.net/test/read.cgi/venture/1305511296/
0027nobodyさん
2011/11/06(日) 12:56:50.64ID:70F4kdqbhttp://design-develop.net/web-design/html5.html
002815
2011/11/06(日) 17:00:30.46ID:GUoZmNqnども!情報有り難うございます
1日試行錯誤した結果なんとか動かせるようになりました
0029nobodyさん
2011/11/07(月) 00:24:53.97ID:???郵便番号のデータ12万件くらいなんだけど、mystringという文字列がはいったデータが2件だけできるだけ
環境はruby1.8.7 rails2.3.14 ubuntu11.04です
データベースはsqlite,mysqlで試したけど同じでした
0030nobodyさん
2011/11/07(月) 00:30:43.70ID:???0031nobodyさん
2011/11/07(月) 00:55:17.92ID:???すいません
聞き方を変えると、日本語のテキストデータをMyStringsに変えてるのはどこなんでしょうか
たぶんencoding関係なのかなと思ってるんですがどのあたりをみたらいいか検討がついたら教えてください
0032nobodyさん
2011/11/07(月) 01:07:48.16ID:???0033nobodyさん
2011/11/07(月) 01:24:12.45ID:???本当にRailsが自分が入れた(と思ってる)文字データを、
勝手にMyStringsという文字列に変換してるのだろうかと。
もしかしてそれは、自分がやった何かがおかしいんじゃないかと。
自分がやった何かがおかしいなら、
その何かを示さないと、
全く関係のないほかの人には分からないんじゃないかと。
0034nobodyさん
2011/11/07(月) 08:04:30.46ID:???0035nobodyさん
2011/11/07(月) 09:48:31.15ID:???どこかよいチュートリアルサイトないですか。
できればウィンドウズでやりたいです。
0036nobodyさん
2011/11/07(月) 09:54:12.97ID:???0037nobodyさん
2011/11/07(月) 09:56:22.27ID:???を見ることにしました。
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に書き込んでくれる設定にできないのかな?
■ このスレッドは過去ログ倉庫に格納されています