トップページphp
1001コメント368KB

【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:???
Ruby on Railsはやっぱいろいろなものの詰め合わせだから、どっかしらバージョン違いが起こっちゃって初心者には辛いっす・・・
0008nobodyさん2011/11/05(土) 00:04:40.89ID:???
>>7
そんなあなたにrvm
0009nobodyさん2011/11/05(土) 08:02:01.02ID:???
>>7
そんなあなたにbundler
0010nobodyさん2011/11/05(土) 10:47:38.76ID:???
form_forのヘルパーでモデルを更新した後、再び同じページに戻ってくると
form_forの中に更新前のデータが記録されています。
キャッシュだとおもうんですが、簡単にフォーム内に残されたデータを
消す方法ってありますか?
よろしくお願いします。
0011nobodyさん2011/11/05(土) 12:35:05.83ID:???
ブラウザの挙動もあるので、どの環境でもきちんと消すのは少し面倒かも。ワンタイムトークン発行したりとか。

簡単な方法だと履歴を消すという手はあるが。
0012nobodyさん2011/11/05(土) 12:56:26.67ID:???
>>11
例として、このレスの下のフォームで書き込むボタンを押した後、このページに
自動的に遷移してくると、書き込む前の内容が残されてる感じです。
だから、間違って書き込むを連打すると、validationが働かず、同じような
ものが何度でも連続して作られてしまう感じです。

うーん、なんとかならないのか・・・
expire_pageとかあるみたいだけど、よくわかんないです。
0013nobodyさん2011/11/05(土) 13:09:16.49ID:???
「自動的に遷移してくると」というのが不明。
自分でそう書かない限り、そうならないので。
0014nobodyさん2011/11/05(土) 13:15:44.94ID:???
Validationが働かないのは、単にバグってるだけ
0015nobodyさん2011/11/05(土) 14:20:07.01ID:bMCYQ4Ak
rails3からrails Plug-inはgem化推奨だそうなので
移動させようと作業しているのですが
gemの中のrakeタスクを認識させる方法がわかりません
どなたかヒントを頂ければ幸いです
0016nobodyさん2011/11/05(土) 14:34:57.70ID:???
>>13
単にcreateのメソッドを使った後、もとのページにrender で指定しているだけです。
つまりform_forのアクションがcreate
def create
処理
 render :action=> 'list'
end
って感じ
listはform_forのヘルパーがあったページ

>>14
働いてます
0017nobodyさん2011/11/05(土) 15:25:51.51ID:???
>>16
form_for の第一引数に指定しているオブジェクトに値が入ってるからでしょ
値を表示させたくないなら、そのオブジェクトを破棄して新しく new するとか
0018nobodyさん2011/11/05(土) 15:37:57.57ID:???
createでlistをrenderするのが間違ってる。
リロードしなきゃいけないし。
リダイレクトするのが普通かな。

もしくはそのままの実装でどうしても行くなら、saveの後で
@data = Data.new
すれば良い
0019nobodyさん2011/11/05(土) 15:40:35.03ID:???
リロードしないとするとcreateの中でまたfindしてるのかな?
なんか不毛すぎるし、Railsっぽくないな。
0020nobodyさん2011/11/05(土) 17:01:26.43ID:???
>>17
form_forにのフィールドの初期値を空白にすることによりcreateされて戻ってくる
ときに更新前の値が反映されなくなりました。newするのも考えましたが、非効率な感じがしたので。
取り合えす、できましたのでありがとうございます。


>>18
あ、redirectでも同じですよ。ちなみにscaffoldをつかってません。

>>19
createの中でロードも試しましたね。そしてrender
初めは単にredirectだったんですけ、どちらも結果がおなじでした。

0021nobodyさん2011/11/05(土) 17:05:20.96ID:???
redirectで同じって、そんなわけねーだろw
0022102011/11/05(土) 17:12:07.37ID:???
>>21
じゃあ、下のフォームと同じものを作ってdbで更新した後、redirectかrenderで
戻ってきてください。僕の言ってることが分かると思いますよ。
0023nobodyさん2011/11/05(土) 18:02:49.58ID:???
再現性のあるソースの最小構成みせてみてよ。
案外ここは問題ないって思ってるとこが問題だったりするから
再現する状態の全てを見せたほうが話がはやいよ。
0024nobodyさん2011/11/05(土) 18:09:44.28ID:bdmivVUP
>>15

http://api.rubyonrails.org/classes/Rails/Railtie.html
Loading rake tasks and generators

MyPlugin::Railtie というクラスを定義して、rake_tasks メソッドを使う。

# れいるてぃー、じゃなくて、れいるたい、ね。
0025nobodyさん2011/11/05(土) 22:25:53.66ID:???
>>20
> form_forにのフィールドの初期値を空白にすることにより
この方法だともう一回submitされたときにcreateじゃなくてupdateが呼ばれるはずだが…
まぁ動いてるならいいのか
■ このスレッドは過去ログ倉庫に格納されています