【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:36Xf50euhttp://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:???5000個くらいある商品を季節毎に入れ替えするために
csvファイルをアップロードしてcsvによりテーブルの中身を
総入れ替えするボタンを作りました。
ここでふと気になったのですが
テーブルの中身を一括で入れ替える方法は僕が実装した方法の他にも
シードデータを使った方法など様々な方法があると思いますが
稼働中のアプリケーションにおいてcsvファイルをつかったテーブルの更新
というのはrailsのアプリケーションとして一般的な方法なのでしょうか?
残念ながら入門書を読んでもwebをさがしても疑問は解決しませんでした。
皆さんはこの場合どういう方法を使っていますか?
0665nobodyさん
2012/12/10(月) 22:52:49.29ID:???今も昔もインポート・エクスポートは csv が無難だと思うよ
0666あ
2012/12/11(火) 02:20:37.65ID:wspFP5Jyhttp://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さえすれば必ず動く!という認識でいいでしょうか?
0668あ
2012/12/11(火) 05:36:34.42ID:wspFP5Jyhttp://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
0669あ
2012/12/11(火) 05:44:56.38ID:wspFP5Jyhttp://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
0670あ
2012/12/11(火) 05:47:46.48ID:wspFP5Jyhttp://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
0671あ
2012/12/11(火) 06:16:02.85ID:wspFP5Jy(1)メールの第三者中継
(2)sshのポートは変えておけ
(3)認証系は必ず暗号化
(4)rootは使わない
(5)MD5
(6)DNSに登録する場合のデメリット
http://w033.seesaa.net/article/192818575.html
0672あ
2012/12/11(火) 06:52:18.29ID:wspFP5Jyhttp://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:???んなもんgemによっては追加の設定が必要なものもあるし、一概にこう、と言える
完璧な答えなんてないわな
動作環境構築手順をきっちりまとめておくというのはRailsに限らず、サーバ構築
の基本中の基本だ
文書としてまとめておいてもいいし、シェルスクリプトにしてもいいし、capstrano
みたいなのを使ってもよかろう
0674nobodyさん
2012/12/11(火) 16:22:35.12ID:???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.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:UJ9Con7b0678nobodyさん
2012/12/11(火) 21:59:37.37ID:???if post || post.owner_user?(current_user)
else
end
でいいんじゃないの
0681nobodyさん
2012/12/11(火) 22:41:40.40ID:???0682nobodyさん
2012/12/11(火) 23:58:48.59ID:9uZQlqYl0683あ
2012/12/12(水) 00:22:15.66ID:JEfJrekJhttp://blog.livedoor.jp/sasata299/archives/51718602.html
0684nobodyさん
2012/12/12(水) 11:22:30.93ID:???ああ、そうなのか
やりたいことの日本語がまずあやふやだからnilの時処理2に飛ばしたいのかと思ったけどそうじゃないんだね
>>680だな
0685nobodyさん
2012/12/13(木) 04:02:38.67ID:???こんなかんじなんだけど
<%= link_to 'bookmark', bookmark_rec_path(bookmark.id), :remote => true, :method => delete %>
0686nobodyさん
2012/12/13(木) 05:46:50.83ID:8LaxKrHphttp://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:???下記の各種条件に該当したとき、処理直後のそれぞれの 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つ elsif
0689nobodyさん
2012/12/13(木) 21:41:58.43ID:???0690nobodyさん
2012/12/13(木) 22:09:20.06ID:???0691nobodyさん
2012/12/13(木) 22:40:40.36ID:8cjTOb9L0692nobodyさん
2012/12/13(木) 22:49:41.87ID:???returnって現代、とくにrailsでは
あまり使うべきではないだろう
returnを使うそんな設計はクソ
0693nobodyさん
2012/12/13(木) 22:51:55.59ID:???あるある
原理主義もいいとこだわな
入力チェックの後ろにでっかい else がくっついてるというあほなメソッドが沢山
0694nobodyさん
2012/12/14(金) 00:00:40.97ID:???普通に上みたいな状況では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:???urlそのものの中に記事のタイトルをいれると強いな、これ
0698nobodyさん
2012/12/14(金) 05:06:39.34ID:???これがSEOに引っかけるための
一番の手段なんや
0699nobodyさん
2012/12/14(金) 06:20:43.12ID:???どうしても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:???http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.html
0702nobodyさん
2012/12/14(金) 14:07:15.40ID:???ありがとうございます
もう1つ質問なのですが、
ユーザー ←→ 都道府県マスタ(47都道府県名)
一人のユーザの編集画面で都道府県を選ぶようなケースの場合は
user.rbに has_one :todofuken
todofuken.rbに belongs_to :user
が適正なアソシエーションでしょうか?
0704nobodyさん
2012/12/14(金) 15:29:42.62ID:???ありがとうございます
todofuken.rb→has_many :users
user.rb→belongs_to :todofuken
で期待通りの動きをしているようですが、
これはおかしいんですか?
0705nobodyさん
2012/12/14(金) 15:38:20.44ID:???ああ、ユーザーに選択式ってことだから複数チェックボックスかと思ったけど一ユーザー一都道府県ならそれであってる
0706nobodyさん
2012/12/14(金) 15:43:11.19ID:???ありがとうございます。
ユーザーのプロフィール編集画面で
各自の都道府県を選ぶようにしています
user modelにはtodofuken_idのカラムを用意しています。
設計方法として問題なさそうでしょうか?
0708nobodyさん
2012/12/15(土) 08:53:01.42ID:ZQMsU3ZLhttp://en.wikipedia.org/wiki/Prefectures_of_Japan
0710nobodyさん
2012/12/15(土) 10:36:42.68ID:???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の勉強しなよ
0714nobodyさん
2012/12/15(土) 12:37:01.27ID:???mail = [{:a=>[title,body]},{:b=>[title,body]},{:c=>[title,body]}]
こういうこと・・・なの?
0716nobodyさん
2012/12/15(土) 13:08:45.67ID:???マジでそうなのか・・・>>712の言うようにrubyの勉強しろ
と言うかググレ「ruby 配列 最後」とかでググレ
0717nobodyさん
2012/12/16(日) 00:41:14.09ID:???なにか工夫できる点とかある?
0718nobodyさん
2012/12/16(日) 01:19:33.42ID:???実際にはそんな事にはならないし、対処法もよく知られてる
0719nobodyさん
2012/12/16(日) 03:31:11.14ID:TfTpyI1zActs_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:???if hoge.present?
て書くのが鉄板
present使うとhogeに
必ず何かの文字列が入っている場合のみ
っていう扱いになる
マジおすすめ
0722nobodyさん
2012/12/16(日) 11:35:07.64ID:???deviseとか最強じゃん
rails3.2以上にバージョンアップしていく必要なんてほとんどないだろ
0723nobodyさん
2012/12/16(日) 11:41:13.25ID:8gHW4Yi/0724nobodyさん
2012/12/16(日) 11:53:27.15ID:???荒らしが出てきたため、論理削除で該当Userを削除すると、
繋がっている色んな箇所においてレンダーする際にnilエラーが発生しますよね?
こういうのを防ぐには全ての箇所にif文でnilだったときの回避を想定して書いていくしかないんですか?
それともmodelの段階でdependancyにしておいて
連携しているものは全て同時に削除させるのですか?
後者だと、仮にコミュニティーのオーナーユーザーが会員抹消したときに
既存のコミュニティ自体も消えますよね?
これはこれで現実的ではない気もします。
0725nobodyさん
2012/12/16(日) 12:06:27.90ID:???消して良いものとそうでないものは、自分で書いてるんだから分かるでしょ。
連動で消す消さない選ぶだけだし。
エラーになりそうな箇所は、そうならないように設計すれば良いだけで。
エラーになっても例外補足したら良いし。
こういうのはRails関係ないけどな
0726nobodyさん
2012/12/16(日) 12:11:09.69ID:???自分で書けるが、面倒なのでdeviseとか使ってる。
devise使うかどうかはかなり長い間迷った。実際嫌いな人がたくさん居る。
0727nobodyさん
2012/12/16(日) 12:26:16.41ID:???自作するよりは、今までの知識捨ててそれ覚えるほうが楽っていうのはかわらないんじゃないかな
そうならないなら自作すればいいし
0728nobodyさん
2012/12/16(日) 13:06:18.95ID:???お金払ってもいいレベル
gemの中で世界一需要あるだろ、あれ
0729nobodyさん
2012/12/16(日) 13:40:56.50ID:???その下のwardenまでなら許容できる
0730nobodyさん
2012/12/16(日) 16:04:54.26ID:qaK7KzoYhttp://blog.madoro.org/mn/84
0731nobodyさん
2012/12/16(日) 16:43:48.42ID:???0732nobodyさん
2012/12/16(日) 19:50:11.84ID:8gHW4Yi/ruby 2.0.0dev (2012-12-01 trunk 38126) [x86_64-darwin12.2.1]
アイウエオABCDE
古いRubyのnkfだと-Z3までしかないかも。1.9系ならたぶんある。
0734nobodyさん
2012/12/16(日) 21:56:58.54ID:TfTpyI1z>>727
趣味で作ってる分にはいいんだけど、
一度Rails3.2 & deviseで作ったWebサービスを公開して、
将来deviseがディスコンになった時がねー。
他の認証システムにユーザーデータをスムーズに移行させるのは結構めんどい気がする。
0735nobodyさん
2012/12/17(月) 00:09:31.08ID:1jwbQomXnkf 自体は標準ライブラリだよ。(-rnkf == require 'nkf')
1.9.2のならもう-Z4導入されてるんじゃないかなぁ。
手元にないしコンパイルしてまで確認する気にもならないので試せないけど。
0736nobodyさん
2012/12/17(月) 08:14:48.38ID:wruMuh6O0737nobodyさん
2012/12/17(月) 10:21:42.49ID:dIcXqlm1http://www.oiax.jp/rails/zakkan/has_secure_password.html
0738nobodyさん
2012/12/17(月) 10:37:46.26ID:???ありがとうございます
全角英数のみ→半角英数なので
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:???・JavaScriptでボタンクリック時にformのactionをすり替える
・submitボタンにname属性をつけておいて、コントローラでそのname属性を見て処理を分岐する
0743nobodyさん
2012/12/19(水) 23:12:55.98ID:???そもそも
form_for
f.submit name => 'action1'
f.submit name => 'action2'
end
みたいにsubmitが中に2つ存在とかありうることですか?
その際、コントローラーでは
このnameの中身はどのように取得するんですか?
0744nobodyさん
2012/12/20(木) 00:30:10.97ID:???一般的なんてのはない
システムの要件で決めれ
>>743
ふつーにありえる話
nameの中身なんてparamsダンプすりゃ分かる
やってみれ
0745nobodyさん
2012/12/20(木) 00:57:48.77ID:???ありがとうございます
最後に教えてください
@一般のlink_toやbutton_toはURLに対して引数を渡すイメージ
Aそれらに対し、form_forではオブジェクトの集合体の情報をまるまるコントローラーへ渡す感じ(引数がURLに出現することはない)
この認識で正しいですか?
なお、form_forの中ではlink_toのようにパスがかかれていません。
呼び出されるアクションはどうやって決まっているんですか?
呼び出すのがcreateの場合もあるし、updateの場合もあるわけですが
_form.html.erb内には記載がありません。。。
今回はさらにそれに対して呼び出し先をdeleteアクションにしてやらないといけないので。。
0747nobodyさん
2012/12/20(木) 01:40:01.82ID:???トピックスに今現在ついてるコメント数は表示の度にカウントで計算させて表示させてる?
それともコメントをcreateする度にカウントの集計をとって
それをトピックのテーブルにあらかじめ格納しておく?
後者のほうが表示が早そうだし
普通なのかな?
0748nobodyさん
2012/12/20(木) 01:50:56.98ID:d/t2+tfj0750nobodyさん
2012/12/20(木) 02:33:50.60ID:???リアルタイム性が高いに越したことはない、の世界だし
みんなどうやってるんだろ
0751nobodyさん
2012/12/21(金) 01:32:58.07ID:???でも、カウンタを表示しなくてもなんとかなる作りにするのが流行りじゃないの?
0752nobodyさん
2012/12/21(金) 01:53:41.43ID:pfZZNoyA0753nobodyさん
2012/12/21(金) 01:54:52.50ID:pfZZNoyA0754nobodyさん
2012/12/22(土) 00:33:17.53ID:???使ってる場合はroutingに:idに代わる引数を使っていますか?
それともfriendly_idみたいなgemを使っていますか?
0755nobodyさん
2012/12/22(土) 01:26:25.47ID:E+md4EwU0756nobodyさん
2012/12/22(土) 03:55:59.78ID:???例えば
blogってモデルがあって
そこに投稿できたとします
本文にurlが含まれた場合は自動でハイパーリンク形式にして表示させようと思うんだけど
投稿時点で変換してやってカラムの中に<a href=.....
みたいにタグごと保存させるべき?
それとも表示させる時に変換して表示させるべき?
0757nobodyさん
2012/12/22(土) 05:20:05.44ID:???日本語での入力時に挙動おかしくない?
カーソルキーを押して初めて候補が表示される。
英語だとすぐに候補が表示されてるのに
これを直す方法を知ってる人がいたら
お願いします。
0758nobodyさん
2012/12/22(土) 06:18:47.83ID:+yA+/kCphttps://github.com/tenderlove/rails_autolink
文字列にURLがあれば、自動的にリンクを追加する方法は何ですか? - QA@IT
http://qa.atmarkit.co.jp/q/2153
0759nobodyさん
2012/12/22(土) 15:27:15.91ID:???そのとき遷移してきたページを
階層ごとに追加してパンクズリストに追加していきたいのですが
これはURLパラメータで渡して追加していくしかないのでしょうか?
たとえば
URL: hoge.com/user/1/show?list=index
みたいに
前のページがindexだったと分かるようなかんじですね。
ただし、この場合ってSEO的には不利ですよね?なにかいい方法はないものでしょうか?
0760nobodyさん
2012/12/22(土) 15:34:54.03ID:???0762nobodyさん
2012/12/22(土) 16:25:17.72ID:E+md4EwU遷移履歴を表示したいの?
どっち?
■ このスレッドは過去ログ倉庫に格納されています