【RoR】Ruby on Rails Part15
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2012/07/07(土) 00:50:39.45ID:???http://kohada.2ch.net/test/read.cgi/php/1329492840/
■参考サイト
<英語>
本家: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/
【ヘロク】 Heroku Part1 【PostgreSQL】
http://toro.2ch.net/test/read.cgi/hosting/1329378677/
0565nobodyさん
2012/11/06(火) 14:11:24.48ID:XaGhKZz4そしてプログラムの中に要素数1000からなる配列を初期化するルーチンが必要だったとする。
1万10円
40円
10円
http://blog.livedoor.jp/dankogai/archives/50766218.html
0566nobodyさん
2012/11/08(木) 17:10:59.33ID:JIoZcSH9http://www.rubyworld-conf.org/ja/live/
0567nobodyさん
2012/11/08(木) 23:27:30.39ID:???user <-> user_and_user <-> user
このように友人関係を作ったとします
その友人関係(間のリレーション)を削除したい場合はどうすればいいですか?
追加は
user.user_and_user << tarou
で出来るんですが、逆に外すのはどうすればいいですか?
user.user_and_user.where(:id=>tarou.id).destroy
とするしかありませんか?
0568nobodyさん
2012/11/08(木) 23:50:40.67ID:???0569nobodyさん
2012/11/09(金) 02:53:38.20ID:uWhs7eHW0570nobodyさん
2012/11/09(金) 08:29:12.27ID:ljQorQ20http://d.hatena.ne.jp/hichiriki/20100622#1277195810
0571あ
2012/11/10(土) 08:38:26.35ID:7ECMacrfhttp://www.ruby-lang.org/ja/news/2012/11/09/ruby19-hashdos-cve-2012-5371
0572nobodyさん
2012/11/11(日) 18:12:02.25ID:???例えばuploadコントローラーのアクションではupload.jsを使いたいみたいなときに、assets/javascript/に入れてしまうと常に呼び出されてしまうからそこに置けないし
0573nobodyさん
2012/11/11(日) 19:51:19.75ID:QM75yKBE0574nobodyさん
2012/11/12(月) 16:58:08.37ID:???rspecでテストするにはどうすれば良いのでしょうか。
User.should_receive(:active)では駄目でした。
0575nobodyさん
2012/11/12(月) 20:01:42.66ID:???ActionView::Template::Error (incompatible character encodings: UTF-8 and ASCII-8BIT):
が表示されます
対処法などはありますか?
0577nobodyさん
2012/11/12(月) 20:25:50.21ID:jRANh58G0578nobodyさん
2012/11/12(月) 21:46:03.81ID:TP7cnTaVセレクタで区別する。
必要ならbodyにid付けたり。
0579nobodyさん
2012/11/12(月) 22:53:28.41ID:???ブラウザのキャッシュを効かせようというものなので、コントローラによって読み込むファイルを
分けるという発想と相容れるものではない
0580a
2012/11/13(火) 01:48:59.08ID:3XNuJC/Bhttp://weblog.rubyonrails.org/2012/11/12/ann-rails-3-2-9-has-been-released/
0581nobodyさん
2012/11/14(水) 11:41:37.95ID:???0582nobodyさん
2012/11/21(水) 12:06:15.42ID:bGZkbmii0583nobodyさん
2012/11/21(水) 15:10:26.90ID:???簡単に指定する方法はありませんか?
instance_methods(false).each{ |action| caches_page action }
としたら一番下に書かないと駄目みたいでそれは避けたいです。
0584nobodyさん
2012/11/21(水) 23:28:20.97ID:zJbRMsxp是非は別として、method_added フックでやったらどうか。
0585nobodyさん
2012/11/22(木) 20:19:57.01ID:???検索とかのURLとかどうすればいいか悩む
0586nobodyさん
2012/11/22(木) 21:31:58.25ID:8YsF3rYJつまりcollectionのGET
0587nobodyさん
2012/11/23(金) 05:12:54.54ID:???そこからDLさせるのってどうすればいいですか?
画像ファイルを保存する時に別のサーバーに保存してます
それをクリックでDL出来るようにしたいんだけど
send_fileだとローカルのファイルしかDLさせられない
でも、いちいち別サーバーからアプリケーションサーバーにDLしてから送信なんてのは非効率的すぎる
何かいい方法ありません?
0588nobodyさん
2012/11/23(金) 10:51:09.36ID:???0589nobodyさん
2012/11/23(金) 11:07:23.15ID:bRXvxwC+0591nobodyさん
2012/11/23(金) 19:03:06.62ID:???それじゃあ普通のブラウザ内展開になっちゃいます
>>589
Nginxなのでヘッダーの付加なんかはできます
0592nobodyさん
2012/11/23(金) 20:02:15.34ID:???0593nobodyさん
2012/11/23(金) 21:49:46.01ID:bRXvxwC+Amazon S3とかじゃなく、自分で制御の効くサーバなら、
ダウンロードさせたい画像のリクエストに Content-Disposition ヘッダを
付けたらどうか。
0594nobodyさん
2012/11/25(日) 04:28:42.51ID:???モデルの作り方がよくわからず。。。
よろしくお願いします
0595nobodyさん
2012/11/25(日) 07:20:42.47ID:s8Eu0FpFhttp://www.geocities.jp/stardust774/
0596nobodyさん
2012/11/25(日) 11:22:08.51ID:???まずは、モンゴたんとマイ・エスキュエルたんを自宅に迎えます。
その後、モデルへ育成させます。
< 恋愛育成ゲーム RoR 攻略法サイトより
0598nobodyさん
2012/11/27(火) 22:35:34.09ID:???どっちのが簡単ですか?
0599nobodyさん
2012/11/27(火) 22:54:35.85ID:???普通は両方覚える
0600nobodyさん
2012/11/27(火) 23:00:41.83ID:???Wordpress,drupal,Mediawiki,xoops, open pneとかテーマとプラグインで楽できる
でも、コードを書くと汚くなりがち
いくつもたくさん開発して資産を蓄えていきたいとか、こまめに改修していきたいならRubyのほうが楽というか楽しい?というべきか
0601nobodyさん
2012/11/28(水) 08:00:32.83ID:IhJ0H87A一日経つと「Rubyが本当に好き」になり、一週間経つと「PHPには戻れない」状況になりました。
http://capsctrl.que.jp/kdmsnr/wiki/transl/?AnInterviewWithDHH
DHH:極端なことを言うと,Rubyが一番美しく自分のコードが書けるからです。
DHH:PHPとJavaです。でも,どんなにリファクタしても綺麗なコードが書けなかった。
http://gihyo.jp/dev/serial/01/alpha-geek/0004
404 Blog Not Found:そろそろPHPに関して一言いっとくか
http://b.hatena.ne.jp/entry/blog.livedoor.jp/dankogai/archives/50835571.html
http://b.hatena.ne.jp/entry/blog.livedoor.jp/dankogai/archives/50993137.html
0602nobodyさん
2012/11/28(水) 08:07:06.13ID:IhJ0H87ADHH氏は車にも精通しているのか,部品はパガーニ社が扱う最良のものを自らチョイスしたそうです。
もちろんオーダーメイドであるため現在のところ世界に1台しかありません。
ほぼ同スペックの「トリコローリ」というモデルが130万ユーロ(約1億4000万円)と言われている
http://gihyo.jp/dev/clip/01/orangenews/vol59/0008
0604nobodyさん
2012/11/28(水) 08:14:45.17ID:IhJ0H87A食べログの画面数は約200あるが,開発に取りかかって約2カ月で完成した。
「VBscriptならこの倍,PHPでも1.5倍はかかっていたのではないか」
コード量も10分の1になった。
http://itpro.nikkeibp.co.jp/article/OPINION/20071031/286028/
0605nobodyさん
2012/11/28(水) 08:16:03.89ID:???0606nobodyさん
2012/11/28(水) 08:16:26.21ID:IhJ0H87Ahttp://gihyo.jp/dev/column/01/prog/2010/030801?page=2
RailsとCakePHPを比べたところ,高負荷時にはRails のほうが大幅に応答性能が高いという結果が出たことですね。
これは200リクエスト/秒くらいからPHPの応答性能が急激に下がるのが原因です。
Rubyはそれほど大きくはパフォーマンスが落ちないんです。
0607nobodyさん
2012/11/28(水) 08:17:49.41ID:???0608nobodyさん
2012/11/28(水) 08:18:18.36ID:IhJ0H87Ahttp://thinkit.co.jp/article/156/4?page=0,1
3ヶ月、わずか3名程度のエンジニアチームで、彼らはPHPで実装が完了していたレベルに追いつきました。
またコード量はPHPの1/5以下にまで削減されており、よりシンプルな構成も実現できました。
0609nobodyさん
2012/11/28(水) 08:24:48.32ID:IhJ0H87A配列に格納した名前の中から,3文字以下のものを選んで出力するプログラムである。
http://itpro.nikkeibp.co.jp/article/COLUMN/20060315/232514/?SS=imgview&FD=-1264950070&ST=ittrend
リスト6 Rubyのサンプル・プログラム
http://itpro.nikkeibp.co.jp/article/COLUMN/20060315/232514/?SS=imgview&FD=-1264026549&ST=ittrend
http://itpro.nikkeibp.co.jp/article/COLUMN/20060315/232514/
0610nobodyさん
2012/11/28(水) 08:27:30.47ID:IhJ0H87Aそしてプログラムの中に要素数1000からなる配列を初期化するルーチンが必要だったとする。
1万10円
40円
10円
http://blog.livedoor.jp/dankogai/archives/50766218.html
0611nobodyさん
2012/11/28(水) 08:44:19.45ID:???独自フレームワークはやめよう
http://b.hatena.ne.jp/entry/blog.madoro.org/mn/84
0612nobodyさん
2012/11/28(水) 08:45:53.48ID:???0613nobodyさん
2012/11/28(水) 08:48:22.01ID:???0614nobodyさん
2012/11/28(水) 09:45:24.02ID:???アプリA
アプリB
アプリC それぞれでbundle exec unicorn_rails
するとどれかを止めたり再起動したい時にpgrep -f 'unicorn_rails mater'ってやると3つでちゃってどれがどれかわからないです……
0615nobodyさん
2012/11/28(水) 09:47:18.90ID:???それであれば色々解決するのですが……
0617nobodyさん
2012/11/28(水) 12:08:24.14ID:???0618nobodyさん
2012/11/29(木) 10:28:45.57ID:???0619nobodyさん
2012/11/30(金) 15:57:48.83ID:???http://qiita.com/items/325848fcf1e3dc6bd53a
0620nobodyさん
2012/12/02(日) 02:55:59.68ID:sF7VWq7Y<%= submit_tag "確定する", :confirm => 'OK?' %>
という単純なコードがなぜか思い通りに動きません。確認のポップアップが出ないのです。
HTMLになったソースを見ると、
<input type="submit" value="確定する" name="commit" data-confirm="OK?'>
とちゃんと変換されています。
javascriptも有効にしています。
原因としてどんなことが考えられるでしょうか。
0621nobodyさん
2012/12/02(日) 15:06:54.92ID:1JWssV6U0622nobodyさん
2012/12/02(日) 19:07:03.20ID:???0623nobodyさん
2012/12/02(日) 22:36:14.29ID:???404は黒字だから目立たないぜ
jqueryとjquery ujsをロードしてるか
あとJavascriptを使ってるgemが悪さしてないか
Twitter Bootstrap rails のレイアウトとかはJavascriptを後ろでロードするからいろんな不具合でやすい
0624nobodyさん
2012/12/04(火) 06:46:49.92ID:???できればrakeのenvironmentがrails consoleと同一(環境をロードしない)
になると嬉しいのですが。
0625nobodyさん
2012/12/04(火) 12:42:31.82ID:X5tWvJbJ>> require 'rake'
>> MyApp::Application.load_tasks
>> Rake.application['db:migrate'].invoke
ここまでは出来た。
0626nobodyさん
2012/12/04(火) 12:52:59.34ID:???User.find_each do |u|
u.point = 0
u.save
end
こうなると思いますが数万件あるのでとても非効率的な気がします
なにか一括で更新する方法は選りますか?mysqlを使っています
0627nobodyさん
2012/12/04(火) 13:02:20.50ID:???UPDATE users SET point = 0
でいいのてすか、これをRailsこら呼ぶ方法がわかりません
0629nobodyさん
2012/12/04(火) 22:39:05.75ID:???ありがとうございます。Rakefileに
def rake(taskname)
Rake.application[taskname].invoke
Rake.application[taskname].reenable
end
と書いてconsoleからロードしたら良い感じになりました。
tasknameをクォートしないといけないのが面倒ですが・・・
0630nobodyさん
2012/12/05(水) 20:34:52.02ID:???Ajaxを使いページの更新をせずに更新情報だけを特定箇所に反映させ表示させたいです。
(Twitterと同じようにFollowボタンをクリックで→Un-Followに。Un-Followをクリックで→Followに)
次レスに書いたコードを貼り付けます。このようにコードを書き試しましたがエラーが返ってきます。
おそらく set_follow.js.erb に問題があるのかと思いますが。。
エスパーさん、どうかお願いします。
0631>>630の続き
2012/12/05(水) 20:35:39.96ID:???def set_follow
friend = User.find_by_username(params[:username])
if f = Friendship.find(:first, :conditions => { :user_id => current_user.id, :friend_id => friend.id})
f.destroy
flash[:notice] = "Now added to follow list"
respond_to do |format|
format.html { redirect_to set_follow }
format.js
end
#redirect_to :back
else
Friendship.create(:user_id => current_user.id, :friend_id => friend.id)
flash[:error] = "Now deleted from follow list"
respond_to do |format|
format.html { redirect_to set_follow }
format.js
end
#redirect_to :back
end
end
-----「users/index.html.erb」-----
<div id="follow_status">
<% if user_signed_in? && current_user.friends.find_by_id(user.id) %>
<%= link_to sanitize('<i class="icon-remove icon-white"></i> ') + 'Un-Follow', follow_user_path(user.username), :class => 'btn', remote: true %>
<% elsif current_user != user %>
<%= link_to sanitize('<i class="icon-ok icon-white"></i> ') + 'Follow', follow_user_path(user.username), :class => 'btn btn-primary', remote: true %>
<% end %>
</div>
0632>>631の続き
2012/12/05(水) 20:36:14.48ID:???$("#follow_status").html("<%= escape_javascript(render f) %>");
0633>>632の続き
2012/12/05(水) 20:39:04.17ID:???ちなみにajaxの記載を外すと、ロード(更新)こそはするもののFollow←→Un-Followで
きちんとフラグに応じて表示が切り替わります。
ページロード無しでの表示の更新を実現したいです。
0634nobodyさん
2012/12/05(水) 21:46:24.03ID:???0635nobodyさん
2012/12/06(木) 05:20:52.55ID:???http://www.ustream.tv/recorded/25419544
Enumerable#entries
http://ruby-doc.org/core-1.9.3/Enumerable.html
0637nobodyさん
2012/12/06(木) 13:24:17.88ID:???レスありがとうございます
この場合、どのようにすれば回避できますでしょうか?
>>636
すみません。語弊がありました。
エラーが返ってくるのではなく、
Followをクリックしても表示が切り替わらない(つまり、何も動かない。変化しない)というのが正しいです。
0638nobodyさん
2012/12/06(木) 21:01:18.32ID:11RbrkAbビューにコピーされるので使えるよ。
0640nobodyさん
2012/12/07(金) 00:10:01.78ID:8cSZfdvahttp://d.hatena.ne.jp/yuum3/20120903/1346653974
0643nobodyさん
2012/12/07(金) 01:57:13.40ID:???さっそく試させていただきました。
>>631のコントローラーをf→@fに変更
>>632のjs.erbでrender f→render@fに変更
その結果、ブラウザ上でFollowを押してもUn-Followへは表示が切り替わらず
Followのまんまです。
もちろん、ページ更新は発生しません。
その直後にページ更新を手動でかけると表示がUn-Followになっています。
つまり、フラグの切り替えだけは裏で正常に行われているようです。
表示の切り替え部分だけがうまく反映されていないようです。
色々と調べてみたのですが、これというものが見つかりません。
(表示されてる内容をajaxの動きで変更するという事例があまり無いです。
空白のところにajaxの動きで何かを追加表示させる事例はたくさんありました)
0644nobodyさん
2012/12/07(金) 02:12:18.84ID:???views/ajax/_follow.html.erb
と
views/ajax/_unfollow.html.erb
を用意しておいて
それぞれにボタンを含めた部分的なviewコードを書いておいて
それらに対になるように
views/ajax/set_follow.js.erb
views/ajax/set_unfollow.js.erb
のそれぞれから呼び出すようにしておくべきですか?
コントローラーから現在のfollowステータスに応じて、
どちらかのjs.erbを呼び出し
index.html.erbに表示してあげるといったかんじです。
こういった切り分けたやり方のほうが一般的でしょうか?
その分ファイルが増えるので、ややこしくなりますが。。
0645nobodyさん
2012/12/07(金) 03:56:24.82ID:8cSZfdvahttp://yuku-tech.hatenablog.com/entry/20110823/1314111340
http://pjax.heroku.com/
0646nobodyさん
2012/12/07(金) 05:01:54.20ID:???Ajax、JQuery(AssetPipeLine)って
Development modeでは動かなかったりしますか?。。。。
一日試行錯誤してacts_as_followerとかも
事例をコピペでそのまんま試しましたが、
やはりページ更新なしでボタンの表示が変わりませんでした。。
なので、もっと根本的なところに問題があるのかもしれません。
0647nobodyさん
2012/12/07(金) 05:17:02.50ID:???chrome や opera なら右クリして要素を検証ってやつだよ。
firefox は firebug とかいうやつ。
js にエラーがあるならそこのコンソールってとこに表示される。
0648nobodyさん
2012/12/07(金) 05:56:59.52ID:???set_follow.js.erb を
<% if @f %>
$("#follow_status").html("こんにちわ");
<% else %>
$("#follow_status").html("さようなら");
<% end %>
に変えたら変更されない?
0649nobodyさん
2012/12/07(金) 07:22:00.35ID:???おはようございます。
朝早くからレスありがとうございます。
そちらも試させていただきましたが反応なしです。
試しにJQueryのfadeOut(画像が徐々にフェードアウトしていく機能)
を直でshow.html.erbに記述して表示させましたが、
それすら動かない様子です。
どうやらJQuery自体がまともに読み込まれて動いていないのかもしれません。
現在Rails3.1にgemでjquery-railsやjquery-ui-railsを入れています。
色々と試してはいるのですが心当たりが見あたりません。
0650nobodyさん
2012/12/07(金) 11:22:15.28ID:???ブラウザでアクセスしてhtmlのソース見てjsへのリンクがあるか確認してみたら?
Railsとか以前の問題だわw
0651nobodyさん
2012/12/07(金) 11:37:05.67ID:???0652nobodyさん
2012/12/07(金) 12:04:25.90ID:???jquery_ujs.jsを読んでAjaxの動作を把握するのが一番だと思うわ
これアドバイスしてる奴は誰もソースちゃんと読んでないだろ(俺含め
0653あ
2012/12/07(金) 12:20:23.99ID:???http://qa.atmarkit.co.jp/q/2438
0654nobodyさん
2012/12/07(金) 17:55:34.73ID:nbhQU3dclist = Item.order("id DESC").page(params[:page])
list.reverse!
で一応最後から順に取得できますが、ページ数が1となってしまいます
ページ数がlastから始まるようにすることっできますか?
0655nobodyさん
2012/12/07(金) 20:10:29.41ID:???https://github.com/amatsuda/kaminari/wiki/Kaminari-recipes
0656nobodyさん
2012/12/08(土) 05:18:46.92ID:SvWzDcWmhttp://oshiete.goo.ne.jp/qa/3839467.html
0657nobodyさん
2012/12/09(日) 02:25:39.24ID:???一般的なブログみたいに
右にArchiveってメニューを設けて
そこには
2012年11月(3)
2012年10月(14)
2012年9月(30)
みたいなリンクを表示させてて、11月をクリックしたら
testhoge.com/blog?archive=201211
に飛んで11月の3件が表示される
といった類の
この程度ならコードを1から自分で書くべきですか?
それとも何かgemはありますか?
0658nobodyさん
2012/12/09(日) 02:36:35.22ID:???その@
testhoge.com/user/1637/blog/new
↓投稿
testhoge.com/user/1637/blog/26448 がshow
そのA
testhoge.com/blog/new
↓投稿
testhoge.com/blog/26448
どちらのルーティングが一般的ですか?
0659nobodyさん
2012/12/09(日) 05:28:27.67ID:36Xf50euhttp://dir.yahoo.co.jp/Computers_and_Internet/Internet/World_Wide_Web/Weblogs/?frc=dsrp_jp0011
0660nobodyさん
2012/12/09(日) 05:30:41.09ID:36Xf50euhttps://www.ruby-toolbox.com/categories/Blog_Engines
0661nobodyさん
2012/12/09(日) 08:14:37.54ID:???一通り見ましたが
どれもそのブログ単体でアプリとして稼働するような大型ばかりでした。
私が探しているのは、アーカイブメニューと必要最低限の投稿関連機能のみを追求したものになります。
■ このスレッドは過去ログ倉庫に格納されています