Ruby on Rails のスレ が
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/04/06(日) 04:59:29ID:???消えたのか?
流行ってないのか
死亡
0756nobodyさん
2008/08/06(水) 23:25:36ID:Slgk/mdNこれはいいページですね!
0758747
2008/08/07(木) 00:46:33ID:???そういうものなんですね。安心しました。。
:successを使ってJavaScriptでクリアしようと思います。
ありがとうございました _ _
0760nobodyさん
2008/08/09(土) 22:32:36ID:???0761nobodyさん
2008/08/11(月) 01:51:16ID:???さっさと2.1に上げて使うべきですか?
0762nobodyさん
2008/08/11(月) 17:50:32ID:???named_scopeも多用するけど、べきってほどじゃない。
0763nobodyさん
2008/08/11(月) 20:39:06ID:???0764nobodyさん
2008/08/11(月) 21:07:19ID:???良いジャマイカ
0765nobodyさん
2008/08/11(月) 21:45:10ID:???Aさんが自分とこでdb/migrate/010_create_foo.rb
Bさんが自分とこでdb/migrate/010_add_hoge_to_bar.rb
をつくってお互いにコミットしたときにウボァーとならなくて済む。
0766nobodyさん
2008/08/11(月) 22:05:09ID:???のは、ありがたい。
0767nobodyさん
2008/08/12(火) 01:47:05ID:???0768nobodyさん
2008/08/12(火) 05:07:29ID:???001- 002- と同様、ただのIDだから日本時間である必要ないし。
0769nobodyさん
2008/08/12(火) 09:00:28ID:KgBJ4o740770nobodyさん
2008/08/12(火) 12:08:45ID:/IFRJz9pclass ActiveSupport::Multibyte::Chars
def abbreviate(length)
return self if length >= self.length
return self[0, length] + "..."
end
end
class Array
def to_dls
return self.map{|s| s.gsub("^", "?x5e;")}.join("^")
end
end
前者は"test".abbreviate(20)とすることで正常に動作したのですが、
後者を["test^1", "test^2", "test^3"].to_dlsとViewで呼び出すと以下のエラーが発生します。
undefined method `to_dls' for ["test^1", "test^2", "test^3"]:Array
Arrayクラスにメソッドを追加してViewの中で使用するにはどうしたらいいのでしょうか?
どなたか教えていただけると嬉しいです _ _
0771nobodyさん
2008/08/12(火) 23:53:24ID:???詳しく読んでないが、
ApplicationHelperでそのモジュールをinclude してみてはいかがだろう?
0772nobodyさん
2008/08/12(火) 23:54:16ID:???て書いてあった・・・
sudo rm -f /*
してくるorz
0773nobodyさん
2008/08/13(水) 03:57:20ID:???ruby 1.8.7 (2008-06-20 patchlevel 22) [i386-cygwin]
rails 2.1
webrick
だと、普通に動いたんだけど。
a.html.erb: <%= debug ["test^1", "test^2", "test^3"].to_dls %>
結果: --- "test?Hx5e;1^test?Hx5e;2^test?Hx5e;3"
0774nobodyさん
2008/08/13(水) 18:44:55ID:???0777nobodyさん
2008/08/14(木) 18:11:03ID:???mongrel_clusterに--prefix rails_app付けて
apacheのProxyPassディレクティブで、
/rails_app以下は、mongrelに処理させるよう
proxy設定したんだが、
アプリ自体は正常に動くが、
cssファイルが読みこめなくて、
ActionController::RoutingError (No route matches "/stylesheets/scaffold.css"
というエラーログが出る。
仕方がないので、apacheのDocumentRoot /var/www以下に
ln -s rails_app/public rails_app
こんなして、cssなどの静的ファイルはapacheに読みこませる
%8
0778nobodyさん
2008/08/14(木) 18:14:11ID:???0780nobodyさん
2008/08/14(木) 22:56:13ID:???ありがとうございます。
VirtualHostは同一サイトでなくなるので
Proxyは必須だと思ってます。
lnがなくせればいいんですが。
0784nobodyさん
2008/08/17(日) 23:39:19ID:???なぜ?
検索したとき、同じドメインのものはひとつしか表示されない。
ドメインが違うと二つとも表示される。
でもサブドメインにしたら、違うドメインと認識されるため、
ページをアップするためのポイントが分散される。
結果、二つとも表示順位が下がる。
0786nobodyさん
2008/08/18(月) 04:15:56ID:???しかも、新たにサブドメインを作った場合、そのサブドメインの
ページランクは低いから、まったく意味ないね。
0787nobodyさん
2008/08/18(月) 10:52:28ID:???ど素人の話など聞きたくない。
0788nobodyさん
2008/08/18(月) 13:18:23ID:???0789nobodyさん
2008/08/18(月) 16:16:09ID:???0790nobodyさん
2008/08/18(月) 20:17:03ID:???○○が健康にいいと聞けば、その前提条件や効果範囲など
ちゃんと調べもせずに○○ばっかり食べるようなそんな世界だ。
○○のとりすぎはよくないと言った数ヵ月後に○○にはこんな効果が!とかやるような世界だ。
サブドメインにする明確な理由があるほど、コンテンツ内容が独立していて、
それ単体で一つのサイトとしてやっておかしくないような場合。
つまり、SEOとかそんなまじないみたいなものは気にせずに、
サブドメインを使うべきところにサブドメインを使えばいい。
検索エンジンは、そういう自然なサブドメインの使い方に対して
ポイントを与えている。
0791nobodyさん
2008/08/18(月) 20:46:46ID:???複数のControllerから使うからまとめときたいんだけど・・・。
0792nobodyさん
2008/08/18(月) 22:54:04ID:???名前をお約束通りに付けておけばconst_missingを捕まえて勝手にrequireするし。
0793nobodyさん
2008/08/18(月) 23:21:04ID:???0794nobodyさん
2008/08/18(月) 23:58:31ID:???モンキーパッチ当てるんだけど、initializeじゃないし、やっぱ行儀悪い?
0795791
2008/08/19(火) 23:50:18ID:???>>793
レスありがとう。
今はlibの下に置いてApplicationControllerでincludeしてるんだけど、「お約束通り」の命名にすればそれが不要ってこと?
定数名にRailsの命名規約があるの??
0796nobodyさん
2008/08/20(水) 08:25:05ID:???その名前をオール小文字/単語境界をunderscore化、ネストをディレクトリ
とみなしたファイルがrequireされる。
たとえば、いきなりinclude FooBar::Bazとか書いて未定義の定数を使うと、
require 'foo_bar/baz' される。
0797nobodyさん
2008/08/20(水) 10:29:51ID:???ruby script/server -p 80
のコマンドを実行し、ポート80を使っていたapacheを停止させたところhttp://localhost/testでも接続できるようになりました。
これはapacheの代わりにmongrelが動いているということでしょうか。
初歩的な質問ですが、よろしくお願いします。
0800nobodyさん
2008/08/20(水) 16:51:06ID:???だけど、上手くアクセス制限する方法は、ありますか?
相手は動的IPなので、アドレスで制限することは出来ません。
ActionController::RoutingError で、404.htmlがレンダリングされること
になるんですが、RoutingErrorをカウントして閾値を超えたら一定時間ban
みたいなことをしたいのですが、方法が分かりません。
0802nobodyさん
2008/08/20(水) 21:28:23ID:???AC::Base#rescue_actionをオーバーライドしてRoutingErrorだったら
DBに記録したりbanしたりすればいいんじゃないだろうか。
解除の方は定時処理で一定時間経過しているものをクリアする。
0803nobodyさん
2008/08/21(木) 15:59:46ID:???上手く実装することが出来ました。ありがとうございます。
0804nobodyさん
2008/08/21(木) 18:35:44ID:???super呼ぶ必要がある、はず。
0805nobodyさん
2008/08/24(日) 15:45:14ID:VqgKvUuyPassengerだと鯖管理者がその都度VirtualHostを切るしかないですかね?
mod_fcgidだったら.htaccessで後はご自由に、って
できたのですが、時代に逆行しているような気がして。
何かよい方法あれば教えてください。
0807nobodyさん
2008/08/25(月) 00:18:17ID:???0808nobodyさん
2008/08/25(月) 16:36:18ID:???mongrelを使っているのですが、public/javascripts/iepngfix.htcの読み込みが
css内のbehavior経由でできません。
IEツールバーにはAccess is deniedと怒られます。
パーミッションは644、ファイルパスを直接ブラウザに入れると普通にDLできます。
なぜだかわかりません。どなたかご教示願います。
0809nobodyさん
2008/08/25(月) 16:45:11ID:???0811nobodyさん
2008/08/25(月) 19:41:08ID:???そもそもcss内から呼び出せるものなのか?
0812nobodyさん
2008/08/26(火) 22:58:05ID:???0813nobodyさん
2008/08/27(水) 10:59:43ID:???REXMLのDoS脆弱性
ttp://www.ruby-lang.org/ja/news/2008/08/23/dos-vulnerability-in-rexml/
Railsユーザは一応パッチ当てとけ
0814nobodyさん
2008/08/27(水) 21:31:53ID:???「漏れのRailsアプリではREXML使ってないからいいやー」
と思っている奴は、それ勘違いだからな。
0815nobodyさん
2008/08/27(水) 21:37:32ID:???require 'rexml/document'
してる所結構あるよ
script/consoleで
サンプルコード再現確認したけど、
見事に固まってワロタwwww
動いてるRailsアプリにPOSTしちゃダメだぞ!!
0816nobodyさん
2008/08/27(水) 21:52:17ID:???Content-TypeがxmlなデータをPOSTされると、
actionpack-2.1.0/lib/action_controller/base.rb の
@@param_parsers[Mime::XML] が :xml_simple なので、
POSTボディ解析に XmlSimpleクラスが使われる。
XmlSimple自体はactivesupport-2.1.0/lib/active_support/vendorにある。
こいつがREXML使ってるから、やばいPOSTデータで死ねるんだな。
0817nobodyさん
2008/08/27(水) 22:04:05ID:???XMLのPOST許可って外部APIの受け口とか、他鯖のデータ受け口だし、
画面上から気づく所が無いのが唯一の救いだよな。
(まぁ外部APIや他鯖連携使ってるって分かるようなサイトだと入り口見つかるのも時間の問題だけど・・・)
久々の祭りでちょっと面白かった
(ちら裏)
個人的にはxml_simpleは速度がピュアREXMLより遅いから嫌いw
0818nobodyさん
2008/08/29(金) 17:36:06ID:???どうすればいいのでしょうか。
<% form_for @foo do |f| %>
<%= f.bar_field %><%# ←これを追加したい %>
<% end %>
0819nobodyさん
2008/08/29(金) 17:46:11ID:???○入力フィールド
でした
0820nobodyさん
2008/08/29(金) 20:38:09ID:???「独自の」ってのがいまいちわからないんだけど、textだとかcheckboxのような種類のことを言ってる?
それとも、@fooのプロパティのこと?
0822nobodyさん
2008/08/31(日) 19:38:00ID:???>>818
その通りです。
例えば元から用意されているtext_fieldを拡張したい時などに、
どうすればRails2.*の作法に従えるかわかりません><
0824nobodyさん
2008/08/31(日) 19:47:42ID:???拡張加えて、
def ext_text_field
のようにヘルパー内でメソッド作っちゃえば?
個人的にCSRF対策に
form_tag呼び出されたら、自動的に
トークンのhiddenタグが呼び出されるように
form_tag拡張してるYO。
(Rails2のCSRF対策はちょっと弱いからw)
0825nobodyさん
2008/08/31(日) 20:30:27ID:???0826nobodyさん
2008/08/31(日) 20:40:15ID:???の流れを一度正常にやってから
確認画面にBackとかで戻ると、フォーム期限切れの画面出るけど、
そこでF5押したら普通にPOSTが効く
セッションが生きてる間は、
Railsが生成したトークンが有効になってしまうんよ。
個人的に一連のこういう流れは、ワンタイムトークン使うべきだと
思うんだ。
あくまでも個人的なオナニーだから、使わなかったから
何だって訳じゃないけどw
0827nobodyさん
2008/08/31(日) 21:35:24ID:???CSRF対策としては別に問題ないのでは。
0828nobodyさん
2008/09/04(木) 23:19:54ID:???どうやってやるのでしょうか。
「Hoge.find(:first, :order=>"id desc").id」で
一応は動いているのですが、ちょっと気持ち悪いです。
select last_insert_id() とか select lastval()のような
追加された値を明示的に取得する方法があったら知りたいです。
(この際、SQL直書きでも構いません)
0829nobodyさん
2008/09/04(木) 23:29:29ID:???hoge.save
hoge.id
0830nobodyさん
2008/09/05(金) 00:10:47ID:???出来ました&動きました。
……そーか、こんな単純なのか。
調べても出て来ないわけだ……。
0831nobodyさん
2008/09/05(金) 04:08:40ID:???俺も知らなかった時はsql書いてたw
0832nobodyさん
2008/09/05(金) 08:18:54ID:???0833nobodyさん
2008/09/05(金) 08:19:40ID:???かもしれない)ので、orderで現在の最大値を持ってきたらあぶないと思う。
0834nobodyさん
2008/09/05(金) 12:30:32ID:???それってIDじゃ無いと思うw
0835nobodyさん
2008/09/05(金) 13:26:29ID:???destroyした後、createしたら同じidが振られた。
0836nobodyさん
2008/09/05(金) 15:07:44ID:???間違ってるような。
0838nobodyさん
2008/09/05(金) 21:34:50ID:???0839nobodyさん
2008/09/05(金) 22:49:26ID:???ISAMテーブル/BDBテーブルでauto incrementカラムの最大値を持つレコードが削除されると、
その値は再利用されるそうな。
mysql> create table samples (id tinyint auto_increment, primary key (id)) engine=ISAM;
mysql> insert into samples values(126);
mysql> insert into samples values(NULL);
mysql> select * from samples;
+-----+
| id |
+-----+
| 126 |
| 127 |
+-----+
2 rows in set (0.01 sec)
mysql> delete from samples where id = 127;
mysql> insert into samples values(NULL);
mysql> select * from samples;
+-----+
| id |
+-----+
| 126 |
| 127 |
+-----+
2 rows in set (0.01 sec)
0840nobodyさん
2008/09/05(金) 23:22:39ID:???0841nobodyさん
2008/09/06(土) 02:08:21ID:???上記のようなrailsが吐き出す画像パスのquery_stringを消す方法はあるのでしょうか?
0843nobodyさん
2008/09/06(土) 10:46:23ID:???テーブルを作っていないといけないんですか?
直接作ったDBにレコードを挿入しようとした時にエラーになり
マイグレーションで作ったDBにはうまくいったので疑問に思いました
0844nobodyさん
2008/09/06(土) 11:18:48ID:???ENV['RAILS_ASSET_ID'] = ''
>>843
直接造ったテーブルがRailsの規約に沿っているか、
Railsのほうでテーブル名やプライマリキーの設定を変えるかすれば使える。
0845nobodyさん
2008/09/06(土) 17:17:41ID:???そうなのかなぁ、テーブル名とプライマリーキーの設定はモデルでしたんだけど・・
何か設定が正しくなかったのかな
あと、そのプライマリーキーが数値じゃなくてもOKだよね?
0847nobodyさん
2008/09/07(日) 13:35:50ID:???そうですか、それが原因だったみたいですね
今、既存のテーブルを使いたいんですが、そのテーブルの主キーがvarcharだから困りましたね
そういう場合でRailsを使ったシステムを作りたいなら、どうしたらいいでしょうか?
やっぱりテーブル構造の変更を行うしかないでしょうか?
0848nobodyさん
2008/09/07(日) 13:45:46ID:???0849nobodyさん
2008/09/07(日) 16:08:45ID:???primary keyとそのテーブルの主キーだけの
0850nobodyさん
2008/09/07(日) 17:57:32ID:???元のPKはUNIQUEに変更、では駄目?
0851nobodyさん
2008/09/07(日) 21:03:10ID:???>>850 が今のところ一番わかりやすく、現実的かなと思いました
直接SQLを発行すれば一応テーブルの変更はいらない・・・ですよね?
でもRailsのアプリでそれはダサいかな?
0852nobodyさん
2008/09/07(日) 23:28:42ID:???SQL直書きだって決してダサくはないよ。
AR::Base.findのオプション(:selectとか:joinとか:groupとか)で対応できる範囲なら
そうしておいたほうがRubyレベルでいじりやすいだろうけど。
0853nobodyさん
2008/09/08(月) 22:49:53ID:???これのREADMEにはRails1.2.6以上で動くと書いてあるのですが
実際に1.2.6で使ってみると「authenticate_with_http_basicがない」
とエラーになります。
調べてみると、このメソッドはRails2で実装されてるようです。
READMEが間違ってるってことでいいんでしょうか。
0854nobodyさん
2008/09/08(月) 23:13:13ID:???'Classic' (backward-compatible) version
http://github.com/technoweenie/restful-authentication/tree/classic
というのもあるようだ。
■ このスレッドは過去ログ倉庫に格納されています