【Ruby】Ruby on Rails Part10
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
2010/08/28(土) 19:27:42ID:Er5MNJZv【Ruby】Ruby on Rails Part9
http://hibari.2ch.net/test/read.cgi/php/1266563593/
■参考サイト
<英語>
本家:http://www.rubyonrails.org
API document:http://api.rubyonrails.com/
開発者のblog:http://weblog.rubyonrails.org/
参考wiki:http://wiki.rubyonrails.org/rails
<日本語>
Rails' wiki: http://wiki.fdiary.net/rails/
http://twitter.com/dhh
http://www.loudthinking.com/
0951nobodyさん
2010/12/06(月) 16:25:59ID:???6800個も1ページにリンクがある時点で間違ってる。
0952nobodyさん
2010/12/06(月) 18:03:45ID:???0953nobodyさん
2010/12/06(月) 18:25:52ID:???0954nobodyさん
2010/12/06(月) 20:00:50ID:???0955nobodyさん
2010/12/06(月) 20:11:00ID:???どうなんでしょう?
時々同一テーブルを複数回joinさせたい事があって、例えば
class Task < ActiveRecord::Base
belongs_to :create_user, class_name: 'User', foreign_key: :create_user_id
belongs_to :update_user, class_name: 'User', foreign_key: :update_user_id
end
のようなモデルがあって、Task.joins(:create_user, :update_user)をすると、
INNER JOIN "users" ON "users"."id" = "tasks"."create_user_id"
INNER JOIN "users" "update_users_tasks" ON "update_users_tasks"."id" = "tasks"."update_user_id"
な感じのSQLが発行されます。それより、
INNER JOIN "users" "create_users" ON "create_users"."id" = "tasks"."create_user_id"
INNER JOIN "users" "update_users ON "update_users"."id" = "tasks"."update_user_id"
の方が自分は嬉しい。
0956nobodyさん
2010/12/06(月) 23:48:40ID:???0957nobodyさん
2010/12/07(火) 00:14:31ID:???0958nobodyさん
2010/12/07(火) 00:17:54ID:???0959nobodyさん
2010/12/07(火) 01:09:26ID:l8HqKN9Hどうするのが、手軽でしょうか。
(個人のアプリなので、速度はほどほどで十分です。)
開発は、Netbeans使って問題なくできているけど、いざ動かそうとするとうまく動かない。
うまくWindowsサービスに登録できれば、一番手軽なんだけども。。
0960nobodyさん
2010/12/07(火) 03:22:06ID:???0961nobodyさん
2010/12/07(火) 10:38:25ID:scN2l8REデバッグでpを使って出力されたものを見ることがあると思いますが、
printするものが大量だと サーバのログの一画面で収まらないことがあります。
rails server で起動して、吐き出されるログを見ているのですが、一画面
に収まらない場合は上にはみ出してしまったものを見ることができません。
development.log で見れるのかと思っていたのですが、development.logって
rails console で使ったもののログは残りますが、サーバーにアクセスされた際のログは残らない?のでしょうか?
development.logを見てもそれっぽいものが残っていませんでした。
どなたかいい方法ご存知でしたら教えて頂けますと幸いです。
0962nobodyさん
2010/12/07(火) 11:25:33ID:???http://blog.s21g.com/articles/212
0963nobodyさん
2010/12/07(火) 20:05:58ID:???レスあんがと。
SQL直書きの話ではなくて、関連名を使ったときのデフォルトの命名仕様がイケてないと思ってて
他の人はどう思ってるのかなと書き込みしました。
SQL直書きを気にする人は少ないのかな?
0964nobodyさん
2010/12/07(火) 20:27:42ID:???foreign_key: :create_user_id
って思うのは俺だけか
0967959
2010/12/07(火) 21:00:43ID:4CuEmOpRMongrelが、サービスに登録できてよさそうだったんですが
Ruby1.9では対応していなかったり。。
Apacheも考えましたが、うまく設定できず(泣)
0969nobodyさん
2010/12/07(火) 22:01:50ID:???has_many :table_a
の設定しているテーブルがあるのですが
table_b.table_a=[]
や
table_b.table_a.clear
を実行しようとすると
undifiened method 'eq'
というエラーが
出てしまうのですが
対処法知りませんか?
lib/active_support/whiny_nil.rb:48:in 'method_missing'
lib/active_record/associations/has_many_association.rb :78:in 'delete_records'
lib/active_record/associations/association_collection.rb:222:in 'block in delete'
lib/active_record/associations/association_collection.rb:525:in 'remove_records'
lib/active_record/associations/association_collection.rb:158:in 'block in transaction'
rails2 からの移行です。
0970nobodyさん
2010/12/07(火) 22:23:10ID:???lib/active_record/associations/has_many_association.rb は
relation.where(relation[@reflection.primary_key_name].eq(@owner.id).
なので、relation[@reflection.primary_key_name] が nil になっている。
set_primary_key がらみでなにか間違えてるんでは?
0971969
2010/12/07(火) 22:40:33ID:rDBHW00Nset_primary_keyとは
has_many :table_a,
:foreign_key=>"table_b_id",
:primary_key=>"id"
みたいなことでしょうか?
これは試し済みなんですよ。
もしかして相手側のbelongs_toの設定も必須になったんですかね。
0972nobodyさん
2010/12/07(火) 22:57:48ID:???移行ということなので、元のコードで 何か妙な上書きをしているのではと想像
0973nobodyさん
2010/12/07(火) 23:04:05ID:???0974969
2010/12/07(火) 23:08:10ID:???validateなどコメントアウトしてみたり
もう少し頑張ってみます。
0975nobodyさん
2010/12/08(水) 01:23:03ID:???WindowsでRailsを本番環境で使おうとするバカがいるとは
そのバカがたくさんいないからunicornやPassengerもWindowsに対応されないのだろうけど・・・
"Rails windows production"で英語サイトをググったらいろいろでてくるが試してないので
試してぜひブログにでも書いてくれ
Rails as a Windows service on Ruby 1.9 - Matthew Closson's Random Thoughts
http://matthewclosson.posterous.com/rails-as-a-windows-service-on-ruby-19
Deploy Ruby on Rails on Windows 2008 Server and IIS 7.0 | www.10pines.com
http://www.10pines.com/content/deploy-ruby-rails-windows-2008-server-and-iis-70
Nginx + Thin => Rails Wiki
http://wiki.rubyonrails.org/deployment/nginx-thin
一番上を見ると1.9でもmongrelが動くように見えるんがRails 2系かなこれは
mongrelにするにせよ、必要に応じていくつも立ち上げておかないと並列にさばけないので注意
0976nobodyさん
2010/12/08(水) 02:22:36ID:SUaj9gW4Railsデプロイ
7章 Windows環境でのデプロイ
7.1 サーバのセットアップ
7.1.1 Ruby on Railsのインストール
7.1.2 Subversionのインストール
7.1.3 Microsoft SQL Serverを利用するための設定
7.1.4 Windows版MySQL
0977nobodyさん
2010/12/08(水) 02:23:59ID:SUaj9gW47.2.1 Mongrelのインストール
7.2.2 Mongrelの動作確認
7.2.3 Windowsサービスとしてのインストール
7.3 MongrelとPen
7.3.1 Penのセットアップ
7.3.2 Penを使った負荷分散
7.3.3 Windowsサービスとしてのインストール
7.4 Apache 2.2とMongrel
7.4.1 Apacheのインストール
7.4.2 負荷分散のための設定
7.4.3 Proxyディレクティブ
7.4.4 動作確認
7.4.5 Windowsサービスとしてのインストール
7.5 IISとの統合
7.5.1 ISAPI_Rewriteのインストール
7.5.2 アプリケーションへのリクエストの転送
7.5.3 動作確認
7.6 リバースプロキシとURL
7.6.1 reverse_proxy_fixプラグインのインストール
7.6.2 reverse_proxy_fixプラグインの利用法
7.7 複数のアプリケーションをホスティングする際の指針
7.7.1 IISとMongrelを使い、複数の小規模なアプリケーションを提供する
7.7.2 複数の大規模なアプリケーションを提供する
7.7.3 Windows上でのパフォーマンス
0979nobodyさん
2010/12/08(水) 07:24:45ID:???0980969
2010/12/08(水) 13:24:57ID:???establish_connection
でスキーマを変えているテーブルでのみ
発生することがわかりました。
これを
Activerecord::Base.establish_connection
にしたところ今度はスキーマを変えていないところで同じエラーが出ました。
何かアドバイス頂けないでしょうか?
0981nobodyさん
2010/12/08(水) 15:19:56ID:???3系のARにはreload_column_informationないんだっけ?
0982696
2010/12/08(水) 22:35:31ID:???答えてくれた方ありがとうございました。
役に立ちそうなので参考までに解決方法書いておきます。
発生条件
establish_connectionで複数のスキーマにアクセスしている場合
has_manyのリレーションのところで >>696 のようにエラーが起きる。
対処方法
has_many_association.rbをRails.root/lib/ へコピーして
config/application.rb でrequireする。
has_many_association.rb 77行目
relation = Arel::Table.new(@reflection.table_name)
を
relation = Arel::Table.new(@reflection.table_name,Arel::Sql::Engine.new(self))
に書き換える。
has_belongs_to_many.にも同じことが起きていまして
has_belongs_to_many.rbも全く同じ修正で対応できました。
0983nobodyさん
2010/12/08(水) 23:02:01ID:???別々のスキーマのデータにアクセスしてるってことなのか?
解決したんだからいいんだろうけど、よくわからんかった
0984nobodyさん
2010/12/09(木) 12:15:35ID:m46cVwTqセールスフォース、Rubyのクラウドプラットフォームを提供するHerokuを買収 - CNET Japan
http://japan.cnet.com/news/business/story/0,3800104746,20423885,00.htm
Rubyで書かれたアプリケーションの例としてBenioff氏は、TwitterやGroupon、オンラインビデオサービスのHuluなどを挙げ、
0985nobodyさん
2010/12/09(木) 12:56:20ID:???0986nobodyさん
2010/12/09(木) 14:15:43ID:???DB設計は以下のようになると思います。
usersテーブル
id
name
followsテーブル
id
user_id
follower_id
このように、同じテーブル(users)に対して二つのカラム(user_id, follower_id)で参照を持っている場合、
usersテーブルとfollowsテーブルの関係はどのように定義すべきでしょうか?
Userモデルで、has_many :follows
としてしまうと、follower_idがusersテーブルを見ていることがRailsに伝わらないと思うので
どのようにすればいいのか分かりません。
0987nobodyさん
2010/12/09(木) 14:36:08ID:???class User < ActiveRecord::Base
has_many :follows
has_many :followers, :through => :follows, :foreign_key => :follower_id, :class_name => 'User'
end
class Follow < ActiveRecord::Base
belongs_to :user
belongs_to :follower, :foreign_key => :follower_id, :class_name => 'User'
end
でいいと思う。
follwer と follwee のどっちがどっちだか分からなくなってきた。
0988nobodyさん
2010/12/09(木) 14:47:14ID:???0989nobodyさん
2010/12/09(木) 14:52:06ID:???そこが繋がっていれば必要な情報は漏れなく取れるでしょ。
0991nobodyさん
2010/12/09(木) 21:32:52ID:???0993nobodyさん
2010/12/10(金) 20:55:24ID:ojStFfQTrailsでアプリケーションを作成すると、
utf-8ではなくshift-jisで全ファイルが作成されてしまいます。
どうすればutf-8で生成されるようになるでしょうか?
3.03でも2.3.8でも2.3.5でもshift-jisになってしまいます。
0994nobodyさん
2010/12/10(金) 21:33:50ID:???0995nobodyさん
2010/12/10(金) 22:00:27ID:ojStFfQTあれ、もしかしてcoteditorにだまされてただけ?
感謝です
0996nobodyさん
2010/12/10(金) 22:40:37ID:???0997nobodyさん
2010/12/11(土) 01:58:25ID:???submitボタン名になんか記号が入ってたような気もするけど。
0998nobodyさん
2010/12/11(土) 10:59:38ID:???【RoR】Ruby on Rails Part11
http://hibari.2ch.net/test/read.cgi/php/1292032736/
必要なもんがあったら貼っといて
0999nobodyさん
2010/12/11(土) 14:44:38ID:???2.3.5のアプリケーションをruby-1.9.2に対応させようとして、全部のファイルに
# encoding: utf-8
を入れたんだけど、もっと根本的なところで動かなかった orz
1000nobodyさん
2010/12/11(土) 15:07:14ID:???10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。