【RoR】Ruby on Rails Part13
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2011/11/04(金) 17:06:24.32ID:???【Ruby】Ruby on Rails Part12
http://hibari.2ch.net/test/read.cgi/php/1311050686/
■参考サイト
<英語>
本家: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/
http://twitter.com/dhh
http://www.loudthinking.com/
0653nobodyさん
2012/01/15(日) 06:44:56.04ID:SjKDw288最近Railsを始めた初心者です。
Rails3 のActiveRecordについて質問です。
Post
belongs_to :User
User
has_many :Posts
となっており、
PostsController#indexにおいて、
respond_to do |format|
format.json { render json: @posts }
end
という形で@postsを返す際に、Userモデルのnameを含めたいと考えました。
@posts = Post.select('posts.title,users.name').joins(:User).limit(10)
としてやると、
SELECT posts.title,users.name FROM `posts` INNER JOIN `users` ON `users`.`id` = `posts`.`User_id` LIMIT 10
となり、発行されるSQL的には良いのかなと思っているのですが、
返ってくる値に利用される値はposts.title のみになってしまいます。
なんかとんでもない初歩的なところで躓いてるような気がするのですが、
いろいろ調べたり試したりしてハマってしまってます。
なにか方針やヒントなど、
諸先輩方のご教示をいただければ幸いです。
0654nobodyさん
2012/01/15(日) 09:12:28.97ID:???てな感じかと
0655nobodyさん
2012/01/15(日) 09:33:24.49ID:???あと実コードは違うのかも知れないが、関連のシンボルは小文字で(:user)。
0656nobodyさん
2012/01/15(日) 10:23:01.12ID:nqvAfoHqassets/javascript/application.js に書かれている
//=require jquery
の実体(jquery.js)はどこにあるんでしょうか?
普通は、assets/javascript以下に置いてあるのかと思うんですが、ありません。。
公式サイトなどから毎回ダウンロードするような処理が組み込まれている(?)んでしょうか。
これから、jqueryを使おうと思っていて
自分のRailsのjqueryのバージョンがどうなってるか、
メンテナンスをどうするか
実体がどこにあるかわかならいと
調べようがないなと思い、質問させてもらいました。
ご存じの方教えてください。よろしくお願いします。
0657nobodyさん
2012/01/15(日) 12:53:44.45ID:8bjFmpXJGEM_HOME/gems/jquery-rails-VER/vendor/assets/javascripts
0658nobodyさん
2012/01/15(日) 15:14:06.66ID:???0659nobodyさん
2012/01/15(日) 15:42:40.18ID:8bjFmpXJ0661nobodyさん
2012/01/16(月) 12:32:09.25ID:???EBS用いれば、サーバー停止 してもデータは消えない
EC2はIPアドレスが毎回変わってしまう
EIP(Elastic IP)を用いて固定アドレスを割り当て可能
クラウドは障害がおきると何もできない
物理DC/サーバーも障害は起こる。
クラウドの良さは、障 害からの復帰に複数の手段があり、備えておける
http://www.slideshare.net/kentamagawa/aws-9170814
http://www.slideshare.net/kentamagawa/ss-8786548
http://www.slideshare.net/yuumi3/aws-on-rails
0662653
2012/01/16(月) 17:41:59.25ID:???>>655
ありがとうございます。
rails 3.1.3 で普通に返ってきました。(関連のシンボルは実コードも:Userになっていたので修正しました)
rails console でクエリの形を色々いじくって、返り値の値をみていたのせいか、
実際にjsonとして吐き出した時と返り値が違っていたので、ちょっと混乱していました。すんません。
0663nobodyさん
2012/01/16(月) 18:18:36.01ID:It2/qso7元に戻すいい方法ありませんか?ちなみにfirefoxで発生します。
0664nobodyさん
2012/01/16(月) 22:50:16.73ID:???結局他の認証ツールは情報が少ないのとrailsバージョン的にresthul_authenticationを使って行くことにしました
目標はユーザー登録、ログイン、ログアウト、adminのみアクセスできるページを作ることです。
http://www.aise.ics.saitama-u.ac.jp/~gotoh/NetBeansWithRestfulAuthentication.html
こちらのサイトを参考に、メール認証機能、パスワード変更機能、パスワード忘れ機能を省いて行く事に挑戦しようと考えました
mail.rb以降を飛ばしてpermissionの生成に移り、その他必要のなさそうな機能追加を無視して進めています
users_controller.rbのcreateやupdateをどうするべきかわからないのでアドバイスをもらえないでしょうか
環境は上記サイトとほぼ同じでsqliteでなくmysqlを使っています
またresthul_authenticationはプラグインでなくgemでインストールしました
0665nobodyさん
2012/01/16(月) 23:50:09.16ID:???すいません、>>664の質問はスルーでお願いします
もう時間もないのでアクセスできるコンピューターを限定して管理ページにだけ単純な認証機能をのせることで代用したいと思います
アクセス制限はapacheで公開するときに簡単に設定できるみたいですし・・・
スレ汚しすいませんでした
0666nobodyさん
2012/01/17(火) 00:06:10.11ID:???権限はcancanでも使えばいいし。
0667nobodyさん
2012/01/17(火) 10:45:36.97ID:xcCT9DhOhttp://d.hatena.ne.jp/uncafe/20110919
データベースのレプリケーション(複製)では、slaveに最低3台のサーバを適用している。
http://jibun.atmarkit.co.jp/ad/comp/112mitsu/01.html
0668nobodyさん
2012/01/17(火) 10:51:58.18ID:46QLTXdT緩やかな下落傾向にある一方で、C#は上昇傾向が続いており、特にここ数年は上昇傾
向が強くなっている。
今後しばらくは、C#とC++で順位の入れ替えを繰り返すものと見られるが、最終的には
C#が3位、C++が4位に落ち着く可能性が高い。また、Objective-Cも急成長を続けており、
この傾向が続いた場合には、C#、Objective-C、C++という順位に変わっていく可能性もある。
上記のほか20位以内に入ったプログラミング言語としては、Rが19位に、Luaが20位に
入った点が注目される。
特に、統計処理や統計データのグラフィック化などに利用されるRプログラミング言語は、
ここのところ注目が高まっている。Rの機能拡張が、Googleの支援によって実現したこと
などもその一因となっているものとみられる。
1 Java 17.479 (-0.082) 18ヵ月連続1位
2 C 16.976 (-0.081)
3 C# 8.781 (+0.576) 3位へ浮上。上昇傾向
4 C++. 8.063 (-0.189) 4位へ下落
5 Objective-C 6.919 (+0.114) 上昇傾向
6 PHP 5.710 (-0.291) 下落傾向
7 (Visual)Basic 4.531 (-0.226)
8 Python. 3.218 (-0.274)
9 Perl. 2.773 (+0.301)
10 JavaScript 2.322 (+0.123)
11 Delphi 1.576 (+0.331)
12 Ruby. 1.441 (-0.053)
http://news.mynavi.jp/news/2012/01/12/058/
0669nobodyさん
2012/01/17(火) 13:37:22.61ID:???0670nobodyさん
2012/01/17(火) 14:14:16.72ID:???どうしても必要ならコントローラから渡したり、erbにして取ったりはできる。
0672nobodyさん
2012/01/17(火) 19:06:28.60ID:???0673nobodyさん
2012/01/18(水) 13:43:28.80ID:???Railsで作成したプログラムからテーブルの列を変更することはできますか?
ユーザー側からテーブルの変更をできるようにしたいです.
0674nobodyさん
2012/01/18(水) 14:11:45.08ID:???migrationと齟齬出るし。
使ってるものによっては、アプリサーバの再起動も要る。
ある人が列消したりしたら、同時に使ってる人はエラーになる。
おとなしくphp*admin使えば?
0675nobodyさん
2012/01/18(水) 14:15:42.32ID:???やっぱりmigrationで毎回保守してる人が回さないとダメかー
0676nobodyさん
2012/01/18(水) 14:23:30.56ID:???あらかじめ多めにカラム取っておくとか。
一部のデータはjsonにしてtextのカラムに入れるとか。
検索必要ならviewみたいなの用意しとくとか。
住所録ならそんなに増えないでしょ。
0677nobodyさん
2012/01/18(水) 14:32:14.43ID:???項目ごとに独立したモデルを作る方法です.
[User]
name:string
furigana:string
[Attr]
attrname:string
attrdata:string
user_id:integer
な感じです.
で,別途AttrInfoモデルってのを作って項目の管理をする.
[AttrInfo]
attrname:string
正しいモデル図の書き方忘れちゃったから説明下手かもしれないですが,
そんな感じで子モデルとして項目を独立させる方法が楽かなぁと.
項目もフレキシブルな感じのほうがいいので..
今は,一つのフォームで複数の子モデル作成するとこで詰まってます.
0678nobodyさん
2012/01/18(水) 14:43:48.36ID:???0679nobodyさん
2012/01/18(水) 15:22:08.27ID:???0680nobodyさん
2012/01/18(水) 16:18:35.88ID:???Thx.できました!
>>679
MongoDBまだ理解してないですが,今回はユーザーが
DB操作せずに項目の増減できるようにしたいのでこんな感じになってます.
0681nobodyさん
2012/01/18(水) 22:57:41.69ID:NIE7IPJ60682nobodyさん
2012/01/18(水) 23:24:43.83ID:???0683nobodyさん
2012/01/19(木) 06:35:32.69ID:???http://devcenter.heroku.com/articles/rails31_heroku_cedar
RAILS_ENV=production bundle exec rake assets:precompile
0685nobodyさん
2012/01/19(木) 19:03:02.74ID:kCr+nbf20686nobodyさん
2012/01/20(金) 01:48:49.34ID:Bqw4Dvtwhtml_escapeとかはERB::Util.で行けるけど
image_tagとかそこらへんが使えなくて困ってます
include AssetTagHelperで行けるのかと思ったけど見つかりませんと言われるし
0687nobodyさん
2012/01/20(金) 07:40:20.22ID:???viewを使いたくない理由とは
0688nobodyさん
2012/01/20(金) 09:40:22.52ID:6rMlMhcMViewを使いたくないのではなくて、負荷を軽減するために
予めHTMLに変換してしまってDBに保存したいです
0689nobodyさん
2012/01/20(金) 10:25:14.23ID:???Railsのキャッシュ使うのはダメなの?
0691nobodyさん
2012/01/20(金) 10:57:41.22ID:6rMlMhcM言うなれば2chの掲示板みたいな機能でして
URLや画像をタグ化した状態で保存したいです
DB負荷を避けるために一定条件でDat落ちさせ
後ほどそれをテキストファイルに書きこんでdat化する作業もあるので結果的に楽なのです………
0692nobodyさん
2012/01/20(金) 15:06:46.25ID:0HmqnXsV0693nobodyさん
2012/01/20(金) 19:37:05.84ID:???ページキャッシュやフラグメントキャッシュがタグ化した状態で保存する機能なのだが
キャッシュのこと知らないで書いてるだろ
0694nobodyさん
2012/01/21(土) 02:32:19.08ID:???Agile Web development with Rails のebookも更新されとる。
0695nobodyさん
2012/01/21(土) 05:46:25.13ID:vuwYpWFihttp://weblog.rubyonrails.org/2012/1/20/rails-3-2-0-faster-dev-mode-routing-explain-queries-tagged-logger-store
https://twitter.com/#!/dhh/status/160412306537328640
0696nobodyさん
2012/01/21(土) 09:23:29.82ID:rw9MCCDR申し訳ありません、どれをIncludeすればいけますか?
先程書いたとおりassetHelperでは無理でした
>>693
ページキャッシュはしってますよ
でも、ページキャッシュではなくDBに保存しなければならないのです
そういう仕様なのでそう作らないと怒られるのですよー
他にも escape_javascriptをcontroller内で使いたいとか色々あると思うんです
0697nobodyさん
2012/01/21(土) 09:29:06.70ID:???0699nobodyさん
2012/01/21(土) 09:41:24.26ID:???ActiveSupport::Cache::Store を継承して要求しようにあったストアを作る。
0700nobodyさん
2012/01/21(土) 09:44:14.53ID:???http://devcenter.heroku.com/articles/memcache
0701nobodyさん
2012/01/21(土) 09:47:01.40ID:???require 'dalli'
dc = Dalli::Client.new('localhost:11211')
dc.set('abc', 123)
value = dc.get('abc')
0703nobodyさん
2012/01/21(土) 23:00:45.95ID:vuwYpWFihttp://www.onas.asia/home/kwansaiit/doc/Kwansai-IT-Benkyo-Enkai_2012-01-13-Shimoji.pdf
rubyの全くあたらしいフレームワーク
http://atnd.org/events/24013
0704nobodyさん
2012/01/21(土) 23:03:51.32ID:vuwYpWFihttp://kwansaiit.blogspot.com/2012/01/2012-01-1314it.html
0705nobodyさん
2012/01/22(日) 00:32:20.37ID:???0706nobodyさん
2012/01/22(日) 00:58:43.15ID:???すごい重いんだけどおすすめなにかない?
0707nobodyさん
2012/01/22(日) 01:22:57.72ID:???メモリの量とかCPUとかディスクにもよるし。
メモリの使い具合にも、SQLにもよるし。
0709nobodyさん
2012/01/22(日) 06:31:01.16ID:???CPUは常時50%くらい
メモリも常に1Gは余ってる(4GB)
IOもそんなに多くない
でも、めっちゃ重いんだ
0710nobodyさん
2012/01/22(日) 09:25:06.68ID:???0711nobodyさん
2012/01/22(日) 10:44:06.70ID:sE8mL0/vrails generate migrate add_カラム名_to_テーブル名 カラム名:型
って書くと思うんですが、
カラム名の中にアンダーバーを使いたい場合はどう書けばいいのでしょうか?
0712nobodyさん
2012/01/22(日) 11:54:22.60ID:???アンダーバーを使わずcamel caseで書けばいいのですね、
おさわがせしました。
0713nobodyさん
2012/01/22(日) 12:47:08.93ID:???rubyはバージョン間の互換性が凄く低い
とてもじゃないけど、保守的とは思えない
学生の文化祭ノリで言語作ってるから性質が悪い
0715nobodyさん
2012/01/22(日) 13:06:10.63ID:???それは感じた事ないな。
1.8系と1.9系は中身かなり違うが、書く分には対した違いではない。
遥か昔の1.4とかに比べても、そんなに変わってないと思う。1.6辺りからだと尚更。
MLに「こうしたら?」みたいな提案はよくあるけど、かなりの確率でmatzにリジェクトされてる。
昔はserializeしたデータにバージョン間で互換性がなくて実質使えなかったが、そういうのも聞かなくなった。
学生ノリはPHPとかスゴいよね。
関数名のアンダーバーをバージョン上がる毎に付けたり取ったり。
0716nobodyさん
2012/01/22(日) 13:13:09.46ID:???枯れてから使おうとか考えてる人には合わない。
仕事でもプロジェクト開始後にバージョン上げたりするし。
もちろんテストがあればこそできる話。
0717nobodyさん
2012/01/22(日) 13:24:18.85ID:sE8mL0/vhttp://yaml-mode.clouder.jp/
ここみてもみあたらないんですが・・・・
0718nobodyさん
2012/01/22(日) 13:25:30.57ID:sE8mL0/v0719nobodyさん
2012/01/22(日) 13:27:49.79ID:???新しい流れだなと。
0720nobodyさん
2012/01/22(日) 13:33:23.09ID:kpA61za+Rails1.2からRails3.1に移植したら大変かな?
0723nobodyさん
2012/01/22(日) 13:53:49.66ID:???無茶苦茶大変。
DBだけ残して新しく作る方が楽かも。
もしくはDBも新しくして、移行プログラム走らせるとか。
habtmみたいな、もう誰も使ってないのが使われてそう。
いずれにしろスキル要るし、1系から3系まで知ってる人はそんなに居ない。
0725nobodyさん
2012/01/22(日) 15:20:26.03ID:???0726720
2012/01/22(日) 16:54:14.92ID:???昨日1月20日に最新版Rails3.2出たんだな
>>725
ということで、Rails1.2からRails3.2への移植でおながいします
0727nobodyさん
2012/01/22(日) 17:12:54.33ID:???もうrake rails:updateとか無理だから、
新しく3.2でプロジェクト作る。
app/ とかを古い方から持ってくる。もしくは新しい方から、Gemfile や config周り持って行く。
routes 移植。
プラグイン周りとか移植。
最後のは移植しないで、例えば新しいプラグイン入れて、認証のencryptのとこだけ差し替えるとか。
どちらにせよ、茨の道。
0728nobodyさん
2012/01/22(日) 19:09:32.81ID:???0729nobodyさん
2012/01/22(日) 19:58:58.08ID:???具体的にどの辺りが大変だったのか参考までに聞きたい
Ajax周りは3系でガラッと変わったから面倒だったけど
0730nobodyさん
2012/01/22(日) 22:21:01.46ID:???・ブラウザでの通常のアクセスと
・JavaScriptとかでやってくるAPI的なアクセス
をコントローラ側で区別したい場合、どういうふうにするんでしょうか。
(a) Acceptヘッダーを見るのか、
(b) 独自にX-FooBarヘッダーをつけるのか
(c) *.jsonや*.xmlへのアクセスはAPIと見なすのか
よろしくお願いします。
0731nobodyさん
2012/01/22(日) 22:31:37.18ID:???0732nobodyさん
2012/01/22(日) 22:41:09.29ID:???(a)とか(b)だと使いまわしが面倒じゃない?
0733nobodyさん
2012/01/22(日) 23:19:32.46ID:???0734720
2012/01/23(月) 00:46:09.88ID:???どうもぉ〜
さっき本屋で立ち読みしてきたけど
Rails3.1の仕様もそ〜んなに変わってるようには見えなかった
でも、rhtml → erbまで違うとはね・・・
ま、多分、コンテンツになる部分だけ残して
あとは全部Rails3.2で作ることになりそう
インフル罹ったみたいなんで寝ますわ・・・
0735nobodyさん
2012/01/23(月) 01:30:53.30ID:???APIとブラウザの違いというか、返すデータの種類が違うなら
UAではなく求められているデータの種類で分けるべきでは
要求されてるものがブラウザがHTMLでAPIがjsonやXMLなら
:formatが違うから(そのようにするべきだろう)
単にrespond_toで分ければいいだけだろ
0736nobodyさん
2012/01/23(月) 02:34:29.77ID:???返すデータの種類を、拡張子で判断するよりも、Acceptヘッダーを見るほうが、本来は正しいあり方なんじゃないでしょうか。
/foo/bar/123
/foo/bar/123.html
/foo/bar/123.xml
/foo/bar/123.json
これらは、ほんらいは同じリソースのはずで、単に表現形式が違うだけにすぎない。
なのに別々のURLを割り当てるのは、おかしいように思います。
0737nobodyさん
2012/01/23(月) 08:24:44.75ID:???jsonが欲しければ.jsonで取るのは自然だと思うよ。
フォーマットが違うだけだし。
0738nobodyさん
2012/01/23(月) 08:30:21.94ID:???0739nobodyさん
2012/01/23(月) 09:52:44.98ID:X3Xu6cIF0740nobodyさん
2012/01/23(月) 10:47:27.27ID:???0741nobodyさん
2012/01/23(月) 20:43:45.49ID:???>フォーマットが違うだけだし。
だから違うURLを使うのはおかしいって話でしょ。
表現が違ってもリソースはひとつなんだから、本来ならURLもひとつにすべき。
0742nobodyさん
2012/01/23(月) 21:08:30.69ID:???そこまで考えまとまってるなら別に他がどうとか気にする必要ないよ。
0743nobodyさん
2012/01/24(火) 11:10:30.83ID:rjvP9n7Hプリコンパイルを一切使わない設定って出来ませんか?
CSSでクロスブラウザ対策してたりするとコンパイルこけるし
色々不便なので一切使わないようにしたいのですが
0744nobodyさん
2012/01/24(火) 14:23:23.89ID:???他は、 config/environments/production.rb
0745nobodyさん
2012/01/24(火) 15:01:11.36ID:???それだとhelperが使えないんだっけ?
0746nobodyさん
2012/01/24(火) 15:24:13.68ID:R2GYQ8Eehttp://railscasts.com/episodes/284-active-admin?language=ja&view=asciicast
0747nobodyさん
2012/01/24(火) 17:34:59.60ID:/isHqZPr0748nobodyさん
2012/01/24(火) 17:52:55.66ID:???0749nobodyさん
2012/01/24(火) 18:08:32.06ID:/isHqZPrそ、そんな
だめなんですか
特例でおしえていただきたいんですが
0750nobodyさん
2012/01/24(火) 18:13:03.92ID:/isHqZPr今ちいさなアプリケーションをrailsで作っているのですが、
formにメッセージを書き込む際に
あわせて書いた人のユーザーid を取得したいのですが、
どこに記述してよいかわかりません。
formの一部を抜粋するとこうなってます↓
<div class="field">
<%= f.label :message %><br />
<%= f.text_area :massage %>
</div>
お願いいたします
0751nobodyさん
2012/01/24(火) 18:14:55.52ID:???0752nobodyさん
2012/01/24(火) 18:16:14.91ID:???あとユーザIDってのは自分で入力させるの?
それともセッションかどっかに入ってるの?
■ このスレッドは過去ログ倉庫に格納されています