【Ruby】Ruby on Rails Part9
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2010/02/19(金) 16:13:13ID:SpWtnpr8【Ruby】Ruby on Rails Part8
http://pc11.2ch.net/test/read.cgi/php/1252842574/
■参考サイト
<英語>
本家: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/
0552nobodyさん
2010/06/01(火) 17:28:49ID:???http://www.nikkei.com/tech/news/article/g=96958A9C93819890E1E3E2E6E08DE1E3E2E7E0E2E3E29E9193E2E2E2;da=96958A88889DE2E0E2E5EAE5E5E2E3E7E3E0E0E2E2EBE2E2E2E2E2E2
このサイトはなんで全部カタカナ表記なんだ?w
0553nobodyさん
2010/06/01(火) 20:05:08ID:???英語表記だと日経読むおっさんらが発音わからんのだよ
ソースもデータも出さないで記事にする辺りがいかにも日経らしい
>松江市に開発者が住むプログラミング言語「Ruby(ルビー)」は
>2009年度中に利用企業が増加し、
日本語おかしいしw
0554nobodyさん
2010/06/02(水) 13:53:50ID:???関係ないが、この手の新聞系サイトってなんで半角英数じゃなくて全角英数(正式名称シラン)何だ??
ソース出さないのは自分たちが一次ソースになりたいからじゃないのかな
0555nobodyさん
2010/06/02(水) 17:34:29ID:???新聞が縦書きだから記事のオリジナルデータは全て全角文字になってるらしい。
Webに掲載する際でも、万が一の誤植が怖いのでオリジナルデータをそのまま出してるといったところだろう(妄想)。
0556nobodyさん
2010/06/02(水) 23:06:25ID:fiI0E2CTで更新前に確認画面があるのでvalid?を呼びたいのですが
update用のvalid?の呼び出し方ってあるのでしょうか
valid?だと:on => :createの処理も実行されるようなのですが
0557nobodyさん
2010/06/03(木) 01:52:51ID:???hogeがユーザ入力項目なら確認画面時のvalid?でチェックされるべきだし、
システムで自動的に入れる項目なら、チェックはなしにしてbefore_createで
設定すりゃいいんじゃないの?
0558nobodyさん
2010/06/03(木) 03:24:03ID:???言われてみて気づいて新聞見たらそんな感じだった
そもそもアルファベット全然使われてなくてびっくり
新聞は違和感なかったのに、webはwebの体裁とらないと違和感出るわけだな
0559nobodyさん
2010/06/03(木) 07:19:09ID:???まさか
h
t
t
p
:
/
/
とかなってるわけ?
0560nobodyさん
2010/06/03(木) 11:59:57ID:dXXMqWSyでタブで開かせると同時にaction=>"hoge"
を実行したいのですがどうすればいいでしょうか?
わかるかたお願いします。
0562nobodyさん
2010/06/03(木) 15:09:43ID:GVifsK+M0565nobodyさん
2010/06/05(土) 06:16:53ID:???OSは 基底操作機構 とか
財団法人じゃねーよ!
0566nobodyさん
2010/06/05(土) 06:37:30ID:???新聞世代にインターネットの世界的な流れは理解の範囲外のものだ。
0567nobodyさん
2010/06/05(土) 13:17:53ID:???0568nobodyさん
2010/06/05(土) 21:07:03ID:Hg2bfjC30569nobodyさん
2010/06/06(日) 01:49:21ID:CyEPcmaK0570nobodyさん
2010/06/06(日) 02:23:17ID:???0571nobodyさん
2010/06/06(日) 11:30:21ID:???0572nobodyさん
2010/06/06(日) 11:53:21ID:SqFxCWl40573nobodyさん
2010/06/06(日) 13:23:45ID:???Rails以外でも使える。
指定されたgem全体をみて依存関係を解決する。
最後のは、システムに
gem X、バージョン1と2
gem Y、gem Xバージョン1以降に依存
gem Z、gemXバージョン2に依存
があるとき、
gem Yの依存解決でgem Xバージョン1が有効化されてしまい、
gem Zの依存が解決できなくなる(Xはバージョン1で有効化済み)問題を回避。
0574nobodyさん
2010/06/06(日) 15:02:07ID:???でもこれってさ、開発環境でいろんなRailsアプリを動かそうとすると、
そういう依存関係の問題が起こる可能性もあるけど、
実際に運用されるサーバでは滅多にというか、全然関係ない話じゃないか。
そんな機能がRails3のウリのひとつ、とかって
開発者に優しいのはいいけど、なんか首を傾げたくなるのは俺だけだろうか?
0575nobodyさん
2010/06/06(日) 15:14:45ID:???開発者に優しいのはいいけど、Railsの存在意義なんてあるのかな
ということでいいか?
0576nobodyさん
2010/06/06(日) 15:41:47ID:???gem使ってるうちはだめだな
0578nobodyさん
2010/06/06(日) 20:38:19ID:4ZA9FqESコントローラ名を省略する形でルーティングさせたいんですが
map.connect :action/:id, :controller=>'users'
以上のような設定で思い通りに動作しません。
初歩的な質問で申し訳ないんですが教えてください。
0579nobodyさん
2010/06/06(日) 23:42:43ID:???に対して、:controller => :users, :action => :showを対応させたい場合は、こうじゃないかな?
map.connect 'show/:id', :controller => 'users', :action => 'show'
0580nobodyさん
2010/06/07(月) 01:15:50ID:???だろ
0581nobodyさん
2010/06/07(月) 03:08:41ID:???ありがとうございます。
そして、書き方が悪くてすみません。
showメソッドに限らずusersコントローラが持つすべてのメソッドを
コントローラ名なしでアクセスさせたいと思っています。
メソッド毎にmap.connect 'method/:id'~~と書かなくてはならないんでしょうか?
map.root :controller => 'users'
ですと、index以外にはコントローラ名でのアクセスが必要でした。
0582nobodyさん
2010/06/08(火) 00:45:16ID:bSLkQY+60583nobodyさん
2010/06/08(火) 01:22:42ID:bSLkQY+60584nobodyさん
2010/06/08(火) 04:55:42ID:bSLkQY+6(先使用による商標の使用をする権利)
第32条 他人の商標登録出願前から日本国内において
不正競争の目的でなくその商標登録出願に係る指定商品若しくは指定役務又はこれらに類似する商品若しくは
役務についてその商標又はこれに類似する商標の使用をしていた結果、
その商標登録出願の際(第9条の4の規定により、
又は第17条の2第1項若しくは第55条の2第3項(第60条の2第2項において準用する場合を含む。)
において準用する意匠法第17条の3第1項の規定により、
その商標登録出願が手続補正書を提出した時にしたものとみなされたときは、
もとの商標登録出願の際又は手続補正書を提出した際)
現にその商標が自己の業務に係る商品又は役務を
表示するものとして需要者の間に広く認識されているときは、
その者は、継続してその商品又は役務についてその商標の使用をする場合は、
その商品又は役務についてその商標の使用をする権利を有する。
当該業務を承継した者についても、同様とする。
http://www.houko.com/00/01/S34/127.HTM#s4-2
0585nobodyさん
2010/06/08(火) 06:47:17ID:bSLkQY+60586nobodyさん
2010/06/08(火) 07:31:09ID:???それなら、
map.connect ':controller/:action/:id'
というのが最後の行あたりに書いてあると思うので、
map.connect ':action/:id', :contoller => 'users'
に変更すれば動くかも。
0587nobodyさん
2010/06/09(水) 20:34:46ID:h0h4bQwC0588nobodyさん
2010/06/09(水) 20:54:47ID:h0h4bQwCRailsConf 2010二日目
http://d.hatena.ne.jp/yokolet/20100608#1276046548
0589nobodyさん
2010/06/10(木) 13:13:40ID:+AwIn5MlRailsConf 2010: David Heinemeier Hansson
http://www.youtube.com/watch?v=b0iKYRKtAsA
0590nobodyさん
2010/06/10(木) 14:42:30ID:+AwIn5Mlhttp://assets.en.oreilly.com/1/event/40/The%20Rails%203%20Ropes%20Course%20Presentation.pdf
0591nobodyさん
2010/06/10(木) 16:40:40ID:???これを上書きすることは出来ますか。
class User < AtiveRecord::Base
alias _role role
def role
v = _role
v.blank? ? nil : v.to_sym
end
end
みたいなことをして大丈夫でしょうか。
0592nobodyさん
2010/06/10(木) 17:36:15ID:???今はいちいち再起動していてめんどくさいので、もっと軽快に開発したいです。
0593nobodyさん
2010/06/10(木) 17:49:35ID:???0594nobodyさん
2010/06/10(木) 21:57:12ID:???0595nobodyさん
2010/06/10(木) 22:00:56ID:+AwIn5MlDubyというのはCharles Nutter氏が作った、静的な型があるRuby
http://d.hatena.ne.jp/yokolet/20100609#1276123680
0596nobodyさん
2010/06/10(木) 22:04:59ID:???OK
read_attribute / write_attribute / [] / []=
なども思い出してね。
0597nobodyさん
2010/06/11(金) 01:02:10ID:???例えば created_at カラムの翻訳を一箇所だけで行なうことはできないんでしょうか?
その翻訳がデフォルトになって、一部のモデルだけで
[:ja][:activerecord][:attributes][:xxx][:created_at] まで書いて
別の翻訳をするような使い方ができれば楽なんですが。
0598597
2010/06/11(金) 10:22:19ID:???Foo.human_attribute_name("created_at", :default => I18n.translate("default.created_at"))
とすれば、一箇所だけで書けたもののDRYでない。
human_attribute_name をラップしたら綺麗になるけど、こんなやり方であってんだろうか
0599nobodyさん
2010/06/11(金) 11:06:41ID:X1oTDo320600nobodyさん
2010/06/11(金) 16:57:21ID:???Rubyのコアクラスを拡張するようなメソッドはどこに書けばいいでしょうか。
たとえば String#start_with? を自前で追加したい場合です。
0601nobodyさん
2010/06/11(金) 21:06:52ID:???実装を lib/ に好きなだけ置いて、config/initializers/ にそれらをrequireするファイルを1つ置いておく。
0602nobodyさん
2010/06/12(土) 07:33:00ID:???プラグインにする方法もあるよ。
vendor/plugins/core_ext
vendor/plugins/core_ext/init.rb
vendor/plugins/core_ext/lib/string.rb
を用意して、こんな感じで定義。
-- init.rb --
Dir.glob(File.dirname(__FILE__) + "/lib/*.rb"){|file|
require file
}
-- lib/string.rb --
class String
start_with?の定義を書く
end
0603nobodyさん
2010/06/12(土) 07:35:04ID:rgrGkZ0yhttp://blog.phusion.nl/2010/06/09/does-rails-performance-need-an-overhaul/
0604nobodyさん
2010/06/12(土) 07:40:50ID:rgrGkZ0yhttp://www.igvita.com/2010/06/07/rails-performance-needs-an-overhaul/
0605nobodyさん
2010/06/13(日) 01:25:05ID:TuHqmC6K動かない系の質問
/test というプロジェクトを作ってpassengerで稼動させようとしているのですが
The requested URL /test/rails/info/properties was not found on this server.
とエラーが出て正常に動きません
Mongrelでは無事に動いたのを確認しているのでpassenger周りの問題だと思うのですが。
同じ問題で困った方などいらっしゃいましたら、お知恵を貸していただけないでしょうか?
環境
CentOS 5.3
ruby 1.8.7 (2009-06-12 patchlevel 174) [i686-linux]
rubygem 1.3.7
passenger-2.2.11
rails-2.3.8(もしかしたら2.3.5かも)
Apache + mysqlで稼動
0606nobodyさん
2010/06/13(日) 01:26:11ID:TuHqmC6K<VirtualHost *:80>
DocumentRoot "/var/www/localhost/htdocs"
RailsEnv development
RailsBaseURI /test
<Directory "/var/www/localhost/htdocs">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
<Directory "/var/www/localhost/htdocs/rails">
Options +FollowSymLinks
AllowOverride All
</Directory>
</VirtualHost>
0607nobodyさん
2010/06/13(日) 09:56:35ID:???シンボリックリンクを作って配置する。 だったっけ?
この場合、RailsBaseURIはいらないような気もしたが嘘かもしれない。
0608nobodyさん
2010/06/13(日) 15:22:35ID:???ちなみにうちのVirtualHost
<VirtualHost *:80>
ServerName yourdomain.net
DocumentRoot /home/yourhome/yourrailsapp/public
RailsMaxPoolSize 5
<Directory "/home/yourhome/yourrailsapp/public">
AllowOverride All
Options -MultiViews FollowSymLinks
</Directory>
</VirtualHost>
0609nobodyさん
2010/06/13(日) 16:02:31ID:???>>606
の設定だと、
http://ホスト名/rails/public/
で開けるんじゃないのかな。とはいえこれは明らかに変だ
passengerってことは公開用(かそのテスト)だろうし
通常は >>608 みたいにpublic以下をrootとして公開できるように設定する必要があるかと思う
0610nobodyさん
2010/06/14(月) 08:59:58ID:8fwj2FRJ0611nobodyさん
2010/06/15(火) 18:19:59ID:???DEPRECATION WARNING: The :overwrite_params option is deprecated. Specify all the necessary parameters instead
0612nobodyさん
2010/06/15(火) 22:12:46ID:???Rails3にそなえて、deprecatedがなくなるように修正しておくといいよって事らしい。
0613nobodyさん
2010/06/16(水) 00:09:59ID:???deprecatedはうるさいだけで気にしなくてもよい。
0614nobodyさん
2010/06/16(水) 10:02:06ID:ufKXCfb0http://www.amazon.com/Rails-Nutshell-Desktop-Quick-Reference/dp/0596521421/
Beginning Rails 3
http://www.amazon.com/Beginning-Rails-Cloves-Carneiro-Jr/dp/1430224339/
Rails 3 Way, The (2nd Edition) (Addison-Wesley Professional Ruby Series) [Paperback]
http://www.amazon.com/Rails-Way-Addison-Wesley-Professional-Ruby/dp/0321601661/
Rails 3 in Action
http://www.manning.com/katz/
0615nobodyさん
2010/06/16(水) 22:47:48ID:???cakeには逆立ちしても真似出来ないrailsの良い点を教えてください
0616nobodyさん
2010/06/16(水) 23:23:30ID:???0617nobodyさん
2010/06/16(水) 23:36:46ID:???PHP使いは美醜感覚が欠けてるから何をアピールしても無理。
0618nobodyさん
2010/06/16(水) 23:37:20ID:???それなら抵抗しても無駄な気がする。
CakePHPも悪くないけど、script/consoleに相当する機能が欲しいよね。
script/consoleでモデルの動作テストが出来るというのは、Railsのかなりの利点だと思う。
それからPHPの言語仕様上、仕方ないんだけどbelongs_toやhas_manyの記述が
Railsに比べて冗長になる、配列の嵐になる点がダメだと思う。
0619nobodyさん
2010/06/17(木) 00:52:00ID:???Cakeに負けてるとは思わないけど、Railsの寿命が長いとも思えない
0620nobodyさん
2010/06/17(木) 13:36:57ID:xXvtdm8BCakePHPの残念なところ
http://blog.takeda-soft.jp/blog/show/204
0621nobodyさん
2010/06/17(木) 14:27:37ID:???へー、こんなのあるんだ
Akelos PHP Framework
http://www.akelos.org/
Railsの移植っぽい感じか
0622nobodyさん
2010/06/17(木) 15:50:48ID:???has_many :xxx なら xxx_ids = [1,2,3] で一発更新できるところが、
確認画面を挟むと、そこに行く前に、いきなり更新されてしまうから使えないし、
超便利な accepts_nested_attributes_for も同じ理由で使えなくなるし。
0624nobodyさん
2010/06/17(木) 19:20:58ID:???ファックする担当者権限みたいなモデルを作りたいと思っています。
ようするにファック可能なユーザーを表したいです。
そのためUserInChargeOfFuckモデルというのを考えたのですが、
"UserInChargeOfFuck".tableize をしてみると、
"user_in_charge_of_fucks"になってしまいます。
fucksが複数形になり???となります。
もちろん、Inflectorモジュールで複数形の例外を定義してやればいいのですが、
似たような状況になる度に追加するのはどうなのか?と思ってしまいます。(むしろ面倒くさい)
この場合だとこうですね
ActiveSupport::Inflector.inflections.irregular "user_in_charge_of_fuck", "users_in_charge_of_fuck"
完結な書き方としては FuckerChargedUsers みたいにするのがよいものでしょうか?
0625624
2010/06/17(木) 20:17:35ID:???ActiveSupport::Inflector.inflections.irregular("user_of_(.+)", 'users_of_\2')
して、モデル名を"ChargedUserOfFuck" のようにしてみたいと思います。
これだと〜〜user_of_〜〜には対応できるのでよいかなーと。
irb(main):020:0> "ChargedUserOfFuck".tableize
=> "charged_users_of_fuck"
0626nobodyさん
2010/06/18(金) 03:21:42ID:???0627nobodyさん
2010/06/18(金) 12:03:45ID:???self.status = 401 とかしないといけないのでしょうか。
raise Http401Error.new() とかできませんか?
0628nobodyさん
2010/06/18(金) 22:02:28ID:???でいいんじゃないの?
0629nobodyさん
2010/06/18(金) 23:08:24ID:???:status は :not_found みたいにシンボルでも書ける
ボディを空にしたい場合は :nothing => true (:text => '' でもいいような気がするけど)
0630605
2010/06/19(土) 11:48:34ID:bgO7A9jZRubyあ1.8.6と1.8.7、Railsは2.3.5と2.3.8が両方入っていたので
このあたりが原因であったと思っているのですが。それ以上は不明です
みなさま、ご協力ありがとうございました。
0631nobodyさん
2010/06/19(土) 15:08:58ID:???rvmを使おう
0632nobodyさん
2010/06/20(日) 09:00:15ID:FD2mdesc>>256
http://twitter.com/BillGates
0633nobodyさん
2010/06/20(日) 21:31:04ID:n+LfeZAh172 :名無しさん@恐縮です:2010/06/20(日) 21:19:12 ID:9x6hOs100
マリノスサポーターは氏ねば?
中村俊輔出場試合……1勝8敗3分
中村俊輔欠場試合……6勝2敗2分
(2敗はアウェーバルセロナ、アウェーレアルマドリード)
186 名無しさん@恐縮です 2010/02/17(水) 17:55:53 ID:ilxFUZaW0
>>15
これ見て「負けてるときに途中交代で黒星つけられて可哀想だなー」とも思ったけど
中村が出てる試合って3点しか入ってないんだなw
191 名無しさん@恐縮です[sage] 2010/02/17(水) 18:00:27 ID:Ldmu6m530
>>186
これが一番変な色眼鏡無しに公平に見れるデータだと思うよ
□中村出場時間帯 564分
1得点 10失点
得失点 -9
(1試合に換算すると0.16得点1.6失点)
■中村ベンチ時間帯 1416分
15得点 19失点
得失点 -4
(1試合に換算すると0.95得点1.2失点)
0634nobodyさん
2010/06/20(日) 21:53:48ID:n+LfeZAh0635nobodyさん
2010/06/21(月) 13:48:38ID:???現状:
2つの要素の置き換えを行いたい。
片方はパラメータ等を使い置き換えられることを確認。
しかしもう片方の要素は「Aコントローラのメソッドindexを実行し、その結果に置き換える」という物を求めているが上手く動作しない。
0636nobodyさん
2010/06/21(月) 14:13:55ID:???ajax経由でAコントローラのindex実行してインスタンス変数の中身置き換えて、かつ、再表示みたいな感じで
0637nobodyさん
2010/06/21(月) 14:35:23ID:???すみません、意思が読み取れませんでした…
先にAコントローラのindexを実行と考えた場合:
link_to_remote("置き換え" , {:update => "置き換え先1", :url => url_for(:controller => "A", :action => "index"), :method => :get}
これで実行結果を表示させることは出来ますが、もう1つの要素の置き換えをするやり方がわからず、この方法でも手詰まり状態です。
0638nobodyさん
2010/06/21(月) 17:32:16ID:???存在するようなデータは、どうやって扱えばいいのでしょうか。
今困ってるのは、色を表す color というカラムがあって、これは #FFFFFF のような値が入るのに、
フォームでは red: 0-255, green: 0-255, blue: 0-255 のように入力するようになっていて、
それでバリデーションの書き方とか、f.text でどう指定すればいいのかとか、わからないので
だれか手がかりでも結構ですので教えてください。
0639nobodyさん
2010/06/21(月) 17:54:39ID:???ここまで型を与えてしまうと、少しでも型から外れたことができなくなる
0640nobodyさん
2010/06/21(月) 19:32:17ID:???0641nobodyさん
2010/06/21(月) 20:22:59ID:???直接呼ぶのも出来なくはないのかも知れんけど筋が悪そう。
別コントローラのアクションを共通モジュールにしたほうが良い気がするけど
>>638
accessor使うなり、独自のフィールド作るなり
>>640
params[:controller]で取れない?
0643nobodyさん
2010/06/22(火) 14:18:27ID:DFcN5Bvo共同購入型クーポンサービス、RailsのPaaS「Heroku」上に構築 ? @IT
http://www.atmarkit.co.jp/news/201006/21/minawari.html
開始2年で年商321億円、グルーポン系サービスの日本版まとめ - はてなこわい><
http://b.hatena.ne.jp/entry/d.hatena.ne.jp/taan/20100621/p1
0644nobodyさん
2010/06/22(火) 15:37:42ID:???<%=f.text_field :name%>
これでnameのテキストフィールドには、valueとしてmodel.nameがセットされると思います。
この元のnameの値(valueに入る値)をsubmit時の引数として渡したいのですが、やり方がわかりません。
わかる方いましたら教えて下さい、お願いします。
0645nobodyさん
2010/06/22(火) 16:34:03ID:???0646nobodyさん
2010/06/23(水) 02:02:24ID:???commentsテーブル:id,user_id,text
responseテーブル:id,commment_id,user_id,text
@comments = Comment.find(:conditions =>{:id => id}, :include => 'responses')
@comments.each do |comment|
@response << comment.response if comment.response
end
render :xml => {:comments => @comment, :response => @response}
commentとresponseを返すwebapiを作りたいと思っています。
その際にcomment、responseしているユーザ名の取得も行いたいのですが
どのようにするのが効率よくできるのでしょうか?
それとも、comment,responseテーブルに予めnameカラムを持たせたほうが良いですか?
0647nobodyさん
2010/06/23(水) 03:44:45ID:???そだね。このケースではそれが一番手っ取り早そう。
ただ、user.nameが変わっても反映されないけど、それで問題なければ
0648nobodyさん
2010/06/23(水) 12:52:14ID:5nqbPSdkrails開発者界隈でなんかもめごととかあるのかな?
0649nobodyさん
2010/06/23(水) 15:47:44ID:scuHCblD処理が煩雑になるようならnameの反映は諦めようと思っています。
ちなみに、現在のテーブル構成で実装する場合、
comment、responseのそれぞれにnameをひもづけて以下のようにクライアントに渡したいのですが
取得したcommentオブジェクトにnameプロパティを動的に追加のようなことができますか?
Commentクラスにnameセッターを作り値を設定してやっても思ったように動作しませんでした。
<comment>
<id>1</id>
<text>こんにちは</text>
<user_id>001</user_id>
<name>名前</name>
</comment>
0651nobodyさん
2010/06/23(水) 16:49:15ID:???object.to_xml として to_xml の引数に :methods => [:name] とかすれば
object.name メソッドの結果が並列に入ったり、
:include => {:user => {...}} とかやれば
object.user が入れ子で入ったりもできたはず。
詳しくは to_xml 嫁。
0652nobodyさん
2010/06/24(木) 10:01:39ID:???しかしexecuteを使用する場合、入力チェックが上手く動かずに悩んでいます。
connection.executeを使用した時に入力チェックする方法があれば教えて下さい。
■ このスレッドは過去ログ倉庫に格納されています