1read 100read
2011年11月2期WebProg9: 【RoR】Ruby on Rails Part13 (179) TOP カテ一覧 スレ一覧 2ch元 削除依頼

【RoR】Ruby on Rails Part13


1 :11/11/04 〜 最終レス :11/11/25
■前
【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 カテ一覧 スレ一覧 2ch元 削除依頼