1read 100read
2011年10月1期WebProg【RoR】Ruby on Rails Part13
TOP カテ一覧 スレ一覧 削除依頼 ▼
・ 次のスレ
IDにPerlが出たら神!PHPが出たらシメジ Part32 Java VS PHP 【Java】Play framework【Scala】 インストールマニアックス5 Azure作戦
【RoR】Ruby on Rails Part13
1 :11/11/04 〜 最終レス :12/01/13 ■前 【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/
2 : 関連スレ 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/
3 : ふう・・・
4 : るりまサーチ (リファレンス検索) http://rurema.clear-code.com/ Rubyist Magazine - るびま http://jp.rubyist.net/magazine/ 逆引きRuby http://www.namaraii.com/rubytips/
5 : 乙かれちゃーん
6 : 皆様へのお願い このスレッドは高次機能障害をもたらす 病理の臨床実験のために立てたものです。 被験者と研究員のやり取りに使うため、 書き込み等は自重されるようお願いいたします。 もし、書き込み等をすることで不愉快な思いをされましても、 当研究所は責を負いかねます。 (社)京都微生物研究所
7 : Ruby on Railsはやっぱいろいろなものの詰め合わせだから、どっかしらバージョン違いが起こっちゃって初心者には辛いっす・・・
8 : >>7 そんなあなたにrvm
9 : >>7 そんなあなたにbundler
10 : form_forのヘルパーでモデルを更新した後、再び同じページに戻ってくると form_forの中に更新前のデータが記録されています。 キャッシュだとおもうんですが、簡単にフォーム内に残されたデータを 消す方法ってありますか? よろしくお願いします。
11 : ブラウザの挙動もあるので、どの環境でもきちんと消すのは少し面倒かも。ワンタイムトークン発行したりとか。 簡単な方法だと履歴を消すという手はあるが。
12 : >>11 例として、このレスの下のフォームで書き込むボタンを押した後、このページに 自動的に遷移してくると、書き込む前の内容が残されてる感じです。 だから、間違って書き込むを連打すると、validationが働かず、同じような ものが何度でも連続して作られてしまう感じです。 うーん、なんとかならないのか・・・ expire_pageとかあるみたいだけど、よくわかんないです。
13 : 「自動的に遷移してくると」というのが不明。 自分でそう書かない限り、そうならないので。
14 : Validationが働かないのは、単にバグってるだけ
15 : rails3からrails Plug-inはgem化推奨だそうなので 移動させようと作業しているのですが gemの中のrakeタスクを認識させる方法がわかりません どなたかヒントを頂ければ幸いです
16 : >>13 単にcreateのメソッドを使った後、もとのページにrender で指定しているだけです。 つまりform_forのアクションがcreate def create 処理 render :action=> 'list' end って感じ listはform_forのヘルパーがあったページ >>14 働いてます
17 : >>16 form_for の第一引数に指定しているオブジェクトに値が入ってるからでしょ 値を表示させたくないなら、そのオブジェクトを破棄して新しく new するとか
18 : createでlistをrenderするのが間違ってる。 リロードしなきゃいけないし。 リダイレクトするのが普通かな。 もしくはそのままの実装でどうしても行くなら、saveの後で @data = Data.new すれば良い
19 : リロードしないとするとcreateの中でまたfindしてるのかな? なんか不毛すぎるし、Railsっぽくないな。
20 : >>17 form_forにのフィールドの初期値を空白にすることによりcreateされて戻ってくる ときに更新前の値が反映されなくなりました。newするのも考えましたが、非効率な感じがしたので。 取り合えす、できましたのでありがとうございます。 >>18 あ、redirectでも同じですよ。ちなみにscaffoldをつかってません。 >>19 createの中でロードも試しましたね。そしてrender 初めは単にredirectだったんですけ、どちらも結果がおなじでした。
21 : redirectで同じって、そんなわけねーだろw
22 : >>21 じゃあ、下のフォームと同じものを作ってdbで更新した後、redirectかrenderで 戻ってきてください。僕の言ってることが分かると思いますよ。
23 : 再現性のあるソースの最小構成みせてみてよ。 案外ここは問題ないって思ってるとこが問題だったりするから 再現する状態の全てを見せたほうが話がはやいよ。
24 : >>15 http://api.rubyonrails.org/classes/Rails/Railtie.html Loading rake tasks and generators MyPlugin::Railtie というクラスを定義して、rake_tasks メソッドを使う。 # れいるてぃー、じゃなくて、れいるたい、ね。
25 : >>20 > form_forにのフィールドの初期値を空白にすることにより この方法だともう一回submitされたときにcreateじゃなくてupdateが呼ばれるはずだが… まぁ動いてるならいいのか
26 : 【MSCB MSSO】会社死期報 part 25【粉飾決算】 http://hato.2ch.net/test/read.cgi/venture/1305511296/
27 : http://www.nihilogic.dk/labs/canvas_sheet/HTML5_Canvas_Cheat_Sheet.png http://design-develop.net/web-design/html5.html
28 : >>24 ども!情報有り難うございます 1日試行錯誤した結果なんとか動かせるようになりました
29 : どうしてもfixtureがうまくいかない 郵便番号のデータ12万件くらいなんだけど、mystringという文字列がはいったデータが2件だけできるだけ 環境はruby1.8.7 rails2.3.14 ubuntu11.04です データベースはsqlite,mysqlで試したけど同じでした
30 : そんなんで分かるわけないだろ
31 : >>30 すいません 聞き方を変えると、日本語のテキストデータをMyStringsに変えてるのはどこなんでしょうか たぶんencoding関係なのかなと思ってるんですがどのあたりをみたらいいか検討がついたら教えてください
32 : MyStringsって何よ
33 : よく考えろ 本当にRailsが自分が入れた(と思ってる)文字データを、 勝手にMyStringsという文字列に変換してるのだろうかと。 もしかしてそれは、自分がやった何かがおかしいんじゃないかと。 自分がやった何かがおかしいなら、 その何かを示さないと、 全く関係のないほかの人には分からないんじゃないかと。
34 : そういえばfixtureって数年使ってないな
35 : ruby on rails を勉強したいんですけど どこかよいチュートリアルサイトないですか。 できればウィンドウズでやりたいです。
36 : Four Days on Rails は対応バージョンが古すぎるかな。
37 : http://www.rubylife.jp/rails/ を見ることにしました。
38 : >>37 そのサイト、全然記事ないやん…。何もできんぞそれじゃ
39 : ヒント:アフィ
40 : それ明らかにアフィリ・広告・SEOのためのサイトじゃんかよ そういう記事を○○円で書く仕事みたいのよく募集してるよ 質問者が運営者だろ。さりげなくURLを貼ったつもりだろうけど
41 : 暗号化されたパスワードを含むオブジェクトを CookieStoreに保存しても平気でしょうか? session[:user] = User.find(1) それともユーザー名やIDのみ保存すべきでしょうか? session[:name] = User.find(1).name
42 : ユーザ名だけにしておきなさい
43 : なんでそんなの入れたいん? キャッシュしたいという事かな。 オブジェクト入れるのはやめときな。 Railsってあまりクッキー使わないよね。
44 : ユーザ管理する程でもないサイトでリスト中の更新部分をハイライトしたくて 前回表示日時をクッキーに入れたりしたことはあるな。
45 : このスレは前スレのブックマーク投稿クソ野郎などウェブ系スパム業者に狙われています
46 : cookie使用の有無は、rails関係ないだろ
47 : Railsに限らずクッキーに情報本体入れる実装は総じて糞って結論がでてると思うんだが。
48 : railsでもcookie_storeをactiverecordにすれば cookieにセッションIDだけ入ってセッション情報はDBに入るだろ
49 : ふつーはそうする どういうことか分からないままデフォルトで運用する奴は
50 : データが量的に入るならいいと思うんだが 暗号鍵は十分長いからサーバーがクラッキングされない限り復号はできないだろ DBにアクセスするより軽いし 普通は入らないが
51 : productionではmemcachedに入れてる。 その他はdb storeで。
52 : そのうちHTML5のWebStorageだかなんかを使った実装も用意されるようになるんだろな。
53 : gmailってwebstrageを使ってるよね。
54 : gmailはrails使ってないがな
55 : Rails Zombie だっけ? 2が出るとか見かけたんだが。
56 : railsのインストールがうまくいかないまくりなんだけどみんなスムーズに導入できてるの? 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’ が宣言されていません 」とか書いてるだけ。何者よこれ
57 : 普通に zlib がねえっていってんじゃん。 パッケージマネージャとか何つかってるのかわからんけど zlib インストールしろよ。
58 : 「さくらのクラウド」料金が発表。「Amazon EC2の半額」は実現できたか? − Publickey http://www.publickey1.jp/blog/11/amazon_ec2_2.html
59 : SDのinterviewでpresidentが言ってたがawsにalmost all of clientsを持っていかれたそうな
60 : >>57 それぐらい読んでほしいよね。最低限の英語できないと 厳しい
61 : >>57 ああ、zlib.hがないんだろうと思って、$HOME/src/zlib-1.2.5に展開してはいるんだよ。 どうやって読み込ませるんだろうねこれ。 ちなみにパッケージ管理はaptitudeを使ってるんだけど、これにzlibなんてパッケージはなさそうだな。
62 : ちなみにextconf.rbを1行ずつ実行して様子見てみると、 最初の「require 'rbconfig'」でfalseが返ってた。これって標準添付のライブラリじゃないの? gem install rbconfig実行しようにも、やっぱりzlibがないから使えないし・・・
63 : そんなとこにソースだけ置いても見えるわけないだろ
64 : >>62 apt-get install libzlib-dev だろ
65 : まちがいました ubuntuだとlibz-devかzlib1g-dev
66 : aptitudeなら / (Find) をタイプしてから zlib を指定すればすぐ出てくると思うけど…
67 : なんか全体的に謙虚さがたりない感が見て取れるな。
68 : 相手は人間なんだから、言葉づかいだって大事だよな。
69 : ここはLinux入門者スレ?
70 : railsは入れるの結構うざいからなそこら辺も敷居を上げてる。 入れてからもruby知らなきゃ無理だしな。 とりあえず、scaffoldから説明するwebやsiteは糞
71 : パッケージマネージャでのインストールばかりだと新しいrubyがリポジトリになくて詰んだりするね。
72 : みなさんご助言ありがとうございました。 session[:user].name とか書きたかっただけで深い理由はありません。 ユーザー名だけ入れておく事にします。
73 : webやsite w webの情報なんてほとんど善意のボランティア的なものなんだから、きちんと学びたければ本買えよ。 railsのサイトでrubyの情報も掲載するより、rubyはrubyのサイトに行ってもらった方がやること重複しなくていいだろ。 技術系のエントリ書くの結構大変なんだぞ。 あと scaffoldは基本を抑えるのに必要。最初は生成されたコードを読んどいた方が良い。 実務ではあまり使わないが。
74 : lib ディレクトリの使い方で質問なんですが、 一部のモデルでしか使わないような、Web API の結果をちょこっと入れておくだけのクラスとかなんかも lib ディレクトリに入れるのが作法なんでしょうか?
75 : 実務って言っても14時に2チャンネルってw ニートの癖にwwww おれ? 学生ニート
76 : >>73 >rubyはrubyのサイトに行ってもらった方がやること重複しなくていいだろ 日本語から勉強したら?w
77 : ここのスレってwebprog板で一番 根性の曲がり腐った性格の連中ばかりだな rails使い=こんな奴らばかりなん? 他のfwスレはほのぼのしてて羨ましい。ここは伐しすぎ。
78 : 道理で当たり前の言葉遣いすらできないわけだ
79 : >>78 は>>75 に対して
80 : IDないと煽るの楽でいいな。
81 : 社会人は会社員しかいないと思ってる子供は多いからな。 震災以降リモートの仕事増えたのは良い事だと思う。sshの鍵あればどこでも仕事できるし。
82 : そういう負け惜しみじみた自己紹介はいらない
83 : >>66 ちなみにapt-getの場合はapt-fileってのがあるらしいね。
84 : >>65 ビンゴ!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拡張が鬼門だと感じた。
85 : 次はexecjsでひっかかるんじゃないのか
86 : いや、execjsはなんとかなったが、opensslがインストールできない。
87 : これだけじゃ不親切だな・・・ 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でも解決しないため、今回は様子が違うのかも。
88 : あ、ごめんなんか自己解決したみたいだわ 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 だけだったんで、何らかのオプションが必要だったのがわからんかった。
89 : ちゃんと ext 内の openssl のとこでextconf.rb; make したか? 多分そこクリアすればあとは何事もなく rails s 出来るはず。 あと gem 'execjs' はいらんかったと思うぞ。 自分はいちいち gemfile 編集するのめんどくさかったので node.js をインストールしたわ。
90 : >>89 Gemfile はいじりまくるぞ rails すら bundle で入れてしまうからな
91 : 最近テストが遅くて困っていて考えたのですが聞いてください 以下のような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に新しい書式が入れば 実効速度が劇的に上がるのですが 何方か興味あって作業とかする気ありませんか?
92 : >>91 before(:all)
93 : >>74 自分は、オープンクラス系のファイルの置き場や プロジェクトの共通関数的なクラス,モジュールの置き場にしてる。 他のRailsプロジェクトのlib配下の使い方を見てみるといいよ
94 : なん… だ(以下略
95 : >>89 おれもGemfileいちいちいじるのが面倒なんだけど rails newで自動的にgemfileに書き込んでくれる設定にできないのかな?
96 : >>95 また教えて君か 君がここに来るのは三年早い
97 : まあ英語でどっかのフォーラムに聞いたほうが 親切な人が教えてくれると思う
98 : 大抵のことは海外のどこかフォーラムでほぼ全て前例がある。 辞書を引きながらしてでも 英語すら分からない教えて君は このスレに来なければいい。 それで万事解決。
99 : >>96-98 次スレ立てるときにテンプレにそう書いてもらうように相談するか 別スレ立てて数人だけで話すればいいんじゃね? 今ココでやる話じゃねえだろ
100read 1read
1read 100read
TOP カテ一覧 スレ一覧 削除依頼 ▲
・ 次のスレ
IDにPerlが出たら神!PHPが出たらシメジ Part32 Java VS PHP 【Java】Play framework【Scala】 インストールマニアックス5 Azure作戦