【Ruby】Ruby on Rails Part7
■ このスレッドは過去ログ倉庫に格納されています
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
0701nobodyさん
2009/07/15(水) 01:55:13ID:???無料サーバがない≠市場がない では?
無料鯖がないのは、Rails を動かす場合、
Passenger なり Mongrel なり、一アプリにつき一ポート使うからだと思う。
だからVPSなど、有料でroot権限もらえるとところだったら
Passenger や Mongrel を好きなだけ動かせるだろ。
(VPSだと、安いプランだとメモリが大変だけど)
Java だって Servlet を動かすには Tomcat などが必要だが、
一 Tomcat につき 一ポート使うから、無料サーバではやりにくいだけの話で、
Java による web アプリは、全然マイナーな技術ではないよね。
(レンタルサーバでやるようなものではないけど)
一方 perl や PHP は Apache の中に組み込まれるから(mod_perl、mod_php)、
各ユーザが PHP アプリを動かしてもポートは新たに消費しない。
だから無料鯖でも使われるわけで。
※
レンタルサーバで、あらかじめ Passenger がサーバにインストールされていて、
そのユーザのホームに .hoge (任意のファイル名) を置いておくと、
毎朝の root の cron で httpd.conf に RailsBaseUri の行を追加してくれ、そのあとは
http://{サーバ名}/~{レンタルサーバのアカウント名}/ で Rails アプリが動く、
なんてサービスがあったら、レンタルサーバでもポートを増やさずに
Rails アプリを動かせる、なんてことができていいかも。
0702nobodyさん
2009/07/15(水) 02:21:05ID:???Webな管理画面があればいいですよね。
Passengerけっこう落ちるって噂ですが。
1. フレームワークがでかいから潤沢なメモリが必要
2. Rubyがそもそもメモリを食う
3. PerlやPHPではでかいフレームワークつかわないから軽いだけ
どれなんですか。
勘で1かと思ってます。
0703nobodyさん
2009/07/15(水) 02:50:07ID:???0704nobodyさん
2009/07/15(水) 03:31:36ID:???4. 情報不足とそれに関連した使用者のスキル不足
5. まだあまり枯れてない
0705nobodyさん
2009/07/15(水) 08:10:03ID:???0706nobodyさん
2009/07/15(水) 08:14:05ID:???>Tomcat につき 一ポート使うから
無知乙。mod_jkとかAJP 1.3てな単語でまずググレ。
javaが無料サーバでやらないのはVMがメモリ食いすぎるのと
javaでは何でも出来てしまうから「共有サーバー」で導入しないだけ。
0707nobodyさん
2009/07/15(水) 10:21:44ID:???0708701
2009/07/15(水) 10:30:33ID:???>>Tomcat につき 一ポート使うから
> 無知乙。mod_jkとかAJP 1.3てな単語でまずググレ。
Java は長い間やってきているから、そこら辺は把握しているつもりです。
mod_jk とか mod_proxy_ajp をつかって外部には Apache の port 80 で公開していたとしても、
mod_jk は内部で動かしている Tomcat の port 8009 にスルーするだけだから、
結局、各ユーザごとの Tomcat のプロセスの起動が必要で、
それごとに 8009 (AJP を受け付けるポート)の bind が必要だと思いますが?
あとひとつの Tomcat に、各ユーザの webapp をデプロイする方法も考えられるが、
Passenger は、RailsBaseUri ごとに、動くユーザを変えられるが、
Tomcat は変えられない。
$CATALINA_HOME/webapp/foo アプリは foo ユーザ、/bar は bar ユーザで動かす、
ということができない。
> javaが無料サーバでやらないのはVMがメモリ食いすぎるのと
> javaでは何でも出来てしまうから「共有サーバー」で導入しないだけ。
ここは同意する。
0709nobodyさん
2009/07/15(水) 11:44:11ID:???0710nobodyさん
2009/07/15(水) 13:29:02ID:???perlやphpでも巨大なライブラリ使う事も出来るけど、もうそれはapacheごと重くなっても構わないって割り切りがあるから。
実際、phpとかperl使ってるサイトは重いし。
rubyは小賢くmod_rubyで重くなるほうに実装しなかっただけ。共用鯖で、はた迷惑になるのを覚悟でどんどん重い実装をしていけば、レン鯖でも通用するとは思う。
0711nobodyさん
2009/07/15(水) 16:51:55ID:???じゃあapacheは何故80番だけで多ユーザに対応出来るんだ?
MySQLも3306のみ、postgresも5432だけで多ユーザに
対応しているぞ。そこを考えろ。長いっつっても無駄に
長いとVBプログラマー(笑)と変わんなくなるぞ。
お前さんの根本的な間違いは、Tomcatは1ユーザに1ポート
与える必要がある、と考えていること。80から8009に流そうが、
外部に公開するのは80番だけでよいから、利用者はそこで
Tomcatが動いていると意識する必要はない。それと
TomcatはTomcat上でのマルチユーザー(Not UnixUser)に
十分対応している。なんでPassengerと比較するんだ?
共有PHP鯖でマルチユーザのWEBアプリが十分動いてるだろ。
0712nobodyさん
2009/07/15(水) 16:57:05ID:???ま、机上の空論で無理無理と考えてるから前進出来ない。
0713nobodyさん
2009/07/15(水) 20:16:06ID:???PHP使うとかマゾすぎんぞ
0715nobodyさん
2009/07/16(木) 01:33:33ID:???0716nobodyさん
2009/07/16(木) 15:59:36ID:4+d1h2nCPHP moduleの場合は企業向けプランだったり。
0717nobodyさん
2009/07/16(木) 16:12:37ID:???OLだった頃、会社で働いていた日本に超詳しいベルギー人が言ったことに納得してた。
日本文化は身内受けの凝り性文化だそう。
外国文化に負けまいとしているのではなく、
世に意図的にインパクトを与えようとしているのでもなく、
今ここにいる同じ価値観を共有する仲間からの喝采を浴びたいと考える。
その結果、同じものを志す者同士の「これすごいだろ、おもしろいだろ」合戦が始まり、
そこで生み出される物が自然と研ぎ澄まされていく。
でもその競争は、敵対的なものではなく、お互いを尊敬しあいながら、静かに深く進行していく。
そしてある日、偶然目撃した異文化出身の人間(外国人)から、
それがすごいものであることを知らされる。
ほとんどの日本人はその日が来るまで、自分たちが作り上げた物がすごいものとは知らない。
もろもろの伝統文化、芸能、電化製品、アニメ、他、みんな同じパターンで世界に広まっていった。
だから、日本がここまで発展してきたのも必然的なものだし、
この精神が衰えない限り、これからも日本は誰に頼まれることもなく、
知らないうちに勝手に世界にインパクトを与え続けていくだろうと。
0718nobodyさん
2009/07/17(金) 11:19:51ID:???0719nobodyさん
2009/07/17(金) 19:20:40ID:???0720nobodyさん
2009/07/17(金) 20:55:05ID:???そうだよな。
CGIでもまともに動く軽量フレムワがあればいい。
0721nobodyさん
2009/07/17(金) 22:00:28ID:???0722nobodyさん
2009/07/20(月) 17:22:47ID:???request.remote_ip などrequestの情報をコントローラーではなく、モデルから取得したいのですが、
どうしたものでしょうか?
コントローラー側から、引数で渡すしかないでしょうか?
モデル側からコントローラーのインスタンスにアクセスする手段がある?とか(そうするとテストがやっかいそうですが…)
Rails 2.3.2です。
0723nobodyさん
2009/07/20(月) 17:28:07ID:???それはありますよね。今だとSinatraでしょうか?
そもそも、Railsと比べるべきは、PerlやPHPなどの言語ではなく、フレームワークですよね
CakePHPとか十分重いですよね。もちろん、Railsよりもデプロイ等楽ですが、
無料レンサバのphpはCGI版という現実…
無料レンサバでRails動かしたいという人は、passengerついてるDreamhostのお試し期間で試してみたら、どうかな
Dreamhostも共有サーバーだけど、なかなかなしんどさで無料鯖でRailsやりたいという願望の非現実感が味わえますw
0724nobodyさん
2009/07/20(月) 17:46:00ID:???0725nobodyさん
2009/07/20(月) 18:25:13ID:???引数で渡すのが一番簡単だと思う。
あるいは、ApplicationControllerあたりでグローバル変数にrequestをセットするbefore_filterを定義とか。
0726nobodyさん
2009/07/21(火) 02:59:52ID:???おれも3日間いったが。
Javaから転校してきてまだ3ヶ月なんだけど、
Rails→超有名
Sinatra→次に有名、もはや珍しくない
まではわかったけど、ほかにも有名なものってあるの?
Java だと web フレームワークはたくさんあって選ぶのに困るぐらいだけど
(もちろん、フレームワークによって得意とする局面はいろいろあるけど)、
Ruby の web フレームワークもそんな状況なのか、
それとも Rail と Sinatra ぐらいなのか?
とりあえず merb と ramaze はRuby会議で知った。
0727nobodyさん
2009/07/21(火) 05:47:32ID:???板違いで申し訳ないんですが、以前から疑問に思っていたので便乗します。
> TomcatはTomcat上でのマルチユーザー(Not UnixUser)に
> 十分対応している。
というのは、tomcat-users.xmlで管理するという意味ですか?
だとするならば、それはUnixユーザー並みに、ユーザーごとに分離独立で
管理できるのですか?
それから、
> javaでは何でも出来てしまうから「共有サーバー」で導入しないだけ。
ということは、例えば、webapps下の別ユーザーが管理するアプリの
ディレクトリ下を書き換えたりできてしまう可能性がある、
ということですか?
上記等から、レンタルサーバ屋さんは基本的に1ユーザ1Tomcatであるべき、
と考えているということなんですか?
0728nobodyさん
2009/07/21(火) 15:42:40ID:rQ1yXsK1とあるテーブルのidが求められていた場合、
ある条件下(例えばデータ生成順)においてそのidのデータが何番目にあるのか?というのを求める方法はないものでしょうか?
また、ActiveRecordでそれはどのように書いたものでしょうか?
例えば、id=1234が :order => "created_at asc" という条件で検索した場合に何番目なのか?という話です。
Rails 2.3です。
0729nobodyさん
2009/07/21(火) 17:45:21ID:???ttp://codezine.jp/article/detail/460?p=2 を参考にすると、
1 + Model.count(:conditions => [ 'created_at < ?', Model.find(1234).created_at ])
だろうか。該当の値より小さい要素の数プラス1(先頭を1とする場合)
0730nobodyさん
2009/07/21(火) 22:41:56ID:fpo5xh0Mありがとうございます。
created_atが同じ場合に問題が出そうです…。
とりあえず、こんな風に書いてみました。かなり富豪的ですが、アクセスは少ないのでいけるかな?
item_id = 1234
item_number = Mode.find(:all, :order => "created_at asc", :select => "id").index{|x| x.id == item_id } + 1
穴がないか、心配ではあります。
0731nobodyさん
2009/07/21(火) 22:43:48ID:fpo5xh0Mですが、いきなり>>730の例は Mode.find(:all で富豪的すぎますが、
実際には、:conditions => ["hoge_id", hoge] みたいに、要素を絞って使ってますです。
0732nobodyさん
2009/07/21(火) 22:44:29ID:fpo5xh0Mx :conditions => ["hoge_id", hoge]
o :conditions => ["hoge_id = ?", hoge]
0733nobodyさん
2009/07/21(火) 22:49:39ID:???「たまたまそうなった」以上の意味はない気がする。
最後尾の位置は、比較を <= にして +1 なしにすれば求められるな。
0734nobodyさん
2009/07/21(火) 22:53:59ID:???だからな。順序という概念はあまり相性がよろしくない。
ORDER BYは列の整列というより取り出し順だし。
0735nobodyさん
2009/07/22(水) 18:51:56ID:???何となくYM4R/GMが良い気がしますが、ほかに何かある?
0736nobodyさん
2009/07/22(水) 19:27:20ID:???0737nobodyさん
2009/07/24(金) 00:02:40ID:???が機能しなくなりました。
gettextは利用しないほうがいいんですかね?
対応策があれば教えてください。
[環境]
rails 2.3.2
ruby 1.8.6-p287
Ruby-GetText-Package-2.0.4
0738nobodyさん
2009/07/24(金) 01:28:01ID:???script/console
>> helper.number_to_currency(1000)
=> "$10,000.00"
にはなるのだが……
number_to_currencyのようなヘルパはRails標準のI18nフレームワーク
を利用しているので相性が悪いとは思う。
gettext的にはビュー上は
<%=h(_('$%.2d') % price) %>
のように出力しておき、日本語なら '%d円' になるようにメッセージ
カタログを用意するのだろうね。
0739nobodyさん
2009/07/24(金) 01:29:34ID:???適当に脳内修正よろ。
0740nobodyさん
2009/07/24(金) 02:03:33ID:???ありがとうございます
う〜ん。悩みますね。
まぁ仕事で利用しているわけではないんで、
色々試してみます。ありがとうございました。
0741nobodyさん
2009/07/24(金) 02:13:28ID:???ということはきちんと初期化しれやればうまくいくはず……
0742nobodyさん
2009/07/24(金) 02:42:21ID:???$ rails _2.3.2_ testapp
適当なモデルを作ってレコードを作成。
$ ./script/generate scaffold Book title:string author:string price:integer
$ rake db:migrate
$ ./script/console
>> Book.create(:title => 'Untitled', :author => 'Anonymous', :price => 10000)
number_to_currencyを利用
$ vi app/views/books/show.html.erb
<%=h number_to_currency(@book.price) %>
GetTextの使用
$ vi config/environment.rb
config.gem 'locale'
config.gem 'locale_rails'
config.gem 'gettext'
config.gem 'gettext_activerecord'
config.gem 'gettext_rails'
I18n FWの初期化
$ vi config/initializers/locale.rb
I18n.supported_locales = %w(en)
I18n.default_locale = 'en'
でフォーマット出来た。
0743nobodyさん
2009/07/24(金) 02:55:25ID:???おお〜〜〜!!
やってみたら私もフォーマットできました。
これでgettextと併用できます。
ありがとうございます。
0744nobodyさん
2009/07/24(金) 06:22:36ID:???自分の場合は、i18nのほうが分かりやすいと思ってるので、i18n_generatorsでymlを生成してます。
0745nobodyさん
2009/07/26(日) 09:25:57ID:VPPSkKB9(Windowsスレでレスもらえなかったのでこっち着ました)
$ time script/runner "puts 'hello'"
hello
real 0m16.309s
user 0m0.015s
sys 0m0.015s
$ time script/runner "puts 'hello'"
hello
real 0m12.124s
user 0m0.000s
sys 0m0.030s
環境:Windows Vista SP2, Ruby 1.8.7 Rail 2.3.2, CPU Core 2 Quad Q6600, Memory 2GB
0746nobodyさん
2009/07/26(日) 10:05:05ID:???0747nobodyさん
2009/07/26(日) 15:17:17ID:???っつかマルチすな
http://pc12.2ch.net/test/read.cgi/tech/1216829388/
0748もうだめ
2009/07/27(月) 19:48:09ID:???rake aborted!
Multiple migrations have the name CreateBooks
#rake
/usr/local/bin/ruby -I"lib:test" "/usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake/rake_test_loader.rb"
/usr/local/bin/ruby -I"lib:test" "/usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake/rake_test_loader.rb"
Errors running test:units!
てな状況なんですが、ヒントくれませんかー?mysql ruby gems rails は最新verです
0749nobodyさん
2009/07/27(月) 21:18:52ID:???>Multiple migrations have the name CreateBooks
読める?
Migration classの名前を重複しないようにする。
おおかた XXXX_create_books.rb をコピーして、クラス名を変えずに
中身だけ変えたんだろう。
0751もうだめ
2009/07/27(月) 23:27:06ID:???ありがとう
0752nobodyさん
2009/07/28(火) 06:15:55ID:???0754nobodyさん
2009/07/28(火) 10:44:07ID:???Authlogicは大体↓exampleとか見て、大体組み込めたんですけど、
binarylogic's authlogic_example at master - GitHub
http://github.com/binarylogic/authlogic_example/tree/master
acl9のチュートリアルで詰まってます。
Tutorial: securing a controller - acl9 - GitHub
http://wiki.github.com/be9/acl9/tutorial-securing-a-controller
Third step: here comes the adminのところなんですが、
Userモデルにacts_as_authorization_object入れるという話なのですが、
↓こちらではSubject modelでacts_as_authorization_subjectを書くとかなっててどっちなの?という。
http://github.com/be9/acl9/tree/master
それと、結合テーブル作らないといけないみたいなのんですが、
migrationするroles_usersはモデルも作る必要あるんでしょうか?
そもそも、結合テーブル何で必要なのかわかってなかったりしますが…。
0755nobodyさん
2009/07/31(金) 16:31:29ID:???map.resources :payments
map.connect ':controller/:action'
map.connect ':controller/:action/:id'
map.connect ':controller/:action/:id.:format'
この場合、例えば http://localhost:3001/payments/list を GET でアクセスできないのでしょうか?
Couldn't find Payment with ID=list
というエラーがでます。
http://localhost:3001/payments/list/0
とやればアクセスできるようです。
0757nobodyさん
2009/07/31(金) 17:43:49ID:???で定義されるルーティングが先にマッチするからでしょう。
rake routes でルーティングを確認しましたか?
0758755
2009/07/31(金) 18:15:37ID:???ありがとうございます。
rake routes の結果より
payment GET /payments/:id(.:format) {:controller=>"payments", :action=>"show"}
が優先的にきいてるようです。
:action => "list" が存在しない場合だけ上記が適用されるようにしたいのですが、可能でしょうか?
0759nobodyさん
2009/07/31(金) 18:28:39ID:???の意味がよくわかりませんが、
map.resources :payments
より前に
map.connect '/payments/list' { :controller => "payments", :action => 'list' }
を書くというのが、やりたいことじゃないかと思います。
controller が payments だけじゃなくて、しかも list メソッドが定義されていない場合は
マッチしないでくれ、という場合は…
:id のフォーマットを正規表現で限定する機能が使えるかもしれません。
0760754
2009/07/31(金) 18:39:13ID:???> ↓こちらではSubject modelでacts_as_authorization_subjectを書くとかなっててどっちなの?という。
メインの関連するモデル(Authlogicの場合User)は acts_as_authorization_subject の方でいいみたいです。
> それと、結合テーブル作らないといけないみたいなのんですが、
> migrationするroles_usersはモデルも作る必要あるんでしょうか?
必要なかったです。
lib/ruby/gems/1.8/gems/be9-acl9-0.10.0/lib/acl9/model_extensions.rb などを見ればわかるのですが、
acts_as_authorization_subject で、
has_and_belongs_to_many :roles, :class_name => role
を呼んでおり、(Authlogicの場合)UserとRoleを多対多で関連付けているみたいです。
しかし、この多対多のhas_and_belongs_to_many ですが、下記サイトを見ると
Ruby on Rails - ActiveRecord - ? ありえるえりあ
http://dev.ariel-networks.com/articles/workshop/rails-activerecord
> * has_and_belongs_to_many (HABTM)
> :through 登場以降の存在がいまいち不明なので無視します。
とかあるのですが、これって今は使わないんでしょうかね。
とにかく、おさわがせしました。
ありがとうございました。
0761nobodyさん
2009/07/31(金) 19:15:26ID:???has_many :throughだと、テーブルの関連自体をオブジェクトとして
扱えるので何かと便利。
0762nobodyさん
2009/07/31(金) 20:33:56ID:TkoSwHP8paymentsって結構一般的なんかな。
0763755
2009/07/31(金) 22:15:57ID:???やはりそうするしかないですね
ありがとうございます
0764nobodyさん
2009/08/03(月) 08:55:54ID:OSViAr5uクッキーストアなセッションを盗聴もしくはXSSによって盗まれた場合、
そのセッションを無効にするには secret を再生成するしかないという理解なのですが、
あってますでしょうか?
0765nobodyさん
2009/08/03(月) 10:49:14ID:???番号札取られて順番待ちに横入りされまくってる状況をなんとかしないと。
0766nobodyさん
2009/08/03(月) 11:03:10ID:???そのセッションをと書いてあるだろ。xss気づいた時点で直すだろう。ただ直しても過去のセッションは生きてるから、過去のセッションを無効にしたいってことだろ。そもそも偉そうに言う前に答えてからにしろ。
で、答えは、私も解らん。
もちろんsecret変えれば、無効になるが、それ以外にないかって言われると…。
0767764
2009/08/03(月) 11:50:48ID:???レスありがとうございます。
secret を再生成するとログイン中のユーザーを強制ログアウトしてしまうので、
それ以外の方法はないのかなーと思いまして。
そもそもクッキーが盗まれないようにしろよって話なんですが
0768764
2009/08/03(月) 12:03:13ID:???XSS に対して => アプリ側で穴をふさぐ
盗聴に対して => 通信内容の暗号化 => 全面的にHTTPS
ということになると思うんですが、世の中見渡しても全面的にHTTPS な
Webサービスって少ないですよね。これって
そこまでせんでもええやろ
ってことなんでしょうか?
なんだか XSS に対してはやたらうるさく言われる割に、
盗聴されるとクッキー盗まれるからHTTPSにしなさいってのは(XSSと同じ被害が出る割に)
随分とトーンが弱い気がします。
0769nobodyさん
2009/08/03(月) 12:40:19ID:???アクセス数が超多い人気サイトだと、SSLアクセラレータを前に置いたりするが、
それでも処理が捌けなかったり、そもそもそんな金があるなら別のところに使いたい。
携帯サイトだと、毎回 Https のダイアログがあるのは嫌われる。
0770764
2009/08/03(月) 13:01:19ID:???> Https だと web サーバに負荷が掛かる
> 携帯サイトだと、毎回 Https のダイアログがあるのは嫌われる。
お金や個人情報を扱うクリティカルな処理でない限り
コスト・利便性が優先ってことでしょうか。
その辺のバランス感覚がよくわからんす。
盗聴のリスクを過大評価してるんですかね?>自分
0771769
2009/08/03(月) 13:07:16ID:???> お金や個人情報を扱うクリティカルな処理でない限り
> コスト・利便性が優先ってことでしょうか。
まさにバランスだが、そこら辺は難しい。
どこかのセミナーで聞いたけど、セッションハイジャックがおきても、
本当に致命的な情報は盗まれないように設計すべき、というのを聞いた。
たとえばヤフー(さらにたとえればヤフオク)は、入札する直前に、もう一度パスワードを入力させる。
パスワード変更画面へアクセスするときにもパスワードを入力させる。
つまり、攻撃者がクッキーを盗んでセッションに入り込んだら、何でも出来てしまうようではダメ
(ユーザの情報を、何でもセッションに入れてしまうようではだめ)ということ。
ちゃんと考えられたサイトでは、ログインとか決済画面は Https で包んでいても、そうでない画面は
Http だったりする。
0772764
2009/08/03(月) 13:43:20ID:???> ちゃんと考えられたサイトでは、ログインとか決済画面は Https で包んでいても、
> そうでない画面は Http だったりする。
自分が利用しているサービスは大抵そうなってますね。
そのことは実は前から気になってて、いくらログインが https でもこれじゃ
セッション乗っ取られるやんと思ってたのですが、これって仮にセッションが
乗っ取られても(被害0という訳ではないけれども致命的という訳でもない)
なんとかフェールセーフだからこうしますってことなんですね。
なんつーか、そういうもんなんですね、世の Webサービスというのは。
勉強になりましたっす。
0773764
2009/08/03(月) 14:37:17ID:???> クッキーストアなセッションを盗聴もしくはXSSによって盗まれた場合、
> そのセッションを無効にするには secret を再生成するしかないという理解なのですが、
> あってますでしょうか?
自己レス
ログインの度に更新されるトークンをユーザーのモデル属性に追加して、
それをセッションハッシュに含めるようにすれば、例えセッションクッキーを盗まれても
正規ユーザーのログインと同時に無効にできますね。
0774nobodyさん
2009/08/04(火) 00:02:32ID:???正規ユーザのログインを阻害しておけば、いつまでも取得したクッキーで成り済ませるというのもどうかと。
0775764
2009/08/04(火) 00:18:20ID:???> 正規ユーザのログインを阻害しておけば、いつまでも取得したクッキーで成り済ませる
パスワードとメールアドレスの変更さえ阻止できれば正規ユーザーのログインが
阻害されるということはないという認識なんですけど、この場合のログインの阻害とは
物理的にログインできない状態にさせるということですか?
つまり、クッキーを盗んだ犯人が正規ユーザーの知り合いかなんかで、言葉巧みに
しばらくそのサービスにログインしないように仕向けるとか
0777nobodyさん
2009/08/04(火) 16:17:56ID:???functional test はどうやればいいの?
0778nobodyさん
2009/08/04(火) 17:45:14ID:???0779755
2009/08/05(水) 00:30:31ID:???と、数字を20まで表示させたいのですが、ループなどを組んで指定するにはどうやったらいいのでしょうか?
0780nobodyさん
2009/08/05(水) 00:50:11ID:???opts = {}
(1..20).each {|i| opts[i] = i }
みたいな感じでハッシュを作ってそれを select に渡したら?
0781nobodyさん
2009/08/05(水) 01:20:19ID:???Hash[(1..20).map{|e|[e,e]}]
や
(1..20).inject({}){|r,e| r[e]=e;r}
なら、その場に書ける。
0784783
2009/08/05(水) 09:04:35ID:???ごめんなさい。
0785nobodyさん
2009/08/05(水) 11:05:53ID:???みなさまどうもありがとうございます
教えていただいた方法全て試したのですが、
<option value="16">16</option>
<option value="5">5</option>
<option value="11">11</option>
<option value="17">17</option>
のような結果になりうまくいきません。
なんか難しそうです。
0786nobodyさん
2009/08/05(水) 11:27:13ID:???select 'foo', 'bar', 1..20
でたぶんできます。
確かに select の第3引数は Enumerable なら何でもいいけど、
基本的には Hash じゃなくて Array の Array を渡すものと考えといた方が良いよ。
0787nobodyさん
2009/08/05(水) 11:33:58ID:NCOUlOL5バイト数の方がよかったんだけど・・
この仕様しらなかったせいでバリーデーション不備のまま本番にあげちゃってちょん切れたデータを多数テーブルに格納してしまった・・
0788nobodyさん
2009/08/05(水) 11:57:44ID:???0789780
2009/08/05(水) 12:16:04ID:???ごめん。ハッシュじゃそりゃダメだわw
>>786 みたいにするか
[[label1, value1], [label2, value2], ...]
な配列を渡すんだ
http://api.rubyonrails.org/
0791nobodyさん
2009/08/05(水) 16:35:58ID:???アクション(indexとかshowとか)に対して、before_filterで、実行予定のア
クションが
- コレクションのアクション(index, newなど)
- メンバーのアクション(show, destroyなど)
のどちらなのかを判断する方法はないでしょうか。
標準のscaffoldで作られるもの以外にも対応したいので、
- index/new/createならコレクション
- show/edit/update/destroyはメンバー
という判定は避けたいです。
idパラメータの有無で判断するのが簡便に思えますが、誤判定の可能性
はないでしょうか。
0794nobodyさん
2009/08/06(木) 04:44:08ID:???insertしたりとかでけんのですかね?
いろいろと試してはみたのですが。
insert_html 'hoge', :bottom, :js => 'fuga' とか。
0796nobodyさん
2009/08/06(木) 08:48:10ID:???それをどんどん判定条件に加えていけばいいような。
0797nobodyさん
2009/08/06(木) 11:23:04ID:???アクションの実際の動作によるとしかいえないので、アクションの動作を
調べないかぎり誤判定はありえるでしょう。
つまりはコレクションかメンバーかは規約によるので、restという規約なら
アクションは予め決まっているので、それをaction_nameで判断すればいいのでは
ないでしょうか。
restのアクション以外を実装するケースを判断するには、そのアクションの対象が
コレクションかメンバーなのかは実装者にしかわからないでしょう。
0798nobodyさん
2009/08/06(木) 13:22:51ID:???どうかと思ったが、その場でルーティング判定コードに変換されたらど
こにも残ってないな。
0799nobodyさん
2009/08/06(木) 19:37:35ID:???文字化けしないようにするにはどうしたらいいんでしょうか?
config/enviroment.rbにて、
config.action_mailer.default_charset = 'iso-2022-jp'
はすでに設定してあります。
下記サイトによると、2.3では大丈夫?みたいにあるのですが、大丈夫でないみたい・・・
Ruby on Rails - メール送信 - gendosuの企画開発室
http://gendosu.ddo.jp/redmine/wiki/1/%E3%83%A1%E3%83%BC%E3%83%AB%E9%80%81%E4%BF%A1?export=txt&version=14
環境:Rails 2.3.2 Ruby 1.8.7
0800nobodyさん
2009/08/06(木) 22:34:44ID:U5nTdGUe0801nobodyさん
2009/08/07(金) 01:36:44ID:???http://www.atmarkit.co.jp/fnetwork/rensai/netpro03/netpro01.html
■ このスレッドは過去ログ倉庫に格納されています