【Ruby】Ruby on Rails Part7
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん
2009/04/30(木) 23:07:27ID:???http://pc11.2ch.net/test/read.cgi/php/1224838013/
■参考サイト
<英語>
本家: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/
■参考スレ(プログラム板)
Rubyについて Part 35
http://pc12.2ch.net/test/read.cgi/tech/1238194350/
Ruby 初心者スレッド Part 27
http://pc12.2ch.net/test/read.cgi/tech/1238632943/l50
0871867
2009/09/03(木) 15:05:15ID:???おー、tableですか。
DB使わないスクリプトなんかだと、Hashなんかでやってしまい、その延長でついHashにしてしまいそうになるのですが、
テーブル使う利点ってなんなんでしょうか?
ActiveRecordを使えるから、ってことでいいんでしょうか?
あと、viewでcollection_selectがそのまま使える、とか。
0872862
2009/09/03(木) 16:46:48ID:Gs6kTm0Iご回答ありがとうございます。
DocumentRootがどこなのか、分かりませんでした。
/home/lxadmin/httpd/default/ の下に、
/home/lxadmin/httpd/default/manage/とやれば良いということでしょうか。
/home/lxadmin/httpd/default/phpinfo.php
を作成し、mydomain.com/phpinfo.phpとアクセスしたのですが、
404が返ってきました。
Ruby Railsの為、私の知っている通常のサーバーの設定でない為、よく分かりません。
私、海外の田舎でプログラマをやっている為、あまりこの分野の友達がいません。
もし、ご存知の方がいらっしゃいましたら、教えて頂けないでしょうか。
お手数かけて申し訳ございません。
よろしくお願いします。
0873862
2009/09/03(木) 17:04:03ID:Yl0KYuqm実際、色々動いてるファイルは、
/home/admin/vhosts/mydomain.com/public/
配下に設置してあります。
お手数かけましてすみません。
よろしくお願い致します。
0874nobodyさん
2009/09/03(木) 20:34:55ID:???マルチうぜぇ
ttp://pc12.2ch.net/test/read.cgi/tech/1249687283/488-491
ttp://pc12.2ch.net/test/read.cgi/tech/1249687283/554-555
htaccessかPHPのスレに行け。
0875nobodyさん
2009/09/03(木) 22:53:48ID:???データの多さに関係なく ActiveRecord で管理するのが一番融通が利くし楽でしょ。
だけど初心者の人はたいてい配列にしてマジックナンバーを撒き散らすよ
酷いのになると配列(の定数)すらない場合も。
0877nobodyさん
2009/09/04(金) 08:19:25ID:???でもActiveRecordになるとreadだけじゃなくてwriteもできるんだぜ。
定数ということを表現できてないじゃないか。
0878nobodyさん
2009/09/04(金) 12:52:12ID:???なんか良い感じのプラグインあればよさそうだけど。
これとかは?
http://d.hatena.ne.jp/fujisan3776/20080907/1221480262
0881867
2009/09/04(金) 16:59:50ID:???サンクス
ActiveRecordで管理した方が利点あるように感じました。テーブルでいってみます。
>>878
こんなプラグインあるんですね。ふーむ、用途的に違うようなきがしないでもない??
0882nobodyさん
2009/09/04(金) 17:06:45ID:???button_toヘルパーにてGETでパラメーターつきで、RESTのnew actionのボタン型のリンクを作ろうとしたのですが、
うまく行きません。
button_to(new_item_path(:hage_id => 1234), {:method => :get})
とすると、HTML上では、action="/item/new?hage_id=1234"となっているのですが、
<form>のせいか、実際にボタンを踏むと、/item/new? に飛ばされてしまい、
パラメータがなくなってしまいます(´・ω・`)
たぶんに、
<input type="hidden" name="hage_id" value="1234" />
みたいのを仕込まないといけない、というのはわかるのですが、ソース見る限りbutton_toではできないですよね。
一発ポンでできるヘルパーみたいなのってないもんでしょうか…?
0883nobodyさん
2009/09/04(金) 17:47:59ID:???ちゃんと書かれてれば
new_hage_item_path(:hage_id => 1234, {:method => :get })
で
/hage/1234/item/new
になる気がしないでもない。
# 複数形にするんだっけ……?
0884nobodyさん
2009/09/04(金) 18:05:22ID:???0885nobodyさん
2009/09/04(金) 22:23:08ID:???というかRailsやPHPとかの環境の選択ってプロジェクトと一蓮托生じゃないの?
混在とか今時当たり前なの?気色悪いとか思わんのかな。
0886nobodyさん
2009/09/04(金) 22:53:13ID:???けど残念なことに過去の資産を利用するためにRubyからPerl/PHPを呼ぶこともしばしば
0887nobodyさん
2009/09/04(金) 22:55:06ID:???ARで管理する場合はpositionカラムも一緒に入れてacts_as_listしておくとさらに後が楽。
完全に自分用のアプリで、順番は id や created_at 順でじゅうぶんっていうことならいらないけど。
0888nobodyさん
2009/09/04(金) 23:51:53ID:???Gender.findById("1").name //チンコ
Gender.findById("0").name //マンコ
やだよ。そんなのw
0889nobodyさん
2009/09/05(土) 00:23:06ID:???0890nobodyさん
2009/09/05(土) 00:26:27ID:???非難するような人っているよね。
0891nobodyさん
2009/09/05(土) 00:30:55ID:???0892nobodyさん
2009/09/05(土) 00:39:38ID:???言いたかったことは、相手の論点について反論するのではなく、
その人の性格、能力、過去などについての批判を加えるのは卑怯では
ないかということ。(そういうのってよくあるでしょ)
0893nobodyさん
2009/09/05(土) 00:44:28ID:???0895nobodyさん
2009/09/05(土) 00:45:28ID:???0897nobodyさん
2009/09/05(土) 01:01:21ID:???まともな開発者ならこの手のマスターデータを定数などにしない。
マスターデータの種類が増えたり変更が入るたびにプログラムの変更が入るから。
「男」や「女」なら増えないと思うかもしれないが、
この絶対に変わらないように思えるデータも「男性」「女性」にしたいなんてことが起こりうる。
「承認待ち」だの「活動中」あたりは言うまでもない。
この手の失敗はDBがここまで使われる前まではよくあって、
それこそ「男」を「男性」に変更するだけで、プログラム修正&追加料金なんてのはザラだった。
さすがに最近はあまりないと思うが。
だからこれはレスどおり「システムの作り方」を勉強すべきなんだよ。
そもそもActiveRecordパターンの目的から完全に外れてるしな。
>>888は「定数」という言葉を間違って使ってるんじゃないかとも思うが。
ちなみに>>893-896はおれではない
0898nobodyさん
2009/09/05(土) 02:06:10ID:???0899nobodyさん
2009/09/05(土) 04:20:22ID:???Brian Mastenbrook: How I cross-site scripted Twitter in 15 minutes, and why you shouldn't store important data on 37signals' applications
http://brian.mastenbrook.net/display/36
XSS Vulnerability in Ruby on Rails - Ruby on Rails: Security | Google グループ
http://groups.google.com/group/rubyonrails-security/msg/7f57cd7794e1d1b4?pli=1
0900nobodyさん
2009/09/05(土) 08:56:22ID:???パッチってどうやって当てるんだっけ?
0901nobodyさん
2009/09/05(土) 09:19:19ID:???0902nobodyさん
2009/09/05(土) 13:33:12ID:AlMjWjcWパッチを見て-の箇所はすべて消す。+の箇所は貼り付ける。
人間が手でやるのが一番確実だからきちんと手作業でやろう。
0904nobodyさん
2009/09/05(土) 22:13:08ID:???0905nobodyさん
2009/09/05(土) 23:01:18ID:WL9xF+Eh(新PCも旧PCも Windows 機)
何でもいいやって感じで適当にrubyインストールして、gemでraisインストールして…、
って感じで環境整えて、いざ開発中のアプリを動作させてみたら全く動作が遅いの。
Completed in 59313ms (View: 40359, DB: 18719) | 200 OK [http://localhost/...]
みたいな法外な速度でさ。
いろんな可能性を考えて、実行環境のバージョン変えたり、ベンチマーク取ったり、
OSを再インストールしたり…、とか3日ぐらい試行錯誤してたんだが、全く改善なし。
んで、ハードウェアに手をつける前に、ふと思いついて、"one-click ruby installer"でrubyを
インストールし直したら、一発で直ったよ…。
新PCで環境作るときに使ってたのは"ActiveScriptRuby"
理由はさっぱり分からないんだが、そういうことって有り得る?
0906nobodyさん
2009/09/05(土) 23:32:06ID:???http://74.125.153.132/search?q=cache:TX_nOz2k9hkJ:d.hatena.ne.jp/kusakari/+activescriptruby+%E9%80%9F%E5%BA%A6&cd=2&hl=ja&ct=clnk
ActiveScriptRuby すべてに問題があるわけじゃなさそうだな。失礼。
0907nobodyさん
2009/09/06(日) 06:53:37ID:???p72 は脆弱性の含まれる旧バージョンですので、実運用には利用しないようにしましょう。
arton さんが別途 p72 を置いてくれています。ActiveRuby-1.8.7-p72.msi
0908nobodyさん
2009/09/06(日) 10:54:10ID:???横からすまん。
後から変更される可能性の高いデータならテーブルで
管理するというのは分かるんだが、性別などその可能性
の低いものはモデルに定数として定義してしまってるな。
深い考えがあるわけではなく、感覚的に。
請負とかじゃなくて、自前で開発と運用してるので
プログラムに手をいれるのは比較的容易というのもある。
性別をテーブル(モデル?)にした場合、たとえば
女性のユーザーを検索するときはどんなふうに記述するの?
定数にした場合はこんな感じだよね:
User.find_by_sex(User.FEMALE)
0909nobodyさん
2009/09/06(日) 13:06:46ID:???ことがあったよ。事業譲渡を受けたサービス元が、会員の性別を管理
していなかった。でも、男が0で女が1と定数にしてたから、不明を
2なんて定義するのは影響が大きすぎるので、性別は0なんだけど、
会員IDがこのプリフィックスで始まるときは不明とみなす、っていう
処理を必要なところに入れる、汚らしい解決法を取った。
0910nobodyさん
2009/09/06(日) 13:28:59ID:???0911nobodyさん
2009/09/06(日) 13:36:19ID:???0912nobodyさん
2009/09/06(日) 13:55:42ID:2yjCPfLR0913nobodyさん
2009/09/06(日) 14:23:30ID:???本当だ。なんだこれ?
mswin32版のRuby 1.8.7-p160が遅すぎる件 - 那由多屋 開発日誌
http://d.hatena.ne.jp/nayutaya/20090601/1243848756
L'eclat des jours(2009-04-22)
http://www.artonx.org/diary/20090422.html
(コメ欄)
0914nobodyさん
2009/09/06(日) 14:29:31ID:???も結構いるのかな?
RoRのイメージって1,2人で1ヶ月開発ぐらいで
運用開始して、その後継続的にちょこちょこい
じっていくようなスタイルを想像してる。
0915nobodyさん
2009/09/06(日) 14:35:46ID:???これはまってれば2.2.3がリリースされるの?
皆さんはどうしてんの?
gemでインストールしてるんで直接パッチしたくないんだけど
いい方法ありますか?
アプリが複数ある場合はfreezeするときついし。
0916nobodyさん
2009/09/06(日) 17:16:02ID:???application_helperに置いて参照しようとしても、
uninitialized constant ActionView::Base::CompiledTemplates::DEFAULT_TEXT_AREA_WIDTH
みたいに言われるお…
0917nobodyさん
2009/09/06(日) 17:34:23ID:2yjCPfLRったくっ!
0918nobodyさん
2009/09/07(月) 07:26:47ID:???0919nobodyさん
2009/09/07(月) 09:33:12ID:???0921nobodyさん
2009/09/07(月) 14:22:34ID:???XSS Vulnerability in Ruby on Rails
==================================
There is a vulnerability in the escaping code for the form helpers in
Ruby on Rails. Attackers who can inject deliberately malformed unicode
strings into the form helpers can defeat the escaping checks and inject
arbitrary HTML.
0922nobodyさん
2009/09/07(月) 17:52:13ID:???お前らがRailsで作ったサイトにアクセスしたユーザから情報が盗まれたり
するってことだ
0923nobodyさん
2009/09/08(火) 02:30:57ID:hdImoFaT0924nobodyさん
2009/09/08(火) 07:07:52ID:???http://weblog.rubyonrails.org/2009/9/4/timing-weakness-in-ruby-on-rails
このパッチって git-am 形式ってものみたいだけど、これって Rails 本体を Git から落としてきてパッチ当てて、そのパッチ適用済み Rails と今動かしてるものを差し替え、みたいな事やらなきゃならないの??
誰か簡単な適用手順教えてくれ・・・。
0925nobodyさん
2009/09/08(火) 07:21:15ID:???リポジトリなしでも、git amコマンドで直接当てられないかな?わからんけど
gitスレで聞いた方がいいかも
0927nobodyさん
2009/09/08(火) 08:27:39ID:???0929nobodyさん
2009/09/08(火) 08:52:15ID:???ここのコメント欄良く読んでみたら
$ cd vendor/rails $ git apply <name-of-patch>
とか
cd vendor/rails patch -p1 < 2-2-CVE-2009-3009.patch
ってのが載ってるね。
試してみよ。
0931nobodyさん
2009/09/08(火) 10:30:13ID:???表示する文字が多いと線形に遅くなりそう。
0932nobodyさん
2009/09/08(火) 10:40:57ID:???どうすればいいのでしょうか。
link_to('ハウトゥス', '/howto.html')
http://myserver.examle.com/myapl/ のようにサブディレクトリ付きで
動作しているときの /myapl/ が付かないのです。
image_tag のように、この /myapl/ を付けるにはどうしたらいいんでしょうか。
0935nobodyさん
2009/09/08(火) 16:58:34ID:???$ suso gem update railsして、
$ rails -v
2.3.4
の状態で、
$ cd my_project
$ rake rails:update
$ grep RAILS_GEM_VERSION config/environment.rb
RAILS_GEM_VERSION = '2.3.2' unless defined? RAILS_GEM_VERSION
となっており、ruby script/serverでも2.3.2が立ち上がってしまいます…
どのようにしたものでしょうか?
環境 Ubunut 9.04(coLinux) Rails 2.3.2→2.3.4 Ruby 1.8.7
0936nobodyさん
2009/09/08(火) 17:24:08ID:???0937935
2009/09/08(火) 17:39:37ID:???config/environment.rbを
RAILS_GEM_VERSION = '2.3.4' unless defined? RAILS_GEM_VERSION
にして、
$ rake rails:update
したら、無事アップデートできました。
お騒がせいたしました。ありあgとごうざいmした。
0938nobodyさん
2009/09/08(火) 18:14:15ID:???Railsの開発で使用しているcoLinuxのcofsって、lockできない仕様?
ruby script/plugin install git://github.com/rails/acts_as_list.git
みたいなのが失敗する。以下、エラー
error: could not lock config file ~my_project/trunk/vendor/plugins/acts_as_list/.git/config
error: could not lock config file ~my_project/trunk/vendor/plugins/acts_as_list/.git/config
error: could not lock config file ~my_project/trunk/vendor/plugins/acts_as_list/.git/config
Initialized empty Git repository in ~my_project/trunk/vendor/plugins/acts_as_list/.git/
fatal: Not a git repository
Windows側でcygwinから使うと問題ないからまあいいんだけど。
0940nobodyさん
2009/09/09(水) 04:19:37ID:???最近railsの話題追ってなくて…
開発は順調なのでしょうか
0942nobodyさん
2009/09/09(水) 13:37:24ID:???調べてみた。
普通に動いてビックリ。
さて、JRubyとdRubyとの相性はどんなもんかのう...
0943nobodyさん
2009/09/09(水) 13:48:31ID:???rubyな帳票印刷ライブラリってのはないから
Javaなライブラリ使うためのJRubyonRailってこと?
0944nobodyさん
2009/09/09(水) 15:05:38ID:???Yes.
Rubyでなんかいいのある?
dRuby次第ではJVMのバックグランドプロセスににdRuby経由でPDF生成タスクを
投げて、アプリ自体はCRubyなRailsでいいかもとか夢想してるけど...
0945nobodyさん
2009/09/09(水) 20:29:44ID:d2cRtkfX「Ruby Printing Service」なんてのもある
0946nobodyさん
2009/09/09(水) 22:01:28ID:???似たようなことをやったけど、普通に使えます。
JRrubyからPOIを使ってExcelのワークブックを作る処理をdRubyのメソッドにして、CRubyのRailsから呼び出してます。
各セルの中身や装飾なんかは、配列やハッシュに数値や文字列を納めて、パラメータとして渡して、出来上がった
ワークブックのバイナリイメージを戻り値にして、クライアントにダウンロードさせています。
拡張ライブラリのオブジェクトは試してみてないですが、基本的なオブジェクトは普通にやりとりできてますよ。
0947nobodyさん
2009/09/09(水) 22:41:01ID:???YAMLが微妙でてをひいたよ
0948nobodyさん
2009/09/09(水) 23:07:44ID:???0949nobodyさん
2009/09/10(木) 14:40:06ID:ciwTQ8pm既存のテスト結果に続けて
Loaded suite /usr/bin/rake
Started
Finished in 0.000451 seconds.
0 tests, 0 assertions, 0 failures, 0 errors
と出るようになったのですが、これは何をしようとしてるんでしょうか?
0950nobodyさん
2009/09/10(木) 17:17:08ID:???テストを実行して 0.000451秒以内に終了して、テストもアサートも失敗もエラーも1個もなかったよっていってるみたい
0952nobodyさん
2009/09/10(木) 17:35:35ID:???RailsのDraggableでtableのtrってドラッグアンドドロップできないもんでしょうか?
これとか、
#3955 (drag and drop <tr> in <table>) - Rails Trac - Trac
http://dev.rubyonrails.org/ticket/3955
[Rails-spinoffs] scriptaculous: Draggable and table rows
http://lists.rubyonrails.org/pipermail/rails-spinoffs/2005-August/000567.html
結局だめで、
<div>つかえとか、<li>にしろとか、あります。
何か代替する方法ってないもんでしょうかね?
tableみたいな表レイアウトをdivでできるのかな…
0954nobodyさん
2009/09/12(土) 00:07:14ID:???出来ない。というかキレイな方法はない。
jQuery つかえ。
0955nobodyさん
2009/09/12(土) 00:13:30ID:???Railsのサブセットにprototype.jsがあるんだからこっち使ったほうが良さそうなのに。
0956nobodyさん
2009/09/12(土) 00:18:34ID:???0957nobodyさん
2009/09/12(土) 00:29:09ID:???0958nobodyさん
2009/09/12(土) 03:29:52ID:???数行で書けるそうだよ、使ったこと無いけど。
0959nobodyさん
2009/09/12(土) 07:16:40ID:???プラグイン含めてライブラリの数が違いすぎる
0960nobodyさん
2009/09/12(土) 08:32:20ID:???0961nobodyさん
2009/09/12(土) 09:02:14ID:???0962nobodyさん
2009/09/12(土) 09:48:52ID:???0963nobodyさん
2009/09/12(土) 14:19:17ID:???社内システムを拡張しようとした場合、ユーザーマスタは新規で作れないのよね…。
使おうと考えているプラグインはrestful-authentication。
今思いついた解決策は、restful-authenticationに適合するような形の
ユーザマスタへのView(DB上のほう)を作ること。
ただしrestful〜って、パスワードを暗号化してある前提で組まれてるんだよね。
現行のユーザマスタはたぶん暗号化されてないので、どうしようかまよってる。
どうしようかねぇ〜。
0964nobodyさん
2009/09/12(土) 14:31:39ID:???0966nobodyさん
2009/09/12(土) 14:44:59ID:???0967nobodyさん
2009/09/12(土) 15:26:44ID:???行うってことになるんじゃないの?
0968nobodyさん
2009/09/12(土) 18:43:39ID:???0969nobodyさん
2009/09/12(土) 19:46:39ID:???authenticated?メソッドを書き換えればいける…。
(ちなみにユーザマスタはoracle、他はmysqlなんて構造でもいけた。)
>>963で言いたかったこと↓
システムごとにユーザマスタを個別に持ちたくない。
社内システムはphpのもあるしstrutsのもあるしvb.netのもある。
んで、それらのシステムは同じユーザマスタを利用してる。
ユーザマスタに1ユーザ追加すれば、php(のシステム)でもstrutsでもvb.netでも
そのユーザが使える。(ログインに関するロジックは各システムで個別に持ってる。)
で、新規に追加するrailsのシステムもそのユーザマスタを使いたいと…。
restful-authenticationで認証関係を組むと楽なんだけど、社内共通のユーザマスタの構造と
restful-authenticationが想定してるユーザマスタの構造が違うからどうしよっかなぁと。
>>966
それをすると今動いてるシステムの改修が発生して、一番工数が多くなる。
0970nobodyさん
2009/09/12(土) 19:56:48ID:???レス数が950を超えています。1000を超えると書き込みができなくなります。