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

【RoR】Ruby on Rails Part12

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん2011/07/19(火) 13:44:46.30ID:zxrusyvr
■前
【Ruby】Ruby on Rails Part11
http://hibari.2ch.net/test/read.cgi/php/1292032736/

■参考サイト
<英語>
本家: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/
0893nobodyさん2011/10/22(土) 12:34:35.20ID:x4TX45Mm
blogsテーブルとそれに属するentriesテーブルがあります。

通常はentriesはcreated_at降順で並べたいのですが、
blogs.status=1の時のみ、created_at昇順で並べたい、という要件があります。

素直に実装すると、entriesを表示する全ての箇所で、
if entries.blog.status = 1
entries.order('created_at DESC').each {}
else
entries.order('created_at').each {}
end

のようなコードになります。
これが結構煩わしいので、場合分けしなくてもよい方法を探しています。

entryモデルの中でscopeを定義しようとしても、
scope定義の中からblogを参照する術が無いし、
blogモデルのhas_many :entries, :orderで指定しようとしても、やはりblog.statusを参照する術がありません。

何か良い方法は無いでしょうか。
0894nobodyさん2011/10/22(土) 12:48:52.13ID:???
なんでentriesから行こうとするの?
if blog.status == 1
blog.entries.order() # order A
else
blog.entries.order() # order B
end
みたいにすれば良いのでは。

scope 使うならjoinして中で判別したら良いし
08958932011/10/22(土) 13:20:08.08ID:x4TX45Mm
>>894

ありがとうございます!こんなに早くレスを頂けるとは。。

すいません。コードの方は単純な間違いです。
いずれにしても場合分けが毎回発生するのが問題でした。

そしてscopeにjoinが使えることを初めて知りました。
これで解決できそうです。ありがとうございました。
0896nobodyさん2011/10/22(土) 15:55:55.18ID:???
routes.rbについて質問させてください

http://***.com/歴代の総理大臣
というように日本語が含まれたURLを作る場合に、

map.connect "歴代の総理大臣"
と記述して動くサーバーと、
map.connect "%E6%AD%B4%E4%BB%A3%E3%81%AE%E7%B7%8F%E7%90%86%E5%A4%A7%E8%87%A3"
とエンコードしないと動かないサーバーがあります

この辺の挙動の違いはおそらくRailsの問題ではなくてサーバー側の設定だとは思うのですが、何かアドバイスいただけると幸いです
使っているサーバーはCentOSやローカルのMacだったりとバラバラです
0897nobodyさん2011/10/22(土) 17:15:23.46ID:???
URLエンコードで統一すればいいじゃん
0898nobodyさん2011/10/22(土) 18:33:03.65ID:???
>>896
ブラウザだったりするかも
08998962011/10/22(土) 20:42:13.78ID:???
>>897
09008962011/10/22(土) 20:49:54.37ID:???
すいません途中で書き込んでしまいました
>>897
今までは非エンコードとエンコードの両方をroutes.rbに記述して対応していました
そうすることで開発用ローカル(エンコードのみ動く)と実機サーバー(非エンコードのみ動く)の両方で同じroutes.rbを使えたからです
ただ、最近借りた海外VPSでは非エンコードとエンコードのどちらも全く受け付けないので、根本的な解決を図ろうと質問しました
0901nobodyさん2011/10/23(日) 14:04:51.81ID:???
すみません。おしえてください。
ubuntu 11.10
ruby 1.9.1

gem --version
Invalid gemspec in [/var/lib/gems/1.8/specifications/json-1.6.1.gemspec]: invalid date format in specification: "2011-09-18 00:00:00.000000000Z"
Invalid gemspec in [/var/lib/gems/1.8/specifications/tilt-1.3.3.gemspec]: invalid date format in specification: "2011-08-25 00:00:00.000000000Z"

とエラーがでるのですが、、、
どうしてでしょうか?

0902nobodyさん2011/10/23(日) 15:50:11.34ID:FKiWFVH2
Rails3系の話なら、1..9.1はドキュメントに not usableと書いてあるんだが。
0903nobodyさん2011/10/23(日) 16:01:51.71ID:FKiWFVH2
https://github.com/rubygems/rubygems/commit/21cccd55b823848c5e941093a615b0fdd6cd8bc7

rubygemsが利用する、ruby付属のYAMLパーサの問題のようなので、
お仕着せ環境で回避するには、該当specificationの日付を直接修
正してしまう(時間パートを丸ごと削除)というのがぐぐるといっぱい出
てくる。
09048962011/10/24(月) 17:34:01.20ID:???
>>896ですが少し解決しました
例えば「あ」という日本語URLをroutes.rb内でデコードする際に、
「%e3%81%82」になる環境と「%E3%81%82」 になる環境があるようです(大文字or小文字)

ruby/rails/passengerのバージョンを全く同じバージョンにして複数の環境で試してみたところ、
CentOS 5.5環境では大文字に、CentOS 6では小文字になりました

何が原因なのかは結局わかりませんが一応自己解決しました
0905nobodyさん2011/10/25(火) 12:15:29.24ID:???
質問させてください。


Usersテーブル(id, name)
Messagesテーブル(user_id, from_id, body)

があるとして簡易メッセージ機能を実装したいとします。

その際にリレーションを張るとしたら、
Messageテーブルから見たとき
user_idが送信宛先ユーザーのid、
from_idが送信元(送信者)のidとして
それぞれどのようにモデルには記述すべきでしょうか?

どちらも同じUsersテーブルにリレーションを張ることになります。

通常であれば テーブル名の単数形_idのフィールドを用意するのでしょうが
この場合は
送信宛先、送信元ともにUsersテーブルなので重複してしまいます。

0906nobodyさん2011/10/25(火) 14:15:16.47ID:???
from_idでいいじゃん
0907nobodyさん2011/10/25(火) 14:55:23.84ID:???
>>906
from_idでusersテーブルのidに繋げられますか?
0908nobodyさん2011/10/25(火) 15:09:22.88ID:???
ああDBのほうじゃなくてモデルね

class Message < ActiveRecord::Base
belongs_to :user
belongs_to :from, :class_name => 'User'
end
0909nobodyさん2011/10/25(火) 18:53:33.91ID:???
>>908
ありがとうございます
Usersモデルからはhasしなくてもいいんですか?
0910nobodyさん2011/10/25(火) 18:56:31.32ID:???
また何から何まで教えて君かよ
0911nobodyさん2011/10/25(火) 19:01:12.46ID:???
>>909
したきゃすりゃいい
そういうものだ
0912nobodyさん2011/10/25(火) 20:37:49.79ID:8ijHAbC2
Rails
自己参照結合
0913nobodyさん2011/10/26(水) 00:40:14.06ID:???
>>910みたいに煽ってる奴が一番無知なんだろうなw
0914nobodyさん2011/10/26(水) 04:03:35.48ID:V3wQJwQn
ruby/rails/RailsGuidesをゆっくり和訳してみたよ/Active Record Associations - 株式会社ウサギィwiki
http://wiki.usagee.co.jp/ruby/rails/RailsGuidesをゆっくり和訳してみたよ/Active%20Record%20Associations
自己結合(Self Joins)
0915nobodyさん2011/10/26(水) 11:03:08.59ID:???
>>913
ご本人様おつかれさまです
0916nobodyさん2011/10/26(水) 14:12:59.28ID:???
質問させてください。
以下のようなモデルを作るとします。
$ rails g scaffold Product name:string price:float url:string
$ rake db:migrate

そして、Productモデルクラスでinitializeメソッドを追加します。
class Product < ActiveRecord::Base

def initialize
@foo = 1
end

end

そうすると、scaffoldの画面で新しいProductオブジェクトを作ろうと「New Products」リンクをクリックすると、

You have a nil object when you didn't expect it!
You might have expected an instance of Array.
The error occurred while evaluating nil.[]

というようなエラーが出てしまいます。
ちなみにinitializeメソッドをコメントアウトすると治ります。

どうしてinitializeメソッドを追加するとこうなってしまうのでしょうか?
0917nobodyさん2011/10/26(水) 14:14:26.05ID:???
>>916
initialize メソッドは Product.new のときに呼ばれるメソッドなので、
それを上書きしちゃったらダメ
0918nobodyさん2011/10/26(水) 14:30:55.15ID:???
>>916
また何でも教えてくれクンかよ
これだから日本人はw
0919nobodyさん2011/10/26(水) 14:42:11.71ID:???
なんでも何も、勝手にメソッドを上書きして動かないとか、
どこに疑問に思う余地があるんだよ
0920nobodyさん2011/10/26(水) 20:50:00.49ID:NrqfyF3v
ふつうは元の初期化をするためのsuperをinitializeの中のどこかで呼ぶ
ことになるだろうし、AR::Baseのサブクラスなら after_initialize や after_find
というコールバックがあるな。
0921nobodyさん2011/10/27(木) 06:29:21.47ID:???
初心者には分からんかもな。
コンストラクタはinitializeです、ここで初期化しますってのをRubyの本で読んだ後に、ARでそれやったら動かないみたいなもんだから。
0922nobodyさん2011/10/27(木) 10:03:32.64ID:???
AR での問題ではなく、継承使ってる場合なら普通に発生するので、初心者だからと言って
ごまかせる話ではないような

さすがに継承も知らん、という状態だとコードはほとんど書けないだろうし
0923nobodyさん2011/10/28(金) 11:37:16.96ID:???
railsを外部委託したいんだが

SNSサイト
25テーブル 150カラム
遷移ページ 30
サーバー構築手数料こみこみ(ハードウェア代は抜きとして)


でいくらくらいが妥当かな?
0924nobodyさん2011/10/28(金) 11:49:56.41ID:???
ついに教えて君が根を上げたか
0925nobodyさん2011/10/28(金) 12:06:20.25ID:???
教えて君はバカな日本人でFA
0926nobodyさん2011/10/28(金) 12:10:48.16ID:???
>>923
作業範囲、サービス品質などによってピンキリ
というか、そんなざっくり論を展開するような顧客の案件はどこも請けてくれない

要はビジネスに向いてないってことだ
0927nobodyさん2011/10/28(金) 12:13:36.16ID:???
テーブル数とページ数で分かるわけないだろw 中身で全然違う。

こんなとこで聞かないで、素直に開発会社に話持ってって見積頼めばええやん
0928nobodyさん2011/10/28(金) 12:48:11.59ID:???
その分だと設計も全然できなそうだから、テーブル決められてる分、高くなるわな。
0929nobodyさん2011/10/28(金) 12:56:24.53ID:???
こんなとこで聞くよりまともな開発会社に聞け
まともな開発会社が分からないなら人脈使って探せ
人脈もないならビジネス失敗は確定だからさっさと手を引け
0930nobodyさん2011/10/28(金) 13:06:38.00ID:???
>>923
バーカw
0931nobodyさん2011/10/28(金) 13:07:22.03ID:???
>>923
ざっとみて50万〜750万くらいかな
0932nobodyさん2011/10/28(金) 13:19:04.29ID:???
どうせデザインもないんだろうし、サーバ構築コミで50なんてあり得ないだろw
学生バイトに頼むなら分からんでもないが
0933nobodyさん2011/10/28(金) 14:31:41.71ID:F7F0tBhs
>>923
Grouptube (グループチューブ) ソーシャルネットワーキングサイトのASPサービス
http://grouptube.jp/
月額たったの840円!

http://sample.grouptube.jp/
0934nobodyさん2011/10/28(金) 14:38:28.27ID:???
>>923
http://gigazine.net/news/20110408_facebook_opencompute/

Facebook、ユーザー数が8億人を突破したと発表 - ITmedia ニュース
http://www.itmedia.co.jp/news/articles/1109/26/news030.html

月間アクティブユーザー数3.8億人(Inside Facebook 2/1)
サーバ台数6万〜10万台(推定)
1秒5000万リクエスト。
http://www.slideshare.net/naoto111/facebook-4732201
0935nobodyさん2011/10/28(金) 21:31:22.08ID:???
そこそこ時間のかかるバッチ処理中に全てのリクエストが工事中ページに向かうようにしたいのですが、
.htaccess 書き換え以外に rails で完結する方法はありませんでしょうか?
0936nobodyさん2011/10/28(金) 21:55:14.23ID:???
ApplicationControllerにbefore_filter入れてどっかにリダイレクトか、routes書き換え。
ほんとはApacheの設定とかで飛ばした方が良いけど。
0937nobodyさん2011/10/28(金) 22:21:48.09ID:???
>>936
ありがとうございます。
routes 書き換えは routes.rb をそのまま置き換え/書き換えという認識であっていますでしょうか?
0938nobodyさん2011/10/28(金) 23:17:39.62ID:???
先頭で全部のアクセスをどっかに飛ばして、次の行でreturnかなと思ったけど、今のroutesだとあれだから、やっぱりフィルタが良いかも。
0939nobodyさん2011/10/29(土) 12:46:03.56ID:???
命名規則についての質問

�@ユーザー情報のメインテーブル(Mains)
�Aユーザー情報のサブテーブル(Subs)
�Bユーザーの投稿ポストテーブル(Posts)
の3つがあるとして

�Aサブテーブル(Subs)のNameカラムにユーザー名が格納。


その場合 Subsのmain_idがMainsのidに繋がって
モデルは↓
Mains has_one Subs
Subs belongs_to Mains
になると思うんだけど

Postsからユーザー名(�ASubsのName)を引っ張り出すときは

Postsのsub_idとSubsのidを繋げばいいですか?
それとも
Postsのsub_idとSubsのmain_idを繋ぐべき?

結局のところ
Subsの id = main_id
だから、どちらでもいいんだろうけど
どういった作り方が普通なのか気になります。
0940nobodyさん2011/10/29(土) 13:25:01.65ID:???
そのメーブル名は良くないけど、それはおいといて。

ショートカットという意味でPostにsub_id持つのは構わないけど、あまりやらないかな。
Postにはmain_id持たせてるから、そこから辿る。それだとこんな感じ。
Post.where(なんちゃら).includes(main: :sub)

で、個々のpostから名前をviewとかで引くなら、
post.main.sub.name
みたいになって長いから、Mainで:nameをdelegateする。
delegate :name, to: :sub
そうすると
post.main.name
と書ける。
もっと短くしたければ、またdelegateするなりメソッド足して工夫して。

上とは別に、省エネするなら、Postにattr_accessor で:name 足して、find_by_sql なりで引いて来る。この場合はincludes()しなくて良くなる。
post.name
使えるはず。


0941nobodyさん2011/10/29(土) 13:28:05.54ID:???
とことん教えて君は文章に特徴があるからすぐにわかるな
0942nobodyさん2011/10/29(土) 13:33:58.49ID:???
>>941
何と戦ってるんだ?
現実世界で嫌なことあったか?
0943nobodyさん2011/10/29(土) 13:43:48.85ID:???
>>940
細かく説明してくださって
ありがとうございました。
やってみます。
0944nobodyさん2011/10/29(土) 13:57:31.80ID:???
>>942
今日もおつかれさま!
0945nobodyさん2011/10/29(土) 14:27:29.35ID:???
>>942
ここはRails全般のスレ。
質問に回答するもしないも見ている人達次第。

そいつは誰にも相手にされてないようだし、
罵倒するレスしかつけられない生産性のない可哀想な存在だから
相手にしないほうがいい。


0946nobodyさん2011/10/29(土) 15:26:02.35ID:???
http://www.akitaonrails.com/2007/12/12/rolling-with-rails-2-0-the-first-full-tutorial
↑これを参考に作ってます。
(実際はRails 3.1.1を使用。)

Users has_many Postsな状態で、
/users/123/posts/456
を
/user/hiroyuki/2011-10-29
みたいにしたいと思ってます。
match 'user/:user_name/:year-:month-:date' => 'posts#show'
routes.rbとかをがっつりいじればいくらでもできそうだけれど、
もっとスマートなやり方ありませんか?
0947nobodyさん2011/10/29(土) 15:36:34.58ID:???
年月日は分けない方が良い
0948nobodyさん2011/10/29(土) 16:01:58.56ID:???
>>946
教えて君は何でも教えて教えてだな
身の程をわきまえろ
小学校からやり直せ
0949nobodyさん2011/10/29(土) 16:56:28.92ID:???
>>945
おいおい あまりイジめてやるなw 他の人みたくスルーが一番
0950nobodyさん2011/10/29(土) 16:58:34.89ID:???
>>946
routes.rb はがっつりいじるもの
何でも resources でやろうとするのは何でも scaffold でやろうとするようなもん
0951nobodyさん2011/10/29(土) 17:43:50.36ID:???
>>946
仮に resources などで簡潔に書きたいと思ってるなら、Rails の敷いたレールの上を
走るようにすればいい

今回のようにURL設計でレールから外れようとしているのに、それでも簡潔さを求める
のはRailsの根本思想からはありえないことです

ある意味、Railsは宗教です
DB設計にせよURL設計にせよMVCにせよ、「こうするべき」という教義を持っており、
教義に従う人にだけメリットを与えます
そこから外れたいなら相応の労力が必要なことに文句を言ってはいけません
0952nobodyさん2011/10/29(土) 18:06:24.81ID:I8tdw7a2
to_param なんていうメソッドもあるけどね。
0953nobodyさん2011/10/29(土) 18:10:32.06ID:???
まあ、多少railから外れたこともだいたいプラグインがあるけどな。
0954nobodyさん2011/10/29(土) 20:18:28.00ID:???
>>951
横だけど、なんだか色々合点がいった。
ちょっと外れようとすると色々面倒なのはある意味じゃ仕様なんですね。
大したこだわりじゃないなら素直にレールに乗ってたほうが結果的に得しそうだ。
09559462011/10/30(日) 02:00:21.85ID:???
>>947
いろいろありまして。

>>948
お元気そうで何よりです。

>>950
なるほど。
scaffoldはだいたい目に見えるからいじりやすいんですが、
routesの方は見えないところで動いてる部分が多くて。

09569462011/10/30(日) 02:02:32.00ID:???
>>951
すごいわかりやすい!
すると、今回の場合は自分で自分用のrailを敷き直す覚悟が必要そうですね……。
サンスコ、頑張ってみまする。

>>952
おお、to_paramよさそうですね。
validates_format_ofと組み合わせて使おうと思います。
0957nobodyさん2011/10/30(日) 10:18:03.46ID:???
レールには従ってもいいし、従わなくてもいい。
分からなければ従っておいた方がいい。

0958nobodyさん2011/10/30(日) 22:29:28.09ID:???
>>955
> routesの方は見えないところで動いてる部分が多くて。
だったらテストをしっかり書こうよ

>>956
> すると、今回の場合は自分で自分用のrailを敷き直す覚悟が必要そうですね……。
そんな覚悟を固めるより、設計に口出す方が楽だよ
少なくともRails開発者が押し付ける教義は非常に多くの優秀な人たちののレビューを
通ってきているわけだから妥当性は相応に強い
0959nobodyさん2011/10/31(月) 00:58:32.76ID:???
逸脱することによるメリットがどれほどのものか?ってのをよく考えればいいわけか。
0960nobodyさん2011/10/31(月) 18:03:43.50ID:???
http://rors.org/2010/08/15/auto_html.html
dejan/auto_html - GitHub
https://github.com/dejan/auto_html

auto_link("Go to http://www.rubyonrails.org and say hello to [email protected]")
# => "Go to <a href=\"http://www.rubyonrails.org\">http://www.rubyonrails.org<;/a> and
# say hello to <a href=\"mailto:[email protected]\">[email protected]</a>"
http://apidock.com/rails/ActionView/Helpers/TextHelper/auto_link
09619462011/11/01(火) 03:34:44.77ID:???
>>958
趣味で作ってるだけなので、設計者=実装者です。


とりあえずrailに乗っかった形で一度完成させてから、あれこれいじる事にしました。
0962nobodyさん2011/11/01(火) 12:03:31.55ID:???
application.js.coffee.erbとか、拡張子長すぎだろ
それにjsファイルの中でerbを使うとかうぜぇ!
0963nobodyさん2011/11/01(火) 12:05:00.39ID:???
使わなければいいだけの話
0964nobodyさん2011/11/01(火) 12:14:37.64ID:???
ActiveRecord で悲観的ロックを使おうと考えています。
ロックがかかっていなければ更新処理→検索処理、
かかっている場合は更新が終わるのをまって(そして自身の更新はスキップして)検索処理としたいのですが、
ロックがかかっているかどうか調べるにはどうしたらよいのでしょうか?

if ( ロック中か?) do
# ロック解除されるまで待つ/更新処理はしない
LockTable.find(1, lock => true).lock! false
else
locked = LockTable.find(1, :lock => true)
# 幾つかのモデルにまたがる更新処理....
locked.lock! false
end

# モデル内容の検索処理...
0965nobodyさん2011/11/01(火) 14:15:30.60ID:???
>>962
.js は省けた気がする
あとerbにするのは確かにうぜえので変数的なものは
headタグ埋め込んで参照するようにしてるわ。
0966nobodyさん2011/11/01(火) 15:25:40.80ID:???
DBからのレスポンス待ちになっているのが lockによるものなのか、
単に負荷で遅くなっているか等を識別する手段は無かったと思う(DBレベルで)。

ただ、Oracleなんかは 読取lockの待ち時間を設定できて、
その時間を超えた場合は、例外を戻すように出来るので、
それをRails側でキャッチしてゴニョゴニョすることは出来るかも。
for update nowait なら、全く待たずに例外投げられるので
それを利用して、ロック中である、と識別させる手もある。
lock("for update nowait") と書けばいい。

ただMySQLは、v4系列までは読取lockの待ち時間は設定できないし、
nowaitオプションもなかった気がする。単にグローバルな「待ち時間」で
制御するしかないけど、これだとサーバが負荷のせいでレスポンス待ちなのか、
lockのせいなのか等の識別は出来ない。v5はどうだか分からない。
0967nobodyさん2011/11/01(火) 15:58:03.53ID:???
>>966
回答ありがとうございます。
なるほど、ここら辺はDB依存になる部分なんですね。
バックエンドがMySQLでして、グローバルなオプションの変更はちょっと影響範囲の判断がつかないので
今回は違う方法を考えてみます。

それほどクリティカルな処理の部分ではないのと、どちらにしろロック待ちはするということで
前回の更新処理時刻+n秒以内なら更新処理スキップみたいな感じでいこうと思います。
0968nobodyさん2011/11/02(水) 01:11:54.63ID:???
>>967
教えて君はとことん教えてだな
小学校からやり直してこい
0969nobodyさん2011/11/02(水) 01:28:27.52ID:???
本人、乙
0970nobodyさん2011/11/02(水) 08:38:04.18ID:???
教えて君の文章には特徴があるから
すぐ分かるんだな
0971nobodyさん2011/11/02(水) 10:39:04.96ID:???
CentOS 5.6
ruby 1.8.7
gem 1.3.6
Rails 3.1.1

rails generate migration CreateTables
とすると、
/usr/lib/ruby/gems/1.8/gems/execjs-1.2.9/lib/execjs/runtimes.rb:47:in `autodetect': Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes. (ExecJS::RuntimeUnavailable)
from /usr/lib/ruby/gems/1.8/gems/execjs-1.2.9/lib/execjs.rb:5
from /usr/lib/ruby/gems/1.8/gems/coffee-script-2.2.0/lib/coffee_script.rb:1:in `require'
from /usr/lib/ruby/gems/1.8/gems/coffee-script-2.2.0/lib/coffee_script.rb:1
from /usr/lib/ruby/gems/1.8/gems/coffee-script-2.2.0/lib/coffee-script.rb:1:in `require'
from /usr/lib/ruby/gems/1.8/gems/coffee-script-2.2.0/lib/coffee-script.rb:1
from /usr/lib/ruby/gems/1.8/gems/coffee-rails-3.1.1/lib/coffee-rails.rb:1:in `require'
from /usr/lib/ruby/gems/1.8/gems/coffee-rails-3.1.1/lib/coffee-rails.rb:1
from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.21/lib/bundler/runtime.rb:68:in `require'
from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.21/lib/bundler/runtime.rb:68:in `require'
from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.21/lib/bundler/runtime.rb:66:in `each'
from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.21/lib/bundler/runtime.rb:66:in `require'
などなど、、、、、


というエラーが出るのですが、検索してみたのですが、対処方法かせわかりません。
詳しい方、教えていただけないでしょうか?

0972nobodyさん2011/11/02(水) 11:52:23.04ID:???
rubygemのバージョンを最新にしろ
いくらなんでも古すぎるんじゃないか
話はそれからだ
0973nobodyさん2011/11/02(水) 12:05:34.08ID:???
>>971
なんでもかんでも教えて君か?
0974nobodyさん2011/11/02(水) 12:12:00.19ID:???
ruby 1.8.7もオワコン。Rails 3.1.1使うなら既存システムのメンテじゃないんだろうし。
0975nobodyさん2011/11/02(水) 12:26:35.57ID:???
centosに最初から入っているもので
rails3.1をいれたんだろうな
これに限らず、後方互換性がクソだから常に最新について行く根性が一番重要
初心者お断りって感じだ
0976nobodyさん2011/11/02(水) 12:45:35.77ID:???
教えて君みたいな人はここにくる前に参考書を買って一年間熟読してから来い
0977nobodyさん2011/11/02(水) 12:49:49.52ID:???
本人、乙
0978nobodyさん2011/11/02(水) 12:55:07.87ID:???
>>976
>>977
誰も言わないから言うけど
いい加減に自作自演をやめろ。
見苦しい

去れ
0979nobodyさん2011/11/02(水) 13:28:24.42ID:???
おまえ自作自演の意味わかってないだろ
0980nobodyさん2011/11/02(水) 16:13:40.63ID:???
require スルースキル
0981nobodyさん2011/11/02(水) 17:18:13.62ID:???
Ruby on Railsにはホットデプロイはありますか?
0982nobodyさん2011/11/02(水) 17:51:18.27ID:???
SE・プログラマが知ってると便利な脆弱性チェックツール 4 つ | バシャログ。
http://c-brains.jp/blog/wsg/11/11/02-154822.php

https://addons.mozilla.org/ja/firefox/addon/xss-me/
https://addons.mozilla.org/en-US/firefox/addon/sql-inject-me/
https://addons.mozilla.org/en-US/firefox/addon/hackbar/
http://nmap.org/
http://www.rbl.jp/svcheck.php
0983nobodyさん2011/11/02(水) 18:26:04.40ID:???
ないけど困った事はない。
どうしてもというならjruby使えば良い
0984nobodyさん2011/11/02(水) 18:36:21.50ID:???
>>981
ググれカス
これだから教えて君は困る
0985nobodyさん2011/11/02(水) 20:34:58.27ID:???
>>971
エラーメッセージの通り、JavaScript runtime がない
何を入手すればいいかは、エラーメッセージの通り、https://github.com/sstephenson/execjs を見ればいい

教えてクンがどうとか煽るのはどうかと思うが、エラーメッセージも読まない状態で
質問するようだと、その煽りもある程度首肯せざるをえない
0986nobodyさん2011/11/02(水) 21:50:04.09ID:???
http://railroad.rubyforge.org/
http://rails-erd.rubyforge.org/

JUDEで描いたクラスをそのままRuby on Railsで動かすプラグイン:CodeZine
http://codezine.jp/article/detail/2377
0987nobodyさん2011/11/02(水) 21:54:23.93ID:???
annotate_models は、テーブルの情報をModelとFixtureのファイルに コメントとして書き込んでくれる非常に便利なプラグイン
http://blog.s21g.com/articles/318
http://www13.atwiki.jp/maimuzo/pages/41.html

Railsで、マイグレーション作成時に、カラムにコメントを設定し、それをデータベースに設定する ColumnComments という便利なプラグイン
http://ishikawa.r-stone.net/2008/08/rails-migration-column-comment.html

[Rails] query-reviewerでRailsアプリのボトルネックを見つける
http://d.hatena.ne.jp/tkng/20080811/1218442298

SpecialWarningというプラグイン
http://d.hatena.ne.jp/authorNari/20090205/1233840189

N+1問題などを監視してパフォーマンスを改善するRailsプラグインBullet
http://blog.digital-squad.net/article/149685338.html

複合キー
compositekeys ActiveRecord Composite Primary Keys
http://compositekeys.rubyforge.org/
0988nobodyさん2011/11/03(木) 00:32:46.90ID:???
Asset Pipelineについて質問があります。

デフォルトですと、rails g controllerした際にjsとcssが
assets/javascriptsとassets/stylesheetsに出来るかと思われますが、
application.jsとapplication.cssのrequire_tree . によって
全てのcontrollerに対するファイルが1つに連結されてしまいます。
Asset Pipelineの目指すところからすれば1つにして request 数を減らすのは当然ではありますが、
controller毎に読み込むjsとcssは異なる、特にcssについては異なる方が多いかと思われます。

controller毎に読み込むものを分けるためには、require_tree . を削除し、欲しいものをinclude_tagなりlink_tagで呼ぶしかないのでしょうか。
そうして欲しい場合、require_tree . がデフォルトで存在し、
かつassets/javascriptsとassets/stylesheetsに自動で生成される理由は何でしょうか。
0989nobodyさん2011/11/03(木) 00:46:57.39ID:???
>>988
コントローラごとに分ける必要性よりリクエスト回数を減らすメリットの方が大きいって
ことなんだろうな

css を全部読み込んだ場合でも、コントローラごとに分けられてるようにすることは
難しくないし
・id や class に必要に応じてコントローラ名をつける
・application.html.erb の body にコントローラ名クラスをつける
 んで、css 内で、body.<コントローラ名> 配下に内容を書く(scss なら楽勝でしょ)
みたいにね
(ちなみに俺は前者を使ってるが特に問題になることはない)
0990nobodyさん2011/11/03(木) 01:29:55.04ID:???
>>989
返信ありがとうございます

仰る通り、恐らくそれが最良であるとは思います。
しかし、scaffoldで生成されるstylesheetなどは何も考えずにただ各要素について書かれていますし、
一体どのようにcontroller毎に分けることを意図して設計されているのかが気になって仕方がありません。

設計思想など知った事ではないから直接英語で聞いて来いと言われてしまえばその通りな訳ですが・・・
皆さんがどのようにして分けているのかを知りたくなった次第です。
0991nobodyさん2011/11/03(木) 01:36:05.33ID:???
>>990
scaffold なんかサンプルだ
アテにすんな
0992nobodyさん2011/11/03(木) 01:45:19.46ID:???
>>991
なるほど、そんなもんですかね

ありがとうございました
レス数が950を超えています。1000を超えると書き込みができなくなります。