トップページ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/
0628nobodyさん2012/12/04(火) 13:33:28.69ID:X5tWvJbJ
>>626

update_all

>>627

AR::Base.connection.execute
0629nobodyさん2012/12/04(火) 22:39:05.75ID:???
>>624
ありがとうございます。Rakefileに 
def rake(taskname)
Rake.application[taskname].invoke
Rake.application[taskname].reenable
end
と書いてconsoleからロードしたら良い感じになりました。
tasknameをクォートしないといけないのが面倒ですが・・・
0630nobodyさん2012/12/05(水) 20:34:52.02ID:???
Rails3.1を使っています。
Ajaxを使いページの更新をせずに更新情報だけを特定箇所に反映させ表示させたいです。
(Twitterと同じようにFollowボタンをクリックで→Un-Followに。Un-Followをクリックで→Followに)
次レスに書いたコードを貼り付けます。このようにコードを書き試しましたがエラーが返ってきます。
おそらく set_follow.js.erb に問題があるのかと思いますが。。
エスパーさん、どうかお願いします。
0631>>630の続き2012/12/05(水) 20:35:39.96ID:???
-----「users_controller.rb」-----
 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:???
-----「set_follow.js.erb」-----
$("#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:???
fがviewに渡ってない
0635nobodyさん2012/12/06(木) 05:20:52.55ID:???
"Entry"というモデル名をさける
http://www.ustream.tv/recorded/25419544

Enumerable#entries
http://ruby-doc.org/core-1.9.3/Enumerable.html
0636nobodyさん2012/12/06(木) 09:40:34.41ID:???
>>630
エラーが帰ってくるならその内容見て問題点を把握すれば良いのでは?
0637nobodyさん2012/12/06(木) 13:24:17.88ID:???
>>634
レスありがとうございます
この場合、どのようにすれば回避できますでしょうか?


>>636
すみません。語弊がありました。
エラーが返ってくるのではなく、
Followをクリックしても表示が切り替わらない(つまり、何も動かない。変化しない)というのが正しいです。
0638nobodyさん2012/12/06(木) 21:01:18.32ID:11RbrkAb
よく見てないけど、コントローラーのインスタンス変数(@f)にすれば
ビューにコピーされるので使えるよ。
0639nobodyさん2012/12/06(木) 21:38:34.37ID:???
>>638
ありがとうございます。試してみます。
やり方としては上に書いたような方法で問題ないですよね?
0640nobodyさん2012/12/07(金) 00:10:01.78ID:8cSZfdva
Ruby on Rails 3 の Ajax いろいろ
http://d.hatena.ne.jp/yuum3/20120903/1346653974
0641nobodyさん2012/12/07(金) 00:58:57.62ID:???
>>637
Followクリックした時のサーバーのログとブラウザのログ見てみれば分かる
0642nobodyさん2012/12/07(金) 01:27:48.74ID:???
>>641
サーバーのログは見るようにしていますが
ブラウザのログってあるんですか???
0643nobodyさん2012/12/07(金) 01:57:13.40ID:???
>>638
さっそく試させていただきました。

>>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:8cSZfdva
pjaxが便利過ぎて鼻血出そうになった(railsのサンプル付き)
http://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:???
>>642
chrome や opera なら右クリして要素を検証ってやつだよ。
firefox は firebug とかいうやつ。
js にエラーがあるならそこのコンソールってとこに表示される。
0648nobodyさん2012/12/07(金) 05:56:59.52ID:???
>>644 view で @f の値で分岐すれば良いんじゃないかな。
set_follow.js.erb を
<% if @f %>
$("#follow_status").html("こんにちわ");
<% else %>
$("#follow_status").html("さようなら");
<% end %>
に変えたら変更されない?
0649nobodyさん2012/12/07(金) 07:22:00.35ID:???
>>648
おはようございます。
朝早くからレスありがとうございます。

そちらも試させていただきましたが反応なしです。

試しにJQueryのfadeOut(画像が徐々にフェードアウトしていく機能)
を直でshow.html.erbに記述して表示させましたが、
それすら動かない様子です。

どうやらJQuery自体がまともに読み込まれて動いていないのかもしれません。

現在Rails3.1にgemでjquery-railsやjquery-ui-railsを入れています。
色々と試してはいるのですが心当たりが見あたりません。
0650nobodyさん2012/12/07(金) 11:22:15.28ID:???
>>649
ブラウザでアクセスしてhtmlのソース見てjsへのリンクがあるか確認してみたら?
Railsとか以前の問題だわw
0651nobodyさん2012/12/07(金) 11:37:05.67ID:???
follow_user_pathってなに
0652nobodyさん2012/12/07(金) 12:04:25.90ID:???
俺もRails3でAjax使おうと思って最初はまった素人なんだが
jquery_ujs.jsを読んでAjaxの動作を把握するのが一番だと思うわ

これアドバイスしてる奴は誰もソースちゃんと読んでないだろ(俺含め
06532012/12/07(金) 12:20:23.99ID:???
Railsのhメソッド、uメソッド、jメソッドはどのように使い分ければ良いでしょうか? - QA@IT
http://qa.atmarkit.co.jp/q/2438
0654nobodyさん2012/12/07(金) 17:55:34.73ID:nbhQU3dc
kaminariを使ってるんですけど、最後のページを取得するってできますか?

list = Item.order("id DESC").page(params[:page])
list.reverse!
で一応最後から順に取得できますが、ページ数が1となってしまいます
ページ数がlastから始まるようにすることっできますか?
0655nobodyさん2012/12/07(金) 20:10:29.41ID:???
num_pages
https://github.com/amatsuda/kaminari/wiki/Kaminari-recipes
0656nobodyさん2012/12/08(土) 05:18:46.92ID:SvWzDcWm
SQLで昇順、降順を表すASC,DESCの言葉の由来 - SQL Server - 教えて!goo
http://oshiete.goo.ne.jp/qa/3839467.html
0657nobodyさん2012/12/09(日) 02:25:39.24ID:???
オススメのブログgemってありますか?
一般的なブログみたいに

右に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:???
ちなみにブログを作るとしたらURLは

その@
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:36Xf50eu
ブログ
http://dir.yahoo.co.jp/Computers_and_Internet/Internet/World_Wide_Web/Weblogs/?frc=dsrp_jp0011
0660nobodyさん2012/12/09(日) 05:30:41.09ID:36Xf50eu
blog
https://www.ruby-toolbox.com/categories/Blog_Engines
0661nobodyさん2012/12/09(日) 08:14:37.54ID:???
>>660
一通り見ましたが
どれもそのブログ単体でアプリとして稼働するような大型ばかりでした。
私が探しているのは、アーカイブメニューと必要最低限の投稿関連機能のみを追求したものになります。
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で違う認証システムが主流になっても
自作するよりは、今までの知識捨ててそれ覚えるほうが楽っていうのはかわらないんじゃないかな
そうならないなら自作すればいいし
■ このスレッドは過去ログ倉庫に格納されています