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

【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/
0662nobodyさん2012/12/09(日) 10:26:37.33ID:36Xf50eu
hp12c - Railsでブログを作ろう!(Creating a Weblog in 15 minutes)
http://d.hatena.ne.jp/keyesberry/20070614/p1

calendar_helperを使ってみる - kurusaki note  
http://d.hatena.ne.jp/kurusaki/20080908/1220807600
0663nobodyさん2012/12/09(日) 14:45:26.74ID:???
それくらいなら作れば?
紹介してもらったのから機能抜いてもいいし。

探したり、探してもらったり、書き込みを待つ手間もかからん。
0664nobodyさん2012/12/10(月) 22:50:15.38ID:???
rails勉強中です、質問させてください。
5000個くらいある商品を季節毎に入れ替えするために
csvファイルをアップロードしてcsvによりテーブルの中身を
総入れ替えするボタンを作りました。
ここでふと気になったのですが
テーブルの中身を一括で入れ替える方法は僕が実装した方法の他にも
シードデータを使った方法など様々な方法があると思いますが
稼働中のアプリケーションにおいてcsvファイルをつかったテーブルの更新
というのはrailsのアプリケーションとして一般的な方法なのでしょうか?
残念ながら入門書を読んでもwebをさがしても疑問は解決しませんでした。
皆さんはこの場合どういう方法を使っていますか?
0665nobodyさん2012/12/10(月) 22:52:49.29ID:???
別に問題無いと思う
今も昔もインポート・エクスポートは csv が無難だと思うよ
06662012/12/11(火) 02:20:37.65ID:wspFP5Jy
MySQLでCSVを入出力(インポート・エクスポート)するコマンド
http://blog.layer8.sh/ja/2011/12/23/mysqlでcsvを入出力インポート・エクスポートするコマ/
0667nobodyさん2012/12/11(火) 05:14:33.55ID:???
質問です

VPS上にてサービスを公開予定しています

今後もし新機能の追加アップデートをしたい場合
どのような手法で行うのが一般的ですか?

考えているのは
ユーザーがサービスを利用していても
直接プログラム部分をいじったり
SSHからのコマンドで構築していくことを考えていますがエラーが出る度に
ユーザーからしたらいい迷惑ですよね?
それだと、とんでもない事故も起こりうるかもしれません

一番いいのはテスト環境を作ることなんでしょうが
railsの場合、1からの鯖構築になるので
vps鯖(centOS)に手を入れてきた今の状態と同一の環境を作るのは困難です。

railsアプリは基本アプリフォルダ以下すべてをそのままコピペして
rake db:migrate さえすれば動くべき!

動かない場合はbundle installさえすれば必ず動く!という認識でいいでしょうか?
06682012/12/11(火) 05:36:34.42ID:wspFP5Jy
Rails Hub情報局: 素人がWebサービスを作ってみて分かった9つのこと
http://el.jibun.atmarkit.co.jp/rails/2011/09/web9-1e8b.html

スタートアップ企業で8年間Webの開発をしてみての反省点いろいろ - Masatomo Nakano Blog
6. サーバ周りの人材をしっかり確保しよう
http://b.hatena.ne.jp/entry/blog.madoro.org/mn/84

Ruby on Rails が簡単というのはウソ - #生存戦略 、それは - subtech
http://subtech.g.hatena.ne.jp/secondlife/20120309/1331279496

PuppetChef
http://jp.rubyist.net/magazine/?0035-ChefInDECOLOG

chef-soloを使ってサーバ設定を自動化して楽をしよう! 〜chef-soloの使い方〜:ADWAYS ENGINEERS BLOG
http://blog.engineer.adways.net/archives/17808773.html
06692012/12/11(火) 05:44:56.38ID:wspFP5Jy
http://www.heroku.com/
http://www.engineyard.co.jp/
http://sqale.jp/
http://mogok.jp/
http://c4sa.nifty.com/
http://aws.typepad.com/aws_japan/2012/11/aws-elastic-beanstalk-ruby-support-and-vpc-integration.html

http://wiki.opscode.com/display/chef/Home
06702012/12/11(火) 05:47:46.48ID:wspFP5Jy
マスタ/スレーブの冗長化の基本は4台1セット
http://d.hatena.ne.jp/uncafe/20110919

データベースのレプリケーション(複製)では、slaveに最低3台のサーバを適用している。
http://jibun.atmarkit.co.jp/ad/comp/112mitsu/01.html

MySQLをmaster:slave=1:1構成にして参照をslaveに向けるのがなぜ良くないか - 酒日記 はてな支店
http://d.hatena.ne.jp/sfujiwara/20110620/1308531677

MySQLで参照の負荷分散を行うslaveは3台から構成するのがよいのでは - 酒日記 はてな支店
http://d.hatena.ne.jp/sfujiwara/20110621/1308625519
06712012/12/11(火) 06:16:02.85ID:wspFP5Jy
Linuxでは以下の点には十分注意されたし。

(1)メールの第三者中継
(2)sshのポートは変えておけ
(3)認証系は必ず暗号化
(4)rootは使わない
(5)MD5
(6)DNSに登録する場合のデメリット
http://w033.seesaa.net/article/192818575.html
06722012/12/11(火) 06:52:18.29ID:wspFP5Jy
ウェブ開発者のための、1時間でできるLAMP環境構築術(CentOS編) - さくらインターネット創業日記
http://tanaka.sakura.ad.jp/2011/05/centos-linux-apache-php-perl-mysql-lamp.html

GMOクラウド VPS セキュリティー対策のお願い|
http://support.gmocloud.com/vps/guide/security/
0673nobodyさん2012/12/11(火) 12:40:53.87ID:???
>>667
んなもんgemによっては追加の設定が必要なものもあるし、一概にこう、と言える
完璧な答えなんてないわな

動作環境構築手順をきっちりまとめておくというのはRailsに限らず、サーバ構築
の基本中の基本だ
文書としてまとめておいてもいいし、シェルスクリプトにしてもいいし、capstrano
みたいなのを使ってもよかろう
0674nobodyさん2012/12/11(火) 16:22:35.12ID:???
post = Post.find_by_topic(params[:id])

if post.comment_user.id == current_user.id
 処理1
else
 処理2
end

としたとき、仮にpostで該当するものがなかったとして完全にnilだった場合
nilエラーを回避して処理に進めるには、
どのように書くのがスマートですか?
0675nobodyさん2012/12/11(火) 20:01:49.38ID:???
if post
 if post.comment_user.id == current_user.id
  処理1
 else
  処理2
 end
end

シンプルイズベスト

あと関係ない部分だけど、俺なら Post#comment_user_is? を作って、
 if post.comment_user_is?(current_user)
とかするかも
コントローラでモデルのフィールドにアクセスするのは気持ち悪いから
0676nobodyさん2012/12/11(火) 20:36:24.86ID:???
質問も回答もひどいコードだ…
0677nobodyさん2012/12/11(火) 21:56:21.73ID:UJ9Con7b
>>676がお手本を見せてくれると聞いて。
0678nobodyさん2012/12/11(火) 21:59:37.37ID:???
677じゃないけど普通に
if post || post.owner_user?(current_user)
else
end

でいいんじゃないの
0679nobodyさん2012/12/11(火) 22:14:55.92ID:???
>>678
それだとpostがnilのときに処理2に入ってしまう
0680nobodyさん2012/12/11(火) 22:32:08.35ID:???
>>678
|| じゃなくて && じゃねーの?
0681nobodyさん2012/12/11(火) 22:41:40.40ID:???
post が nil の時に処理2になるとは書いてないよな
0682nobodyさん2012/12/11(火) 23:58:48.59ID:9uZQlqYl
ここで颯爽と Object#try が登場
06832012/12/12(水) 00:22:15.66ID:JEfJrekJ
Railsエンジニアならこれだけは知っておけっていう便利メソッド - (゚∀゚)o彡 sasata299's blog
http://blog.livedoor.jp/sasata299/archives/51718602.html
0684nobodyさん2012/12/12(水) 11:22:30.93ID:???
>>681
ああ、そうなのか
やりたいことの日本語がまずあやふやだからnilの時処理2に飛ばしたいのかと思ったけどそうじゃないんだね

>>680だな
0685nobodyさん2012/12/13(木) 04:02:38.67ID:???
rails3で link_toだとajaxが使えないとかある??

こんなかんじなんだけど
<%= link_to 'bookmark', bookmark_rec_path(bookmark.id), :remote => true, :method => delete %>
0686nobodyさん2012/12/13(木) 05:46:50.83ID:8LaxKrHp
http://stackoverflow.com/questions/4398445/link-to-remote-true-not-updating-with-ajax
http://stackoverflow.com/questions/7052650/link-to-and-remote-true-jquery-how-help
http://stackoverflow.com/questions/4766383/rails-3-link-to-to-call-partial-using-jquery-ajax
0687nobodyさん2012/12/13(木) 20:50:36.71ID:???
前回のif構文に便乗して質問させてください。
下記の各種条件に該当したとき、処理直後のそれぞれの redirect_toで動きが止まるようにするにはどうすればいいですか?
下記だとマルチレンダーになってしまいます。

def check

 if 条件1
   処理1
   redirect_to hoge1_path
 end

 if 条件2
   処理2
   redirect_to hoge2_path
 else
   処理3
   redirect_to hoge3_path
 end

end
0688nobodyさん2012/12/13(木) 20:53:24.66ID:8cjTOb9L
>>687

つ elsif
0689nobodyさん2012/12/13(木) 21:41:58.43ID:???
and return
0690nobodyさん2012/12/13(木) 22:09:20.06ID:???
return って GoToの利用並に邪道じゃないの?
0691nobodyさん2012/12/13(木) 22:40:40.36ID:8cjTOb9L
メソッドの出口は1つなんていう規約の気の毒な会社もあるらしいね。
0692nobodyさん2012/12/13(木) 22:49:41.87ID:???
>>691
returnって現代、とくにrailsでは
あまり使うべきではないだろう

returnを使うそんな設計はクソ
0693nobodyさん2012/12/13(木) 22:51:55.59ID:???
>>691
あるある
原理主義もいいとこだわな
入力チェックの後ろにでっかい else がくっついてるというあほなメソッドが沢山
0694nobodyさん2012/12/14(金) 00:00:40.97ID:???
いつの時代だよw
普通に上みたいな状況ではreturn使うわ

return が邪道とか聞いたことないし
0695nobodyさん2012/12/14(金) 00:40:36.18ID:???
煽って回答を聞き出そうとしてるだけだろ。
こういうカスは相手せずにスルーしろ
0696nobodyさん2012/12/14(金) 00:51:00.69ID:???
流れをぶったぎってすまん

国際アプリを開発中。
タイムゾーンをconfig.aplication.rbでUTCをデフォにして
記録していこうと思うんだが、

config.time_zone = 'UTC'
config.active_record.default_timezone = :utc

異国間ユーザー毎に該当国の時間で表示してるのって
view側でどういうふうにするべき?
ユーザーテーブルに国テーブルを持たせておいて、
それを参照して毎回viewで表示するたびに計算させて表示??
0697nobodyさん2012/12/14(金) 04:55:30.91ID:???
googleを意識した超絶SEO対策を見つけた!

urlそのものの中に記事のタイトルをいれると強いな、これ
0698nobodyさん2012/12/14(金) 05:06:39.34ID:???
そして毎回パーマリンクとしてhtmlで出力すること

これがSEOに引っかけるための
一番の手段なんや
0699nobodyさん2012/12/14(金) 06:20:43.12ID:???
button_toって使うと勝手に同時にformを生成するよね。
どうしてもformを出力させずにボタンタグを使いたい場合って
ビューに直接
<button type="submit">Search</button> みたいに書き入れる?

皆はそういう時ってどうしてる?
0700nobodyさん2012/12/14(金) 11:49:30.48ID:???
初心者ですみません

save、またはupdateする際に
コントローラー上でparams[:hoge]の中身を全角英数→半角英数に変換する方法を教えてください。
0701nobodyさん2012/12/14(金) 12:58:03.82ID:???
>>700
http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.html
0702nobodyさん2012/12/14(金) 14:07:15.40ID:???
>>701
ありがとうございます

もう1つ質問なのですが、

ユーザー ←→ 都道府県マスタ(47都道府県名)

一人のユーザの編集画面で都道府県を選ぶようなケースの場合は

user.rbに has_one :todofuken

todofuken.rbに belongs_to :user

が適正なアソシエーションでしょうか?
0703nobodyさん2012/12/14(金) 14:17:51.46ID:???
>>702
違う

都道府県 <-> リレーションテーブル <-> ユーザー
0704nobodyさん2012/12/14(金) 15:29:42.62ID:???
>>703
ありがとうございます


todofuken.rb→has_many :users
user.rb→belongs_to :todofuken

で期待通りの動きをしているようですが、
これはおかしいんですか?
0705nobodyさん2012/12/14(金) 15:38:20.44ID:???
>>704
ああ、ユーザーに選択式ってことだから複数チェックボックスかと思ったけど一ユーザー一都道府県ならそれであってる
0706nobodyさん2012/12/14(金) 15:43:11.19ID:???
>>705
ありがとうございます。

ユーザーのプロフィール編集画面で
各自の都道府県を選ぶようにしています

user modelにはtodofuken_idのカラムを用意しています。

設計方法として問題なさそうでしょうか?
0707nobodyさん2012/12/14(金) 22:18:13.94ID:???
だれか
>>696への回答お願いします
0708nobodyさん2012/12/15(土) 08:53:01.42ID:ZQMsU3ZL
prefecture
http://en.wikipedia.org/wiki/Prefectures_of_Japan
0709nobodyさん2012/12/15(土) 09:43:42.97ID:???
>>707
自分で調べろ
回答待ってるより早く見つかる
そういう機能あるから
0710nobodyさん2012/12/15(土) 10:36:42.68ID:???
Devise使ってメール認証させようとしてるんだけど
auに来たメールだけどうしても、
認識できないメール形式のため表示できません。
ってなる。
色々調べたところプレーンテキスト形式にしろとのことで views/devise/mailer
のファイル形式をhtml.erbからtext.erb
に変えたけど、やっぱり同じ。

この問題にぶち当たった人で解決できた人いますか?
0711nobodyさん2012/12/15(土) 11:40:16.59ID:???
どなたか教えてください

例えばmailの中身が

a→title,body
b→title,body
c→title,body

のように配列になっていたとしたら

cさん(最期)の部分だけを取り出すには
どうすればいいでしょうか?
0712nobodyさん2012/12/15(土) 11:47:43.11ID:???
わけわからん。
なんでメールの中身が配列なのさ
配列の最後取り出すなら、rubyの勉強しなよ
0713nobodyさん2012/12/15(土) 11:50:25.42ID:???
>>710
設定その他が分からんのでなんとも言えん
0714nobodyさん2012/12/15(土) 12:37:01.27ID:???
>>711
mail = [{:a=>[title,body]},{:b=>[title,body]},{:c=>[title,body]}]
こういうこと・・・なの?
0715nobodyさん2012/12/15(土) 12:59:49.66ID:???
>>714
そうなんです。
まさにおっしゃられてる通りです
0716nobodyさん2012/12/15(土) 13:08:45.67ID:???
>>715
マジでそうなのか・・・>>712の言うようにrubyの勉強しろ
と言うかググレ「ruby 配列 最後」とかでググレ
0717nobodyさん2012/12/16(日) 00:41:14.09ID:???
railsってさ、参照先がnilだったときの分岐処理を想定して全箇所に分岐処理を入れなきゃだからメンドイよね。

なにか工夫できる点とかある?
0718nobodyさん2012/12/16(日) 01:19:33.42ID:???
知ってるような事言ってるけど、初心者なの丸わかり
実際にはそんな事にはならないし、対処法もよく知られてる
0719nobodyさん2012/12/16(日) 03:31:11.14ID:TfTpyI1z
ユーザー認証系のプラグインって、
Acts_as_authenticated(Rails1.xで主流だった)とか
Restful Authentication(Rails2.xで主流だった)とか
今はdeviseとか、はやり廃りがあるけど、
今使っている認証系プラグインが将来ディスコンになったりしたら、痛いよなー。

他の種類のプラグインと比べて、依存度が半端ないから、なかなか他に置き換えられないし。

やっぱり、こういうの使わずに自作するしかないのか?
あるいは、開発が止まったら自分で引き継いで新しいRailsに対応させるとか?
0720nobodyさん2012/12/16(日) 03:46:28.84ID:aOe33MNU
創価諸君よ!

田浦本部横須賀桜山支部の高橋裕之氏が年末ジャンボで6億円当たるようにまた女子部と結婚成就を5分でよいので高橋裕之氏に題目を送って行こうではありませんか!
0721nobodyさん2012/12/16(日) 11:34:12.70ID:???
>>717
if hoge.present?
て書くのが鉄板

present使うとhogeに
必ず何かの文字列が入っている場合のみ
っていう扱いになる
マジおすすめ
0722nobodyさん2012/12/16(日) 11:35:07.64ID:???
>>719
deviseとか最強じゃん
rails3.2以上にバージョンアップしていく必要なんてほとんどないだろ
0723nobodyさん2012/12/16(日) 11:41:13.25ID:8gHW4Yi/
omniauthって人気ないの?
0724nobodyさん2012/12/16(日) 11:53:27.15ID:???
例えばSNSを開発していたとします 

荒らしが出てきたため、論理削除で該当Userを削除すると、
繋がっている色んな箇所においてレンダーする際にnilエラーが発生しますよね?

こういうのを防ぐには全ての箇所にif文でnilだったときの回避を想定して書いていくしかないんですか?

それともmodelの段階でdependancyにしておいて
連携しているものは全て同時に削除させるのですか?


後者だと、仮にコミュニティーのオーナーユーザーが会員抹消したときに
既存のコミュニティ自体も消えますよね?
これはこれで現実的ではない気もします。
0725nobodyさん2012/12/16(日) 12:06:27.90ID:???
>>724
消して良いものとそうでないものは、自分で書いてるんだから分かるでしょ。
連動で消す消さない選ぶだけだし。

エラーになりそうな箇所は、そうならないように設計すれば良いだけで。
エラーになっても例外補足したら良いし。

こういうのはRails関係ないけどな
0726nobodyさん2012/12/16(日) 12:11:09.69ID:???
>>719
自分で書けるが、面倒なのでdeviseとか使ってる。
devise使うかどうかはかなり長い間迷った。実際嫌いな人がたくさん居る。
0727nobodyさん2012/12/16(日) 12:26:16.41ID:???
もしRails4で違う認証システムが主流になっても
自作するよりは、今までの知識捨ててそれ覚えるほうが楽っていうのはかわらないんじゃないかな
そうならないなら自作すればいいし
0728nobodyさん2012/12/16(日) 13:06:18.95ID:???
devise以上のものは考えられない
お金払ってもいいレベル
gemの中で世界一需要あるだろ、あれ
0729nobodyさん2012/12/16(日) 13:40:56.50ID:???
deviseの黒魔術感と、何かあった時にあれ読まされるのが苦痛
その下のwardenまでなら許容できる
0730nobodyさん2012/12/16(日) 16:04:54.26ID:qaK7KzoY
プログラマなら誰もが自分ならもっといいものが書ける、書きたい、となってしまいがちだけど、
http://blog.madoro.org/mn/84
0731nobodyさん2012/12/16(日) 16:43:48.42ID:???
全角英数を半角英数に置換するのはどうしてるん?
0732nobodyさん2012/12/16(日) 19:50:11.84ID:8gHW4Yi/
$ ruby -v -rnkf -e 'puts NKF.nkf("-Z4w", "アイウエオABCDE")'
ruby 2.0.0dev (2012-12-01 trunk 38126) [x86_64-darwin12.2.1]
アイウエオABCDE

古いRubyのnkfだと-Z3までしかないかも。1.9系ならたぶんある。
0733nobodyさん2012/12/16(日) 19:59:00.21ID:???
>>732
ありがとう
これって普通のruby1.9.2が入ってたら
何もしなくてもいきなり使えるものですか?
0734nobodyさん2012/12/16(日) 21:56:58.54ID:TfTpyI1z
みんなご意見ありがとう。

>>727
趣味で作ってる分にはいいんだけど、
一度Rails3.2 & deviseで作ったWebサービスを公開して、
将来deviseがディスコンになった時がねー。
他の認証システムにユーザーデータをスムーズに移行させるのは結構めんどい気がする。
0735nobodyさん2012/12/17(月) 00:09:31.08ID:1jwbQomX
>>733
nkf 自体は標準ライブラリだよ。(-rnkf == require 'nkf')

1.9.2のならもう-Z4導入されてるんじゃないかなぁ。
手元にないしコンパイルしてまで確認する気にもならないので試せないけど。
0736nobodyさん2012/12/17(月) 08:14:48.38ID:wruMuh6O
Rails has_secure_password
0737nobodyさん2012/12/17(月) 10:21:42.49ID:dIcXqlm1
Rails 3.1: has_secure_passwordメソッド
http://www.oiax.jp/rails/zakkan/has_secure_password.html
0738nobodyさん2012/12/17(月) 10:37:46.26ID:???
>>732
ありがとうございます
全角英数のみ→半角英数なので

params[:book][:author] = NKF.nkf("-m0Z1 -w", params[:book][:author])

↑のようにcontroller内に記述するのですが半角になりません。
どこを間違えているか分かりますか?
0739nobodyさん2012/12/17(月) 20:31:07.77ID:1jwbQomX
ログ見れ。
<%= debug(...) %> 使え。
0740nobodyさん2012/12/19(水) 18:36:54.09ID:???
質問させてください。

form_for

f.submit

end



Scaffoldで吐き出したときに
_form.html.erbは上記のような構成になっていると思います。

このなかにcaptchaも実装しており
更新/新規作成の時には画像認証もかけています。

このフォームに併せて
削除ボタンを加え、上記の画像認証もパスしなければ削除できないようにするためには
どういった構造設計にすればいいですか?
画像認証パスはbefore_filterにて間違っていたらFLASHエラーとredirect_to :back
にしています。

削除ボタンをsubmitにしない限り
画像認証がうまく作動しませんし、
submitを追記してもupdateアクションが呼び出されますよね。

長々となってしまいました。
よろしくお願いします。
0741nobodyさん2012/12/19(水) 22:40:42.49ID:???
方法は2つ
・JavaScriptでボタンクリック時にformのactionをすり替える
・submitボタンにname属性をつけておいて、コントローラでそのname属性を見て処理を分岐する
0742nobodyさん2012/12/19(水) 23:10:17.18ID:???
>>741
一般的なのは後者のほうですか?
0743nobodyさん2012/12/19(水) 23:12:55.98ID:???
>>741
そもそも

form_for

 f.submit name => 'action1'
 f.submit name => 'action2'

end

みたいにsubmitが中に2つ存在とかありうることですか?


その際、コントローラーでは
このnameの中身はどのように取得するんですか?
0744nobodyさん2012/12/20(木) 00:30:10.97ID:???
>>742
一般的なんてのはない
システムの要件で決めれ

>>743
ふつーにありえる話

nameの中身なんてparamsダンプすりゃ分かる
やってみれ
0745nobodyさん2012/12/20(木) 00:57:48.77ID:???
>>744
ありがとうございます

最後に教えてください

@一般のlink_toやbutton_toはURLに対して引数を渡すイメージ

Aそれらに対し、form_forではオブジェクトの集合体の情報をまるまるコントローラーへ渡す感じ(引数がURLに出現することはない)

この認識で正しいですか?
なお、form_forの中ではlink_toのようにパスがかかれていません。
呼び出されるアクションはどうやって決まっているんですか?

呼び出すのがcreateの場合もあるし、updateの場合もあるわけですが
_form.html.erb内には記載がありません。。。

今回はさらにそれに対して呼び出し先をdeleteアクションにしてやらないといけないので。。
0746nobodyさん2012/12/20(木) 01:01:17.14ID:???
>>745
ActionView::Helpers::FormHelper#form_forのリファレンス読め
0747nobodyさん2012/12/20(木) 01:40:01.82ID:???
みんなはmixiでいうとこの掲示板のトピックスを作るとき

トピックスに今現在ついてるコメント数は表示の度にカウントで計算させて表示させてる?

それともコメントをcreateする度にカウントの集計をとって
それをトピックのテーブルにあらかじめ格納しておく?


後者のほうが表示が早そうだし
普通なのかな?
0748nobodyさん2012/12/20(木) 01:50:56.98ID:d/t2+tfj
http://qiita.com/items/797ea74e7eeb7f32f886
0749nobodyさん2012/12/20(木) 02:10:07.73ID:???
>>747
負荷による

負荷と組みやすさのトレードオフで決めればいい
0750nobodyさん2012/12/20(木) 02:33:50.60ID:???
Railsとはちょっと離れる話だけど、カウンター系の実装は悩むよな
リアルタイム性が高いに越したことはない、の世界だし
みんなどうやってるんだろ
0751nobodyさん2012/12/21(金) 01:32:58.07ID:???
真面目にやるなら、memcachedとかに分散カウンタの仕組みを作るよ。
でも、カウンタを表示しなくてもなんとかなる作りにするのが流行りじゃないの?
0752nobodyさん2012/12/21(金) 01:53:41.43ID:pfZZNoyA
ActiveRecordに count_cache ってのもあったな。
0753nobodyさん2012/12/21(金) 01:54:52.50ID:pfZZNoyA
counter_cache だた
0754nobodyさん2012/12/22(土) 00:33:17.53ID:???
URL slugとか使ってる人います?

使ってる場合はroutingに:idに代わる引数を使っていますか?
それともfriendly_idみたいなgemを使っていますか?
0755nobodyさん2012/12/22(土) 01:26:25.47ID:E+md4EwU
to_param というメソッドがあってだな。
0756nobodyさん2012/12/22(土) 03:55:59.78ID:???
質問!
例えば
blogってモデルがあって
そこに投稿できたとします

本文にurlが含まれた場合は自動でハイパーリンク形式にして表示させようと思うんだけど

投稿時点で変換してやってカラムの中に<a href=.....
みたいにタグごと保存させるべき?
それとも表示させる時に変換して表示させるべき?
0757nobodyさん2012/12/22(土) 05:20:05.44ID:???
tag-itっていうインプットトークンを使ったことある人いる?

日本語での入力時に挙動おかしくない?
カーソルキーを押して初めて候補が表示される。

英語だとすぐに候補が表示されてるのに

これを直す方法を知ってる人がいたら
お願いします。
0758nobodyさん2012/12/22(土) 06:18:47.83ID:+yA+/kCp
>>756
https://github.com/tenderlove/rails_autolink

文字列にURLがあれば、自動的にリンクを追加する方法は何ですか? - QA@IT
http://qa.atmarkit.co.jp/q/2153
0759nobodyさん2012/12/22(土) 15:27:15.91ID:???
各種ページからUser#showの特定ユーザーページに行き着けるとします

そのとき遷移してきたページを
階層ごとに追加してパンクズリストに追加していきたいのですが
これはURLパラメータで渡して追加していくしかないのでしょうか?
たとえば

URL: hoge.com/user/1/show?list=index

みたいに
前のページがindexだったと分かるようなかんじですね。

ただし、この場合ってSEO的には不利ですよね?なにかいい方法はないものでしょうか?
0760nobodyさん2012/12/22(土) 15:34:54.03ID:???
セッションに保持しようぜ
0761nobodyさん2012/12/22(土) 15:55:51.03ID:???
>>760
普通の設計だとセッションに保持ですか?
0762nobodyさん2012/12/22(土) 16:25:17.72ID:E+md4EwU
サイトのページ階層を表示したいの?
遷移履歴を表示したいの?

どっち?
■ このスレッドは過去ログ倉庫に格納されています