Ruby on Rails のスレ が
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/04/06(日) 04:59:29ID:???消えたのか?
流行ってないのか
死亡
0075nobodyさん
2008/05/03(土) 09:52:07ID:???全く参考になるサイトがないのは、みんな使ってないということかな?
どうしても必要なのに...
参考になるサイトを知ってる方、教えて頂けませんかm(..)m
0077nobodyさん
2008/05/03(土) 14:53:36ID:???それってRailsと関係あるの?
http://dev.mysql.com/doc/refman/5.1/ja/stored-procedures.html
007875
2008/05/03(土) 23:47:22ID:???ありがとうございます。
説明が下手ですみません。
ストアドファンクションの場合は結果を
@obj=Model.find_by_sql("select (ストアドファンクション名)")
等で受け取ることができるのですが、
ストアドプロシージャが結果をテーブルで返す時の結果の受け取り方が分かりません。
MySQL Query Browserで「call sp_test()」で実行してみて結果が出力されるのは
確認しています。
この場合、同じように
@obj=Model.find_by_sql("call sp_test()")
かなと思ったのですが、エラーがでました。
ストアドで吐き出される結果のrailsでの受け取り方を知りたいのです。
宜しくお願い致します。m(..)m
0079nobodyさん
2008/05/04(日) 00:08:06ID:???0080nobodyさん
2008/05/04(日) 00:44:10ID:???こんなスレタイが唯一のrorスレだなんて
0081nobodyさん
2008/05/04(日) 03:09:27ID:???pp ActiveRecord::Base.connection.select_all("...")
こういうこと?
>>80
2chじゃなくてblogやリアルコミュでやってるひとはしっかりいるよね。
0082nobodyさん
2008/05/04(日) 03:14:28ID:???相当情報も貯まったし
ぶっちゃけ人に聞くより、本読んだり、ググったり、API読めば
出来ない事は無いからほとんどの人は自己解決してるんじゃなかろうか。
3年近くRails使って仕事してるけど、今度Perlで動いてるシステムを
Rails2化する事になって、DB定義どうするかが一番の悩みだw
0083nobodyさん
2008/05/04(日) 06:51:18ID:???漏れんとこはPHPばっかだ
0084nobodyさん
2008/05/04(日) 20:19:38ID:???Railsエンジニアだなんてどこも募集してねぇ・・・orz
結局Railsは趣味程度なんだろうな(´・ω・`)
0085nobodyさん
2008/05/04(日) 21:31:37ID:???0086nobodyさん
2008/05/04(日) 22:58:45ID:???とかすると、HTML で JS が吐かれてその中に
s.setAttribute(¥'value¥', ¥'572726412773a720dcb04dc130a863f944b4082b¥');
のような、セッションID? のようなのが埋め込まれてますが、この値を自分で取り出すにはどうしたらいいですか。
session_id とか transaction_id みたいなAPIを探してみたんですが、ないみたいです。
0089nobodyさん
2008/05/05(月) 00:38:10ID:???0090nobodyさん
2008/05/05(月) 01:23:19ID:???中に
:session_key => '_session_id'のような事かいてないか?
:session_id => 'safdaeuaihfoa;n'
みたいな・・・
params[:session]
でダメならセッションが効いてないのかもしれん・・・
0091nobodyさん
2008/05/07(水) 00:30:28ID:Fjgg9vWsとある理由で、authenticity_tokenの値とセッションの値(CookieStoreのあの長い文字列)を
ビューで取得したいんだが、なにかAPIみたいなものはないのかなぁ。
リクエストから取得すればいいじゃんって言われるかもしれないんだけど、それじゃ
だめなんすよね。。
009291
2008/05/07(水) 00:44:52ID:Fjgg9vWs<%= form_authenticity_token %>
0093nobodyさん
2008/05/07(水) 00:46:04ID:???authenticity_tokenのほうは、
名前は request_forgery_protection_token シンボルなので必要ならto_s
値は form_authenticity_token
0095nobodyさん
2008/05/07(水) 00:58:10ID:???に書いてあるはず。
config.action_controller.session = {
:session_key => '_test_session',
:
:
<%=debug(cookies['_test_session']) %>
中を見る方法は action_controller/session/cookie_store.rbのunmarshalの定義を参照。
009691
2008/05/07(水) 02:13:07ID:Fjgg9vWs結局セッションの値っつーか、CookieStoreの長い文字列は
JavaScriptでhiddenに埋め込むようにしたんだが、ここでへこむ事態発生。
CookieStoreの値をhiddenで送っても、Railsは認識してくれないくさい。
これからソース追ってみるけど、たぶんCookieからしか見てないと思われる。
CookieStore使う方は注意してください。
間違いであれば指摘してくれ。
0097nobodyさん
2008/05/07(水) 03:00:02ID:???ブラウザがHTTPヘッダに入れてくれ……ないの?
009891
2008/05/07(水) 03:11:52ID:Fjgg9vWsあれなんすよ、FLASHからPOSTしたいんすよ。で、セッションも維持したい。
どうもIE以外のブラウザからFLASHでPOSTするとCookieをうまく送信してくれなくて。
0099nobodyさん
2008/05/07(水) 17:50:37ID:???t.string :name, :null=>false, :unique=>true
t.integer :parent_id # 親organizationを指すID
t.timestamps
end
とあったときに、t.integer :parent_id を t.references を使って書くとどう書きますか。
マニュアルだとわかりませんでした。
http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/TableDefinition.html#M001224
0100nobodyさん
2008/05/07(水) 17:55:40ID:???0102nobodyさん
2008/05/07(水) 18:42:57ID:???0103nobodyさん
2008/05/07(水) 19:48:24ID:???0104nobodyさん
2008/05/08(木) 03:00:26ID:???0105nobodyさん
2008/05/08(木) 10:27:39ID:???FastCGIは、Rails以外ならmod_rubyよりずっと出来る子だけど、Railsでの評判は芳しくない。なぜ?
それはそうと、Employeeってモデルで、社員番号をカラムとして持つ場合、これはEmployee#idからauto_incrementを外して使ったほうがいい?
それともEmployee#idはそのままに、別個にemployee_numberとかして持った方がいいのかな。
このへんよくわからんのでアドバイスちょーだい!
0106nobodyさん
2008/05/08(木) 10:44:45ID:???別個に持ってindexはる
0107nobodyさん
2008/05/08(木) 11:55:19ID:???レスさんくす。indexはるってのは、:unique=>trueとかつけると自動的に張られるもん?
聞いてばっかですまん。
0108nobodyさん
2008/05/08(木) 12:28:02ID:???0110nobodyさん
2008/05/08(木) 12:28:56ID:???現在修正されているのでしょうか?
修正される見込みはあるのでしょうか?
paginating_findを使っておいた方が無難でしょうか?
0111nobodyさん
2008/05/08(木) 12:46:18ID:???0112110
2008/05/08(木) 14:05:01ID:???簡単そうだったので、ちょっと試してみました。
Parameters: {"action"=>"index", "per_page"=>"10", "controller"=>"products", "page"=>"2"}
Product Load (0.001225) SELECT * FROM `products` WHERE (name LIKE '%%' OR description LIKE '%%') LIMIT 10, 10
Product Columns (0.001095) SHOW FIELDS FROM `products`
SQL (0.006903) SELECT count(*) AS count_all FROM `products` WHERE (name LIKE '%%' OR description LIKE '%%')
無駄なことはやっていないようにみえます。
0113nobodyさん
2008/05/08(木) 16:07:08ID:???あとクエリに違いが出るのってjoinした時じゃなかったかな
少なくともシンプルなクエリじゃどっちでも変わらんよ多分
0114110
2008/05/08(木) 16:56:17ID:???すみません、勘違いしておりました。
will_paginateだと、確かにrelationの先にpaginateかけると、
全selectしてます。
0115nobodyさん
2008/05/08(木) 18:43:11ID:???たとえば foo_controller.rb の FooControler#show() にカーソルがある場合、
view/foo/show.html.erb をひらくのに便利なコマンドとかある?
C-c f v だと "foo/show<TAB>" を入力しなきゃいけなくて面倒です。
0118116
2008/05/09(金) 13:39:24ID:???(define-key rails-minor-mode-map "\C-c\C-p" 'rails-lib:run-primary-switch)
あとは、Rail2.0でファイル拡張子に.html.erbを使うようになったのに対応して
rails.elの中でこんな設定をしておくとよい
(defvar rails-templates-list '("html.erb" "erb" "rhtml" "rxml" "rjs" "haml" "liquid"))
0119nobodyさん
2008/05/09(金) 14:47:55ID:???select a.id, a.name, o.name
from accounts a, organizations o
where a.organization_id = o.id
order by o.name;
というSQLを発行するにはどうしたらいいですか。
Account.find(:all, :include[:organization])
でOK?
0121nobodyさん
2008/05/09(金) 21:14:37ID:???さんくす
> 変数取り込むならちゃんとエスケープしてからやれよ?
こういう心遣いができるおまえは優秀なエスパー
これからも地球の平和を守ってくれ
0122nobodyさん
2008/05/09(金) 22:30:39ID:???今SQLインジェクションアタックが盛んだからじゃね?
ttp://www.tokumaru.org/d/20080502.html
普通は
:conditions => ['hoge = ?' , params[:hoge]]
のようにすればいいけど、
フルSQLとかに変数使いたい時は
Hoge.find_by_sql("select * from hoges where hoge = #{connection.quote(params)}")
がオヌヌメ
ttp://pirochin.blogspot.com/2007/08/activerecordbaseconnectionquote.html
0123nobodyさん
2008/05/10(土) 01:12:35ID:???0124nobodyさん
2008/05/10(土) 01:35:58ID:???http://www.example.com/~foo/redmine/ で動かしたい場合には
httpd.confをどのようにすればよいのでしょうか
DocumentRoot /usr/local/apache2/htdocs
RailsBaseURI /~foo/redmine
とすると
Passenger error #2
Passenger thought that the Rails application's "public" directory is "/usr/local/apache2/htdocs/~foo/redmine".
となり、必ずDocumentRoot配下を見るようになってしまいます。
0125nobodyさん
2008/05/10(土) 01:50:18ID:???Linux上でApache2.2.8+mod_rails(passenger-1.0.5)です。
0126nobodyさん
2008/05/10(土) 01:55:26ID:NOkob+Vnおぉ!mod_railsの情報か!!
ほとんどhttpd.confに書くんだっけ?
app/controller/foo/
app/views/foo/
って内部にサブディレクトリ切るんじゃダメだろうなぁ・・・
0127nobodyさん
2008/05/10(土) 01:55:53ID:???/~foo を本来のファイルシステム上の絶対パスで書いたらどうよ?
0128124
2008/05/10(土) 02:10:09ID:???Apache上でRuby on Railsアプリケーションを動かす/Passenger(mod_rails for Apache)の利用
ttp://redmine.jp/tech_note/apache-passenger/
の通りにやるとサクッと動きました。
>>127
RailsBaseURI /home/foo/public_html/redmine と書いて ~foo/redmineにアクセスすると
Apacheがrailsを認識してくれず、普通のindexリスト表示になってしまいます。
0129nobodyさん
2008/05/10(土) 23:24:32ID:???~fooの絶対パスを/foo に Alias して
http://example.com/foo/redmine
じゃだめなん?
0130nobodyさん
2008/05/12(月) 12:32:39ID:MkPAtgFM0131nobodyさん
2008/05/12(月) 19:17:18ID:???ないと思います。GoogleAppEngineでサポートされることを祈っておいてください。
質問なんだけど、migrationで、add_columnするときに、:null=>falseを指定できますか。
データが1行もないときはできると思うけど、すでにデータが入っているテーブルに:null=>falseつきでadd_columnしたいんです。
あるいはadd_columnしたあとにfind(:all).each でデータを設定してから、:null=>falseを追加するとか。
0132nobodyさん
2008/05/12(月) 19:40:44ID:???change_column という大変便利なものをみつけてしまいました。
add_column :items, :newcolumn, :string
Items.find(:all).each {|item| item.newcolumn = '...'; item.save! }
change_column, :items, :newcolumn, :string, :null=>false
でいけました。
0133nobodyさん
2008/05/13(火) 10:33:55ID:???> Items.find(:all).each {|item| item.newcolumn = '...'; item.save! }
なんとなく、めちゃくちゃ効率悪そうな気がするのは俺だけ?
0134nobodyさん
2008/05/13(火) 11:06:43ID:???:default => false 指定するのじゃダメだろうか?
カラム追加なら最初はデータ無いだろうし、
必要なデータは後でバッチかupdate文で更新するみたいな。
最悪、execute('alter add_column文')で無理やり書くとか。
結果出てるのに茶々入れてすまん
0135nobodyさん
2008/05/14(水) 10:42:18ID:4b0MQpYRInfoQ: HerokuとMorph AppSpaces:Railsホスティングの新しい二つのソリューション
http://www.infoq.com/jp/news/2008/04/heroku-hosting-morph-appspaces
0136nobodyさん
2008/05/14(水) 21:53:25ID:ToATEiN60137nobodyさん
2008/05/16(金) 12:30:03ID:???テスト結果が大量にある時にどこでエラーが起きたか、コンソール表示だけだと
わかりにくいんですが、見やすく整形してくれるツールのようなものは
ありますか?
Story Runnerも試していて、プレゼンみてると
ttp://blog.davidchelimsky.net/files/BDDWithRspec.RubyConf.2007.pdf
の38ページ(Spec Framework)にそれっぽいものが出ていて使ってみたいんですが
リリースされているんでしょうか?
0138nobodyさん
2008/05/16(金) 14:26:01ID:???それはRspecとか関係なく、MacのGrowlじゃなかろうか
ttp://blog.tkmr.org/tatsuya/show/361-rails-macosx-rspec-zentest-growl
さぁ今すぐMacを買いに行くんだ
UTF-8 コードのRailsアプリはWinで開発よりMacの方がいいよなぁ・・・
0139nobodyさん
2008/05/17(土) 00:27:54ID:???RSpecバンドルの機能ですね。
とりあえず標準の範囲なら、spec/spec.optsで
--format specdoc
--backgtrace
と書くとか。
0140nobodyさん
2008/05/17(土) 00:28:14ID:???0141nobodyさん
2008/05/17(土) 15:18:33ID:???やっぱり楽。
それまでは
WindowsでVMwareとかは重くて断念。
WindowsでLinuxにログイン、が長かったけど、
いろいろ調査するのに個人ごとに環境があった方が良いって事になって結局Macに。
セミナーとかでも講演してる人、Macが多かったし。
デザイン組み込みとかの時も、
デザイナから上がってきた画像を目で見て確認するのに、
Macのopenコマンドとか、QuickLookがかなり便利。
0142nobodyさん
2008/05/17(土) 15:27:47ID:???RadRails様々なり。
0143nobodyさん
2008/05/17(土) 15:39:08ID:???うちも最初は同じような環境だったんだけど
Linux(UNIX系)でしか動かないソフトの使用が決定になって断念した。
0144nobodyさん
2008/05/17(土) 18:47:59ID:???puttyでsshで繋いで作業
eclipse使ってたときもあったけど重くて嫌になった
win上で開発するのはお勧めできない
>>141
vmwareは重いけどcolinuxは結構軽いよ
そりゃ金があるならmacに越したことはないけど
0145nobodyさん
2008/05/17(土) 21:18:51ID:???最近はMacOSに興味あるなー
0146nobodyさん
2008/05/17(土) 22:05:37ID:???いろいろなところで補完が効くのがいい。
0147nobodyさん
2008/05/17(土) 22:14:09ID:???C2D1.8G mem1Gのマシンじゃギリギリだ・・・orz
mem2G以上はやっぱほしいよな
0149nobodyさん
2008/05/17(土) 22:48:53ID:???Linuxサーバに繋いでvi, emacsでやってる。
補完にはあまり頼らないなぁ。
0150nobodyさん
2008/05/17(土) 23:04:09ID:???Netbeans 6.1は結構軽くなってると思うけどなあ。
あとRuby機能のみ入ったのをダウンロードするのが軽くて良いと思う。
0151nobodyさん
2008/05/17(土) 23:14:55ID:???補完機能は要らないけど、Grepやエクスプローラー機能は秀逸だし
使ってみよう。�d
>>149
XGAモニタでIDEはオススメできないw
0152nobodyさん
2008/05/18(日) 00:37:58ID:???0153nobodyさん
2008/05/18(日) 01:40:08ID:???0154nobodyさん
2008/05/18(日) 01:45:34ID:???0156nobodyさん
2008/05/18(日) 21:32:48ID:???具体的には alter table ... とか select setcount() とかを実行したいです。
>>154
同意
0157nobodyさん
2008/05/19(月) 00:20:37ID:???ActiveRecord::Base.connection.execute
0159nobodyさん
2008/05/19(月) 11:06:18ID:???:select が効かないんですけどなんとかなりませんか?
0160nobodyさん
2008/05/19(月) 14:17:14ID:8IiAUL/0すごい参考になりました。
みなさんけっこう工夫されてますね
0161nobodyさん
2008/05/19(月) 15:08:45ID:???’’の中はSQLだから
hoge = Foo.find :all ,
:select => 'foos.id , baas.name',
:include => [:baa]
みたいにどのテーブルのどのカラムって指定しないと無理じゃね?
0162nobodyさん
2008/05/19(月) 15:35:10ID:???さんくす
ActiveRecord::Base.connection.executeを使わせてもらいました。
0163159
2008/05/19(月) 16:39:27ID:???テーブル名.カラム名って書いてもやっぱりだめでした。
必要なカラムの値のみ取得したいのですが、全カラムの値が返ってきます。
:includeを使うと SELECT * でSQLが作られるんでしょうかね?
0164159
2008/05/19(月) 16:42:39ID:???お礼言ってなかった。
サンクス。
その後、:include ではなく :joinsを使えば :selectオプションが効くのはわかりました。
0165nobodyさん
2008/05/19(月) 18:27:04ID:???あるスクリプトを実行し終わったらirbに入るようなこと
できますか?
要するにirbでいろいろ操作したいんですけど、
そこにいたるまで初期化命令が沢山あるんで、
require 〜
require 〜
require 〜
をした状態でirbのシェルに入りたいのです。
0166165
2008/05/19(月) 18:40:47ID:???0167nobodyさん
2008/05/19(月) 19:00:21ID:???:include はモデル間でのリレーション
:joins はSQLでのリレーション
:select区指定するような、動的な場合は:join使うとか
モデルにそれ用のメソッド追加するといいかもしれない
0168nobodyさん
2008/05/19(月) 19:20:30ID:???id integer primary key auto_increment,
title varchar(256) not null,
price integer
);
というテーブルがあったとき、Book#price は nil を返す可能性があります。
そこで
class Book < ActiveRecord::Base
alias _price price
def price
_price || 0
end
end
みたいなかっこわるいことしてるんですけど、もっといい方法があれば教えてください。
0169nobodyさん
2008/05/19(月) 19:28:31ID:???price integer not null default = 0 ,
migrateだと
default => 0 ,:nil => false
のような指定じゃダメか?
0171nobodyさん
2008/05/19(月) 23:47:19ID:???0173nobodyさん
2008/05/20(火) 10:41:32ID:???IRB.start
でirbのプロンプトが出せるので、そこまでの準備はご自由にという感じだな。
0174nobodyさん
2008/05/20(火) 13:01:56ID:???正式リリースが楽しみです。
■ このスレッドは過去ログ倉庫に格納されています