- 1 名前:nobodyさん [2010/02/19(金) 16:13:13 ID:SpWtnpr8]
- ■前
【Ruby】Ruby on Rails Part8 pc11.2ch.net/test/read.cgi/php/1252842574/ ■参考サイト <英語> 本家:www.rubyonrails.org API document:api.rubyonrails.com/ 開発者のblog:weblog.rubyonrails.org/ 参考wiki:wiki.rubyonrails.org/rails <日本語> Rails' wiki: wiki.fdiary.net/rails/
- 614 名前:nobodyさん [2010/06/16(水) 10:02:06 ID:ufKXCfb0]
- Rails 3 in a Nutshell
www.amazon.com/Rails-Nutshell-Desktop-Quick-Reference/dp/0596521421/ Beginning Rails 3 www.amazon.com/Beginning-Rails-Cloves-Carneiro-Jr/dp/1430224339/ Rails 3 Way, The (2nd Edition) (Addison-Wesley Professional Ruby Series) [Paperback] www.amazon.com/Rails-Way-Addison-Wesley-Professional-Ruby/dp/0321601661/ Rails 3 in Action www.manning.com/katz/
- 615 名前:nobodyさん mailto:sage [2010/06/16(水) 22:47:48 ID:???]
- 社内でcakePHP使いに迫害されています
cakeには逆立ちしても真似出来ないrailsの良い点を教えてください
- 616 名前:nobodyさん mailto:sage [2010/06/16(水) 23:23:30 ID:???]
- PHPを使わなくてもいい
- 617 名前:nobodyさん mailto:sage [2010/06/16(水) 23:36:46 ID:???]
- 迫害を受け続けた俺の経験からして、
PHP使いは美醜感覚が欠けてるから何をアピールしても無理。
- 618 名前:nobodyさん mailto:sage [2010/06/16(水) 23:37:20 ID:???]
- 迫害されてるってことは、社内にPHP使いが多いんだろう。
それなら抵抗しても無駄な気がする。 CakePHPも悪くないけど、script/consoleに相当する機能が欲しいよね。 script/consoleでモデルの動作テストが出来るというのは、Railsのかなりの利点だと思う。 それからPHPの言語仕様上、仕方ないんだけどbelongs_toやhas_manyの記述が Railsに比べて冗長になる、配列の嵐になる点がダメだと思う。
- 619 名前:nobodyさん mailto:sage [2010/06/17(木) 00:52:00 ID:???]
- まぁ後発の方が優れてることが多いからなぁ
Cakeに負けてるとは思わないけど、Railsの寿命が長いとも思えない
- 620 名前:nobodyさん [2010/06/17(木) 13:36:57 ID:xXvtdm8B]
-
CakePHPの残念なところ blog.takeda-soft.jp/blog/show/204
- 621 名前:nobodyさん mailto:sage [2010/06/17(木) 14:27:37 ID:???]
- >>620
へー、こんなのあるんだ Akelos PHP Framework www.akelos.org/ Railsの移植っぽい感じか
- 622 名前:nobodyさん mailto:sage [2010/06/17(木) 15:50:48 ID:???]
- 確認画面が入るとなんで急激に面倒なことになるんだろうか
has_many :xxx なら xxx_ids = [1,2,3] で一発更新できるところが、 確認画面を挟むと、そこに行く前に、いきなり更新されてしまうから使えないし、 超便利な accepts_nested_attributes_for も同じ理由で使えなくなるし。
- 623 名前:nobodyさん mailto:sage [2010/06/17(木) 18:15:07 ID:???]
- >>622
何が問題になるのか分からないのだが・・・ いきなり更新というのがよく分からない
- 624 名前:nobodyさん mailto:sage [2010/06/17(木) 19:20:58 ID:???]
- モデルの命名方法について質問させて下さい。
ファックする担当者権限みたいなモデルを作りたいと思っています。 ようするにファック可能なユーザーを表したいです。 そのため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 みたいにするのがよいものでしょうか?
- 625 名前:624 mailto:sage [2010/06/17(木) 20:17:35 ID:???]
- ドキュメントみたら、ActiveSupport::Inflector.inflections.irregularが正規表現通るみたいなので、
ActiveSupport::Inflector.inflections.irregular("user_of_(.+)", 'users_of_\2') して、モデル名を"ChargedUserOfFuck" のようにしてみたいと思います。 これだと〜〜user_of_〜〜には対応できるのでよいかなーと。 irb(main):020:0> "ChargedUserOfFuck".tableize => "charged_users_of_fuck"
- 626 名前:nobodyさん mailto:sage [2010/06/18(金) 03:21:42 ID:???]
- ゆとりをみた
- 627 名前:nobodyさん mailto:sage [2010/06/18(金) 12:03:45 ID:???]
- railsで401とか422とかのHTTPレスポンスエラーをなげるにはどうしたらいいですか。
self.status = 401 とかしないといけないのでしょうか。 raise Http401Error.new() とかできませんか?
- 628 名前:nobodyさん mailto:sage [2010/06/18(金) 22:02:28 ID:???]
- render :text => "Error!", :status => 401
でいいんじゃないの?
- 629 名前:nobodyさん mailto:sage [2010/06/18(金) 23:08:24 ID:???]
- 補足
:status は :not_found みたいにシンボルでも書ける ボディを空にしたい場合は :nothing => true (:text => '' でもいいような気がするけど)
- 630 名前:605 [2010/06/19(土) 11:48:34 ID:bgO7A9jZ]
- 報告遅れましたが、最終的に環境を1から再構築して起動できるようにいたしましたorz
Rubyあ1.8.6と1.8.7、Railsは2.3.5と2.3.8が両方入っていたので このあたりが原因であったと思っているのですが。それ以上は不明です みなさま、ご協力ありがとうございました。
- 631 名前:nobodyさん mailto:sage [2010/06/19(土) 15:08:58 ID:???]
- いろんなバージョンのRubyやいろんなgemの組み合わせを使い分けたいときは
rvmを使おう
- 632 名前:nobodyさん [2010/06/20(日) 09:00:15 ID:FD2mdesc]
-
>>256 twitter.com/BillGates
- 633 名前:nobodyさん [2010/06/20(日) 21:31:04 ID:n+LfeZAh]
- 【サッカー/W杯】中村俊輔「皆安全なプレーばかりしていたから、小技で相手をかわそうと思った」「役割に徹している」★4
172 :名無しさん@恐縮です: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失点)
- 634 名前:nobodyさん [2010/06/20(日) 21:53:48 ID:n+LfeZAh]
- live28.2ch.net/test/read.cgi/mnewsplus/1277034400/172
- 635 名前:nobodyさん mailto:sage [2010/06/21(月) 13:48:38 ID:???]
- replace_htmlを使用して、別コントローラのアクションの結果を埋め込むやり方をご存じの方教えて下さい。
現状: 2つの要素の置き換えを行いたい。 片方はパラメータ等を使い置き換えられることを確認。 しかしもう片方の要素は「Aコントローラのメソッドindexを実行し、その結果に置き換える」という物を求めているが上手く動作しない。
- 636 名前:nobodyさん mailto:sage [2010/06/21(月) 14:13:55 ID:???]
- ajaxを使ったらいけるんじゃないのかな
ajax経由でAコントローラのindex実行してインスタンス変数の中身置き換えて、かつ、再表示みたいな感じで
- 637 名前:nobodyさん mailto:sage [2010/06/21(月) 14:35:23 ID:???]
- >>636
すみません、意思が読み取れませんでした… 先にAコントローラのindexを実行と考えた場合: link_to_remote("置き換え" , {:update => "置き換え先1", :url => url_for(:controller => "A", :action => "index"), :method => :get} これで実行結果を表示させることは出来ますが、もう1つの要素の置き換えをするやり方がわからず、この方法でも手詰まり状態です。
- 638 名前:nobodyさん mailto:sage [2010/06/21(月) 17:32:16 ID:???]
- モデルの属性には存在しない(テーブルのカラムが存在しない)けど、フォームのコントローラとしては
存在するようなデータは、どうやって扱えばいいのでしょうか。 今困ってるのは、色を表す color というカラムがあって、これは #FFFFFF のような値が入るのに、 フォームでは red: 0-255, green: 0-255, blue: 0-255 のように入力するようになっていて、 それでバリデーションの書き方とか、f.text でどう指定すればいいのかとか、わからないので だれか手がかりでも結構ですので教えてください。
- 639 名前:nobodyさん mailto:sage [2010/06/21(月) 17:54:39 ID:???]
- Rails的フレームワークの弊害だろうか
ここまで型を与えてしまうと、少しでも型から外れたことができなくなる
- 640 名前:nobodyさん mailto:sage [2010/06/21(月) 19:32:17 ID:???]
- コントローラ⇒ビュー⇒ヘルパー ここのヘルパーでコントローラ名を取得する方法を教えて下さい
- 641 名前:nobodyさん mailto:sage [2010/06/21(月) 20:22:59 ID:???]
- >>635
直接呼ぶのも出来なくはないのかも知れんけど筋が悪そう。 別コントローラのアクションを共通モジュールにしたほうが良い気がするけど >>638 accessor使うなり、独自のフィールド作るなり >>640 params[:controller]で取れない?
- 642 名前:nobodyさん mailto:sage [2010/06/22(火) 09:13:54 ID:???]
- >>641
取れました ありがとうございました
- 643 名前:nobodyさん [2010/06/22(火) 14:18:27 ID:DFcN5Bvo]
-
共同購入型クーポンサービス、RailsのPaaS「Heroku」上に構築 ? @IT www.atmarkit.co.jp/news/201006/21/minawari.html 開始2年で年商321億円、グルーポン系サービスの日本版まとめ - はてなこわい>< b.hatena.ne.jp/entry/d.hatena.ne.jp/taan/20100621/p1
- 644 名前:nobodyさん mailto:sage [2010/06/22(火) 15:37:42 ID:???]
- <%form_for(@model) do |f|%>
<%=f.text_field :name%> これでnameのテキストフィールドには、valueとしてmodel.nameがセットされると思います。 この元のnameの値(valueに入る値)をsubmit時の引数として渡したいのですが、やり方がわかりません。 わかる方いましたら教えて下さい、お願いします。
- 645 名前:nobodyさん mailto:sage [2010/06/22(火) 16:34:03 ID:???]
- 何もしなくても、model[:name]で渡されてると思うけど
- 646 名前:nobodyさん mailto:age [2010/06/23(水) 02:02:24 ID:???]
- usersテーブル:id,name,etc
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カラムを持たせたほうが良いですか?
- 647 名前:nobodyさん mailto:sage [2010/06/23(水) 03:44:45 ID:???]
- > それとも、comment,responseテーブルに予めnameカラムを持たせたほうが良いですか?
そだね。このケースではそれが一番手っ取り早そう。 ただ、user.nameが変わっても反映されないけど、それで問題なければ
- 648 名前:nobodyさん [2010/06/23(水) 12:52:14 ID:5nqbPSdk]
- rails3の正式リリースってなんでこんなに遅れてんの??
rails開発者界隈でなんかもめごととかあるのかな?
- 649 名前:nobodyさん [2010/06/23(水) 15:47:44 ID:scuHCblD]
- >>647
処理が煩雑になるようならnameの反映は諦めようと思っています。 ちなみに、現在のテーブル構成で実装する場合、 comment、responseのそれぞれにnameをひもづけて以下のようにクライアントに渡したいのですが 取得したcommentオブジェクトにnameプロパティを動的に追加のようなことができますか? Commentクラスにnameセッターを作り値を設定してやっても思ったように動作しませんでした。 <comment> <id>1</id> <text>こんにちは</text> <user_id>001</user_id> <name>名前</name> </comment>
- 650 名前:nobodyさん mailto:sage [2010/06/23(水) 16:26:25 ID:???]
- >>648
1.9.2待ちなんじゃないの? >>649 セッターだけ? まぁ、ゲッターつけてもダメかもしれんが
- 651 名前:nobodyさん mailto:sage [2010/06/23(水) 16:49:15 ID:???]
- >>649
object.to_xml として to_xml の引数に :methods => [:name] とかすれば object.name メソッドの結果が並列に入ったり、 :include => {:user => {...}} とかやれば object.user が入れ子で入ったりもできたはず。 詳しくは to_xml 嫁。
- 652 名前:nobodyさん mailto:sage [2010/06/24(木) 10:01:39 ID:???]
- update.attributesを使用すると主キーの更新が出来ない為、executeを使用しています。
しかしexecuteを使用する場合、入力チェックが上手く動かずに悩んでいます。 connection.executeを使用した時に入力チェックする方法があれば教えて下さい。
- 653 名前:nobodyさん mailto:sage [2010/06/24(木) 10:22:19 ID:???]
- >>652 主キーが :id のことだとして、 update_attributesで:idを変えられないのは デフォルトでattr_protected(ぐぐれ)に入っているから。 無難なのは、:idだけ、obj[:id] = newid で書き換えること。
- 654 名前:nobodyさん mailto:sage [2010/06/24(木) 10:39:59 ID:???]
- >>653
@obj[:id] = params[:newobj][:newid] @obj.update_attributes(params[:newobj]) のような形でやればいいということですか? 今試行してみましたがid部分だけ更新されませんでした
- 655 名前:nobodyさん mailto:sage [2010/06/24(木) 11:05:13 ID:???]
- ああ、保存後だと無理だろうなぁ
別オブジェクトとして保存後に元のオブジェクトを消すしかないんじゃないか?
- 656 名前:nobodyさん mailto:sage [2010/06/24(木) 11:43:08 ID:???]
- on update cascadeで参照されているので保存して消すとかは出来ないです
別途id(主キー)を作って既存idを主キーからユニークに変更するしかないんでしょうか?
- 657 名前:nobodyさん mailto:sage [2010/06/24(木) 16:04:10 ID:???]
- named_scopeの中身に、別のnamed_scope を記述することは出来ないのでしょうか
named_scope :hoge named_scope :hogehoge , Hoge.hoge みたいな感じで
- 658 名前:nobodyさん mailto:sage [2010/06/24(木) 16:34:41 ID:???]
- 所詮はクラスメソッドなので
named_scope :a, ... named_scope :b, ... def self.ab; a.b; end とは出来る。
- 659 名前:657 mailto:sage [2010/06/24(木) 16:46:13 ID:???]
- >>658
おお、これで十分! 助かりました!
- 660 名前:nobodyさん [2010/06/24(木) 16:58:24 ID:JCV4W5p0]
- 縦に並んだリスト要素をマウスオーバーした瞬間、
その右隣に、ちょっとした説明が出現するものを作ろうとしています。 バナナ りんご スイカ ↓ りんごをマウスオーバー時 バナナ りんご 赤い スイカ ざっというと、こんな感じのものを作りたいと思っているのですが、行き詰っています。 <% @fruites.each do |fruite| %> <%= fruite.name %> <%= fruite.explain %> #問題はここです <% end %> という感じで作りたいと思ってます。 クリックを説明文表示のトリガとするなら、link_to_remoteでいいと思うのですが、 マウスオーバーをトリガとして動かす方法がわからず、困っています。 問題の行を、JavascriptのAjaxUpdaterで直に書いてしまうと、今度はrubyのeachから、 どうやって変更箇所のid名(右隣のid名)をもらえばいいかが分からなくなってしまいます。 できればRubyサイドで解決したいと思いますが、JavaScript直書きの解決法でも構いません。 解決のためのよい方法をご存知の方いましたら、教えて頂けると嬉しいです。 よろしくお願い致します。
- 661 名前:nobodyさん mailto:sage [2010/06/24(木) 20:19:05 ID:???]
- >660
それCSSで出来るよ。
- 662 名前:nobodyさん mailto:sage [2010/06/24(木) 20:34:37 ID:???]
- > 問題の行を、JavascriptのAjaxUpdaterで直に書いてしまうと、今度はrubyのeachから、
> どうやって変更箇所のid名(右隣のid名)をもらえばいいかが分からなくなってしまいます。 いまいち意味不明なんだけど、行じゃなくてフィールドだけ書き換えるとか、 取得したデータの中にもid埋め込んどくとかすればいいんじゃないの? そもそもマウスオーバーの度にサーバにアクセスにいくのが重そうだけど。
- 663 名前:nobodyさん mailto:sage [2010/06/25(金) 07:44:40 ID:???]
- JavaScript、CSS、ツールチップあたりでググるといいかも
|

|