【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/
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:???一通り見ましたが
どれもそのブログ単体でアプリとして稼働するような大型ばかりでした。
私が探しているのは、アーカイブメニューと必要最低限の投稿関連機能のみを追求したものになります。
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
■ このスレッドは過去ログ倉庫に格納されています