【RoR】Ruby on Rails Part13at PHP
【RoR】Ruby on Rails Part13 - 暇つぶし2ch550:nobodyさん
12/01/03 23:24:56.60
unicornとnginxの組み合わせを試してますが、nginxのログに、ユーザのIPではなく、127.0.0.1が記録されてしまいます。
まあnginxをリバースプロキシとして使っているならそうなのかも知れませんが、
REMOTE_ADDRを記録する方法があれば教えて下さい。
ぐぐってもうまく見つけられなかったので。


551:nobodyさん
12/01/04 00:24:46.80
>>545
web+dbの記事を読んだとこだけど、クックパッドは魅力的なところだね後3年若かったら応募してたかも

552:nobodyさん
12/01/04 00:42:56.01
IPOして給料は多少良くなったけど、今から行っても金銭的には旨みないかもな。
技術と考え方学べるならストック要らない、というのならまだしも。


553:nobodyさん
12/01/04 09:37:18.14
「年内にクックパッド抜く」--楽天レシピ、ポイント連動で攻勢 - CNET Japan
URLリンク(b.hatena.ne.jp)

楽天レシピはなぜクックパッドに勝てないのか?(The reason Rakuten-recipe can't beat Cookpad)
URLリンク(hiromikubota.tumblr.com)

料理レシピサイトでクックパッドに挑む楽天の狙いと勝算(1) | 企業戦略 | 投資・経済・ビジネスの東洋経済オンライン
URLリンク(www.toyokeizai.net)


554:nobodyさん
12/01/04 09:54:33.21
>>552
AWSでrailsをベースのウェブサービスをしていて、ある程度成功していて、TDDとかprototypeとか短期サイクルの開発して、その成果をchankoとかでオープンソースに還元してる
技術的なバックグラウンドとノウハウがきちんとビジネスに結び付いていて今のところかなりよいお手本だと思った
お金とは別に今の責任と生活がなければ実際にどうまわってるのか見てみたい

555:nobodyさん
12/01/04 09:56:28.27

単独決算推移
URLリンク(profile.yahoo.co.jp)



556:nobodyさん
12/01/04 10:14:37.10
>>555
業績も伸びてるけど
有利子負債なしか
すごいなー
クラウドの利用で初期投資も少なく成功したんだね


557:nobodyさん
12/01/04 10:46:20.67
blog::941:クックパッド株式会社 に行ってきた!
URLリンク(blog.kushii.net)
URLリンク(b.hatena.ne.jp)



URLリンク(d.hatena.ne.jp)


558:nobodyさん
12/01/04 12:04:53.10
>>545-557
クックパッドがステマに熱心な会社だと言うことはよく分かった。

559:nobodyさん
12/01/04 12:15:40.89
どっちかいうと逆じゃないかと。
ちっさい会社の頃からずっと同じことやってて、たまたま良い技術者に巡りあえて今みたいになってるようだよ。
メインターゲットの女性には、もう十分認知度あるし、ステマとかいらんだろ。

Railsに関して言えば、よくバージョンアップしたなと思う。
作り込み過ぎてる感じがしてたから、1.2系から2系に上げるの大変そうだったし。

ポイント配りまくってクックパッド潰しにかかった楽天レシピは思った程伸びてないみたいだね。

560:nobodyさん
12/01/04 12:58:12.72
今更クックパッドに対してステマとかどんだけ田舎もんなんだ

561:nobodyさん
12/01/04 13:04:48.85
楽天もRails採用してるんでしょ。Rails頑張ってるじゃん。

562:nobodyさん
12/01/04 13:53:01.78
>>558
楽天社員乙w

563:nobodyさん
12/01/04 13:58:43.18
>>561
Rubyアピールはしてるけど使ってない。
ほとんどPHPとかだったはず。
Matz連れてきたのも含め、Rubyは外向けの宣伝用だと思う。
どこか裏ではちょっと使ってるのかも知れないけど、研究部門のお遊び程度じゃないかと。


564:nobodyさん
12/01/04 14:11:41.85
前に勉強会で楽天社員の講演聞いたけど
内部では色んなフレームワークとかDBバックエンドとか試してて
なんかすごく楽しそうではあった。

Googleとか筆頭に楽天とかもそうだけど、トラフィック量がはんぱない会社なんかだと
色んなシステムの速い遅い使える使えないが実感を伴ってくるから勉強になりそうだよね。

565:nobodyさん
12/01/04 14:25:58.57
>>550
proxy_set_header X-Real-IP とか?


566:nobodyさん
12/01/04 19:45:05.82
URLリンク(railsdoc.com)

567:nobodyさん
12/01/05 12:14:59.16
Riding Rails: Rails 3.2.0.rc2 has been released!
URLリンク(weblog.rubyonrails.org)

Comparing v3.2.0.rc1...v3.2.0.rc2 for rails's rails - GitHub
URLリンク(github.com)

568:nobodyさん
12/01/05 14:42:50.78
Netbeensやコマンドプロンプトでコントローラーとかを生成しようとすると
C:/Ruby187/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:105:in `const_missing': uninitialized constant User::Authentication (NameError)
とでて生成されません。
これがでるのはrestful_authenticationのプラグインを入れて認証機能を作ってみようとしているプロジェクトで、どうやらrestful_authenticationを使うと生成ができなくなるみたいです
OSはwindowsXP、rubyが1.8.7、railsが2.3.5、gemが1.3.6です
回避方法があれば教えてもらえないでしょうか

いやもうもっと基礎的なところからやり直したほうがいいってレベルなのはわかってるんですがどうかよろしくお願いします

569:nobodyさん
12/01/05 15:04:43.65
has_secure_passwordを使ってて、localhostだと普通に動くんだがPassengerやらを使って外に出すと
使えなくなってしまうのは何でだろう。
NoMethodErrorになってしまうぐぬぬ

570:nobodyさん
12/01/05 15:07:09.14
rake db:migrate

571:nobodyさん
12/01/05 15:10:22.39
ダメっぽいです

572:nobodyさん
12/01/05 15:48:57.07
restful_authenticationのドキュメントは読んだか
プラグインはどうやってインストールしたか
プラグインを読み込んでいるか
をまず確認


573:nobodyさん
12/01/05 16:51:11.54
>>566
>URLリンク(railsdoc.com)

丁寧にマトメていて、なかなかいいんじゃまいかな
今後のコンテンツの充実に期待したい

ところで個人運営サイトのように見えるけど、
comドメインなのは org や info が取得できなかったからなのかな?

574:nobodyさん
12/01/05 17:08:49.14
>>572
ありがとうございます
プラグインはgemでインストールしました。listにでてるので読み込めてるとは思います
ドキュメントは今から読んでみます、英語・・・

575:nobodyさん
12/01/05 21:28:57.74
>>574
listに出ててもRailsアプリで読めてるかどうかは分からない。
ちゃんとアプリ側で読み込んでる?

576:nobodyさん
12/01/06 00:00:54.63 XvAj72g/
Rails 2.3.9 に activemerchant (1.20.1) いれたら

=> Booting Mongrel
=> Rails 2.3.9 application starting on URLリンク(0.0.0.0:3000)
c:/ruby/lib/ruby/site_ruby/1.8/rubygems.rb:233:in `activate': can't activate activesupport (>= 2.3.11, runtime) for ["activemerchant-1.20.1"], already activated activesupport-2.3.9 for ["rails-2.3.9"] (Gem::LoadError)

っておこられる。
どうしたらいいかわかるひといる?


About your application's environment
Ruby version 1.8.7 (i386-mswin32)
RubyGems version 1.3.7
Rack version 1.1
Rails version 2.3.9
Active Record version 2.3.9
Action Pack version 2.3.9
Active Resource version 2.3.9
Action Mailer version 2.3.9
Active Support version 2.3.9
Application root XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Environment development
Database adapter postgresql
Database schema version 20120105132229


577:nobodyさん
12/01/06 01:29:15.40 gqkuStz+
Rails2.3.11以上じゃないと使えないってエラー出とるやん

578:nobodyさん
12/01/06 01:58:58.55 rCtchA2Y
RSpecでガラケーからアクセスや、スマホからアクセスしたことを偽装するのって
どうすればいいんだ?

ユーザーエージェントをごまかせばいいのだから
get関数でアクセスする前に、ヘッダーを加工すればいいのだろうけど
そのための方法がわからない…


579:nobodyさん
12/01/06 03:46:39.87
stub使えばええやん

580:nobodyさん
12/01/06 19:44:38.51
heroku上でアップロード処理ができません - Ruby - 教えて!goo
URLリンク(oshiete.goo.ne.jp)

581:nobodyさん
12/01/07 03:51:31.83
>>114


582:nobodyさん
12/01/07 05:21:49.90
aws-sdk
URLリンク(docs.amazonwebservices.com)
URLリンク(aws.amazon.com)

URLリンク(aws.amazon.com)
URLリンク(docs.amazonwebservices.com)

config = YAML.load(File.read(config_file))
AWS.config(config)

s3 = AWS::S3.new
bucket = s3.buckets.create(bucket_name)

basename = File.basename(file_name)
o = b.objects[basename]
o.write(:file => file_name, :acl => :public_read)
URLリンク(aws.typepad.com)

# gives the object public read permissions
s3.objects["my_object"].acl = :public_read
URLリンク(aws.amazon.com)

URLリンク(amazon.rubyforge.org)


583:nobodyさん
12/01/07 20:38:13.67
Getting Real by 37signals
URLリンク(gettingreal.37signals.com)

なぜプログラマを難問奇問・一風変わったテストなどで雇ってはいけないのか? - GIGAZINE
URLリンク(gigazine.net)


584:nobodyさん
12/01/08 07:51:47.11
Gon gem ? get your Rails variables in your JavaScript
URLリンク(github.com)


585:nobodyさん
12/01/08 18:02:55.74
-rails plugin install open_id_authenticate
ってしたらなんかエラーが出たので
-sudo gem install ruby-openid
ってして
再度
-rails plugin install open_id_authenticate
したら
-already installed
って出たんですが、

-rake open_id_authenticate:db:create
ってしてもabortが出ます。

どうやったらdb:createできますでしょうか?



586:nobodyさん
12/01/08 20:04:16.89
>>585
それじゃ分からんわ。エラーメッセージ貼って。

あとRailsのバージョンと、先に rake db:migrate してるかどうか。
予想ではプロジェクト作ってから一度もdb:migrateしてないんじゃないかと。

他には、vender/plugin/ この先無くなるから、もうあまり使わない方が良いかも。


587:nobodyさん
12/01/08 21:49:03.21 bQSMbxTu
Railsを勉強開始しようとしてます。Ruby歴は2年です。
最初に購入する本として、次の図書を考えてます。
1)Ruby on Rails3アプリケーションプログラミング、山田祥寛
2)RailsによるWebアプリケーション開発、Sam Ruby, Dave Thomas, DHH

今、図書館から1), 2)の2冊を借りて手元にあるのですが、どちらも凄いボリュームです。どちらか、買って手元において置くとするとどちらが良いでしょう?

588:nobodyさん
12/01/08 22:03:02.09 obYOc1In
>>586
585です。

Rails 3.1.1です。
db:migrate
db:create
は行っています。

URLリンク(kdri.g.hatena.ne.jp)
こちらを参考にインストールしようとしたのですが、
$ rails plugin install open_id_authentication
で、
already installed: open_id_authentication (open_id_authentication). pass --force to reinstall
と出ます。

>>vender/plugin/ この先無くなるから、もうあまり使わない方が良いかも。
OpenIDを使いたいのですが、pluginを使わないとしたらどうすればいいでしょうか?



589:nobodyさん
12/01/08 23:27:51.62
Riding Rails: Rails 3.2.0.rc2 has been released!
URLリンク(weblog.rubyonrails.org)
Start moving any remaining Rails 2.3-style vendor/plugins/*. These are finally deprecated!

Extract your vendor/plugins to their own gems and bundle them in your Gemfile. If they're tiny, not worthy of the own gem, fold it into your app as lib/myplugin/* and config/initializers/myplugin.rb.

590:nobodyさん
12/01/09 04:48:08.19
>>588
2007年て記事が古過ぎ…
Railsは1年で相当変わるので1年以上前の記事は、あまり役に立たない。

openid のプラグインも別の良いのがあったと思う。
どうしてもopen_id_authentication使うなら、
URLリンク(github.com)
で。

vendor/plugin 無くなるから、gemで入れるべし。
3.1なんだから、ちゃんとGemfile書いて



591:nobodyさん
12/01/09 08:43:02.00 DMrpzMan
認証はDeviseとOmniAuthが2巨頭なのかな。

592:nobodyさん
12/01/09 09:36:50.74
>>591さん
情報ありがとうございます。
それでやってみます。


593:nobodyさん
12/01/09 09:39:54.42
まったく同じ話がRailsのMLでも流れてきたわけだが。
これは偶然か必然か…。同一人物だとしたら、
「2chのやつらは役に立たないから、MLの優しい人に聞こう」
という魂胆が丸見えで、好感はいだけないな。

594:nobodyさん
12/01/09 12:32:43.95
RailsのML、日本のは全然流れてないから入ってないわ

595:nobodyさん
12/01/09 14:35:16.33 7f0AwpQn
安藤優子、木村太郎は、某プロパイダの社外取締役、かつ、安藤は、フジ社外の人間にもかかわらず、フジテレビジョンのM&Aの最中、フジのホワイトナ
イトの【親会社】の本業を無視して、「インターネットは虚業だ。具体性がない
。」というようなことをコメントしました。この虚業は、livedoorを指していた
としても、「同業者」であったということは、非常に、違和感を感じずには、い
られません。

596:nobodyさん
12/01/09 22:28:24.19
>>587
アジャイル開発の4版よんだけどなかなかいいじゃないか
最初にRuby入門つけたのもいい感じ
ショッピングサイトを作るのは二度目だったけど少しだし、今回からはテストをしながらなんで、さくさくいけた
これにでてきたこととHEADFIRSTにでてきた検索絞り込みとGoogleMapみたいなAjaxからのCRUDができればウェブアプリで必要なことはだいたいできるようになるんじゃないか?

597:nobodyさん
12/01/10 10:40:02.72 fEXJ/Y97
>>596
了解。HeadFirstは最初に買った、Rails本です。
あれしろ、これしろと、手を動かす指示が書いてあるのだけど、
何やってるのかが、チンプンカンプンなので、HeadFirstはお蔵入りです。

今、山田祥寛本を読んでるけど、良い感じ。
アジル開発の4版と山田本の両方をペラペラ眺める日々をしばらく過ごす
事にします。

図書館には、延長願いを出しに行くのが面倒だなぁ。

598:nobodyさん
12/01/11 09:33:16.49 sSdbuxVR
ページの一部を除外した状態のキャッシュを作りたいんですが、可能でしょうか?

『フラグメントキャッシュ』は、ページの一部をキャッシュする機能ですよね?
今回はその逆で、ページの一部を含まない状態のキャッシュを作成したいんです。

こういうことって可能でしょうか?

ググっても分からなかったもので、分かる方がおられたら教えていただきたいです。

599:nobodyさん
12/01/11 14:13:31.69
普通に「ページの一部を含まない状態」をキャッシュすればいいのでは?

600:nobodyさん
12/01/11 16:02:48.82
>>599
といいますと・・・?
フラグメントキャッシュで、含みたくない部分以外を範囲指定してやれば良いということでしょうか?

601:nobodyさん
12/01/11 16:16:31.15
うん

602:nobodyさん
12/01/11 16:49:24.17 Q415Wjs8
「ようこそ●●さん」の●●以外が固定みたいなありがち例なら、
可変部分だけAJAXで引っ張ってくるという手もある。


603:nobodyさん
12/01/11 16:59:43.66
俺はもうキャッシュを優先して
セッションに依存するページとそうでないページを明確に分けるようにして
できるだけセッションに触れないにしてるな
AJAXは結局アプリケーションにRPCするから
静的ファイルだけに比べるとかなりコストが高くなるんだよね


604:nobodyさん
12/01/11 17:06:33.58
シンプルな認証機能に管理者権限を持たせるrole機能を追加したいと思い調べたところ
restful_authenticationにrole_requirementというプラグインを使うといいとでたのでインストールしたいのですがもしかして現在はもう入手できませんか?

605:nobodyさん
12/01/11 17:13:02.30 Q415Wjs8
「プラグインを使う」という時点で記事が古いからなー。

URLリンク(www.ruby-toolbox.com)

ここで人気のありそうなのに対する言及をひととおりぐぐってみてはどうか。


606:nobodyさん
12/01/11 17:40:27.75
ありがとうございます
rails2.3から脱出できないので古くてもいっぱいでてきたresethul_authenticationで頑張ってましたが、やっぱり新しいほうがいいんですかね・・・
とりあえずdeviceとacl9あたりがメジャーっぽいのでその辺も見てみます

607:nobodyさん
12/01/12 08:41:17.11
>>602
ユーザ名(ニックネーム)ならクッキーに入れといてjavascriptで表示すればいいじゃん

608:nobodyさん
12/01/12 09:24:00.86 4XFS90f0
いや、フラグメントキャッシュ以外にも手はあるよ、という話なわけで。


609:nobodyさん
12/01/12 12:00:55.71
>>598ですが、皆様色々なご意見ありがとうございます。

具体的には以下の現象で困っています。

今作成中のwebアプリでログイン認証があり、
1.ログアウト後に表示されるページA(キャッシュされるページ)に「ログアウトしました」という文言を表示させています。
2.再びログインし、ページBに行きます。
3.そしてページA飛ぶと、ログインしているのもかかわらず「ログアウトしました」という文言が表示されてしまいます。

これは上記1でページAをキャッシュした際、「ログアウトしました」という文言もキャッシュに含まれているからだと思います。


自分のイメージ的には、ページキャッシュで、
キャッシュに含めたくない部分を何らかのタグ(タグじゃないかもしれませんが)で囲い、
その囲った部分はキャッシュに出力されない。というようなことがもし可能なら、簡単なのだけれど・・・と思っています。
このような処理は可能なのでしょうか?

610:nobodyさん
12/01/12 13:23:10.17
そもそもキャッシュはユーザごとじゃないから最初にアクセスした
ユーザのデータでキャッシュが出来て後から来た人に情報駄々漏れになるよ

611:nobodyさん
12/01/12 13:53:35.68
動的な情報を出すページをキャッシュするという発想がそもそも違うのでは


612:nobodyさん
12/01/12 14:33:36.78
そもそもキャッシュの問題で特定できてるの?
キャッシュ切ったら正常に動作するの?

613:nobodyさん
12/01/12 18:40:36.77
>>598です。

>>610
キャッシュするページは、基本的に誰に見られてもいい情報ですので、その点は大丈夫かと思われます。
「ログアウトしました」という文言さえ出なければいいのですが・・・

>>611
やはりそうなんでしょうか・・・(汗

>>612
キャッシュを切れば正常に動作します。

614:nobodyさん
12/01/13 02:48:55.26
URLリンク(api.rubyonrails.org)

615:nobodyさん
12/01/13 10:19:17.07
> 「ログアウトしました」という文言さえ出なければいいのですが・・・

じゃあ出すなよw

616:nobodyさん
12/01/13 11:39:56.71
>>615
画面上には出したいのです。
ただ、キャッシュにはその文言を含めたくないということです。

617:nobodyさん
12/01/13 11:46:33.49
キャッシュにごちゃごちゃ機能持たせたらキャッシュの意味ないだろ

618:nobodyさん
12/01/13 11:53:00.69
素人質問で恐縮ですが、Railsって「uri」と「url」の使い分けってしてますか。
Rubyにはopen_uriというライブラリがあると聞いて、Rubyでは「uri」と「url」を使い分ける文化があるのかなと思いましたが、
Railsではどうなんだろうと思った次第です。

619:nobodyさん
12/01/13 12:21:59.29
>>609
>自分のイメージ的には、ページキャッシュで、
>キャッシュに含めたくない部分を何らかのタグ(タグじゃないかもしれませんが)で囲い、
>その囲った部分はキャッシュに出力されない。というようなことがもし可能なら、簡単なのだけれど・・・と思っています。
>このような処理は可能なのでしょうか?

そういうやり方があってもいいと思う。
(PHPのテンプレートエンジンであるSmartyには似たような機能があったはず。)
ただRailsにはなかったと思うから、キャッシュしたHTMLをさらに加工して出力する仕組みを自分でつくる必要がある。
もしくは、キャッシュにはその文言を含めず、かわりにクッキーに格納してそれをJavaScriptで出力する。

620:nobodyさん
12/01/13 16:23:02.19
> キャッシュにはその文言を含めたくない

キャッシュされたあとにログアウトしたときは出ないぞ

621:初心者
12/01/13 16:36:02.23 mEqOOBY4
かなり基本的なことかもしれませんが、教えてください。
認証に関しての質問です。

いままで、Rails解説本を見て、自作の認証を行っていました。
POSTでユーザとパスワードを送ってもらって、認証できれば、
あとはセッションで、同一人物であることを確認する方法です。

deviseの導入を考えているのですが、
Database Authenticatable、Token Authenticatable
というのは、それぞれどういうものでしょうか?
(どちらのモジュールを有効にするかで悩んでいます。)

漠然とした質問ですが、ヒントでも教えてもらえないでしょうか。
よろしくお願いします。

622:nobodyさん
12/01/13 16:46:09.56
>>621
URLリンク(d.hatena.ne.jp)

日本語でぐぐって一番最初にHITした記事

623:621
12/01/13 20:16:27.47
single access token を理解していませんでした。
APIとしてサービスを公開するときに必要なんですね。知りませんでした。

とりあえず、ブラウザからアクセスして、認証のみ付けたいので、Database Authenticatableのみでよさそうでした。



624:nobodyさん
12/01/13 21:43:02.56
DBで認証して、成功したら次はsessionから。
自動ログインでcookieから。
仮登録とかメール変更なんかで token利用。

625:nobodyさん
12/01/13 23:08:27.44
sessionとcookieは同じだろ


626:nobodyさん
12/01/13 23:41:48.48
違う。
sessionもcookie使うけど。
ログイン画面によくある「次から自動ログイン」のチェックボックスのあれは、cookieにトークン入れとく。

よくある認証プラグインでは、
login_from_cookie と login_from_session みたいな感じで分かれてる。


627:nobodyさん
12/01/14 04:15:33.52
俺が勝手に考える正しいMVCの実装。モデルはデータAPI! - はかますたいる!【きょろの技的雑記】
URLリンク(d.hatena.ne.jp)

628:nobodyさん
12/01/14 12:50:47.82

URLリンク(rails-users.jp)
URLリンク(python-users.jp)


629:nobodyさん
12/01/14 15:20:38.61 OUqaG7y7
coffeescriptで、クッキーを操作することってできるんでしょうか?
javascriptならできるんですけど・・・・

630:nobodyさん
12/01/14 15:21:42.25 dAISp9Jt
ヒント: ブラウザにはCoffeeScriptは見えていない。

631:nobodyさん
12/01/14 15:33:13.30 OUqaG7y7
>>630
つまり、CoffeeScriptからクッキーを参照、操作できないということでしょうか・・・?;;

632:nobodyさん
12/01/14 16:07:29.03
ヒント:ブラウザにはCoffeeScriptは見えていないということは、何が見えているのでしょうか?

633:nobodyさん
12/01/14 16:19:57.74 OUqaG7y7
>>632
HTMLとJavaScriptでしょうか?

634:nobodyさん
12/01/14 17:20:17.06
ようやくRailsが飲み込めてきた。
scaffoldで雛形作ってそこからいじろうとするとさっぱりだった。
scaffoldをやめたら簡単に飲み込めた。

635:nobodyさん
12/01/14 17:22:57.80 8reKjql1
実際Scaffoldなんてほぼ使わないよね

636:nobodyさん
12/01/14 17:25:16.34
そうは言っても基本はscaffoldだよ。
scaffoldのコード少しいけてないけどな。

どちらかというと基本抑えるために読む用のコードだと思ってるので、理解できたら rails gで好きなようにしたら良いと思う。

637:nobodyさん
12/01/14 17:55:40.03 MzyBrOAB
同じ問題にぶつかっている方がいないかと思いまして。。。
Ruby1.8.7 + Rails 3.0 で運用していたシステムの、Ruby側のVersionを 1.9.2 に上げることになりました。
通常の string型のカラムは問題はないのですが、
ActiveRecord のserializeカラム機能を利用した上で、HashやArrayに格納していた文字列を
表示しようとするとエラーになるようになりました。

incompatible character encodings: UTF-8 and ASCII-8BIT

要は、1.9以降は文字列がエンコード情報を持つようになったために起こっている問題です。
最悪、全てのレコードを精査して、
DBデータの再構築(全ての対象データを String.toutf8 して再保存する)
をするしかないのかなと思っていますが、もっとスマートな解決策を知っている方はいませんでしょうか。

638:nobodyさん
12/01/14 18:11:41.19
scaffold は自分でジェネレータ作ればなんぼかましになる

639:nobodyさん
12/01/14 18:30:48.88
>>637
ちゃんと日本語を含んだコメントやコードのある .rb ファイルは、先頭にマジックコメントが付いてるんだろうな?

# coding: utf-8


640:nobodyさん
12/01/14 18:39:21.60
CoffeeScriptでページ読み込み時の処理をさせたいけど、うまくいきません。。。
たとえば、ページAとページBがあるとします。
そしてページBのCoffeeScriptに以下のコードを書きました。
----------------------------------
$ ->
$(document)
.ready ->
alert "onload"
----------------------------------
すると「onload」というメッセージが出るのですが、これがページAを表示したときにも出てしまいます。
理想としては、ページBで読み込み完了した時のみ、「onload」のメッセージが出てほしいのですが、どうしたらよいのでしょうか?
ググってもあまり情報がなく、皆目見当がつかない状態です。
分かる方がおられましたら、どうかお願いします。

641:nobodyさん
12/01/14 18:41:45.51
>>640です。
すみません、CoffeeScriptのソース部分で、スペースが削られてしまいました。
改めて以下に書きます。

$ ->
 $(document)
  .ready ->
   alert "onload"

642:nobodyさん
12/01/14 19:03:20.62
むりせずjsで書けばw

643:nobodyさん
12/01/14 19:23:00.89 dAISp9Jt
どのファイルに書いたんだよ。


644:nobodyさん
12/01/14 19:25:00.99
>>643
ページBのcoffeeファイルに書きました。

645:nobodyさん
12/01/14 19:30:56.72 BK0/OR0A
app/assets/javascripts/application.js に
//= require_tree .
と書いてある以上、app/assets/javascripts の下に置いたら
全部まとめて1つのファイルになって、全ページで読み込まれる。
ページのURLとか、bodyのidとかで、動作対象ページと判断がつく場合だけ
動くように書けばいいんじゃないの?

あと、 jQuery では $(callback) が $(document).ready(callback) と同義なので、
$-> alert('onload')
でよいと思う。


646:nobodyさん
12/01/14 19:35:16.16
>>639
返答有り難うございます。

それがerbファイルの中で利用している部分なのです。
erbファイルに
<% # -*- coding: utf-8 -*- %>
を書くなども試してみたのですが、駄目でした。

647:nobodyさん
12/01/14 19:36:04.88
>>645
なるほど、全ページで読み込まれるのですね。
その点を知りませんでした。
お教えいただき、ありがとうございました。

648:nobodyさん
12/01/14 20:18:11.10
>>646
コントローラとかモデルとかヘルパとか、マイグレーションには日本語入ってないの?


649:nobodyさん
12/01/15 01:30:43.73
プログラマにとっては一人で一社ではなく、弁護士と一緒で一人で3社、4社と担当できる。
プログラマががんばって生産性が上がれば担当しているお客様をふやして給料も上がる。というビジネスモデル
URLリンク(www.publickey1.jp)


650:nobodyさん
12/01/15 01:41:18.63
それはないわ~
頑張って1人で何人分も仕事したら給料上がるとか


651:nobodyさん
12/01/15 02:10:41.77
担当者が怪我して会社行けなくなった場合の運用とか考えてなくね?

652:nobodyさん
12/01/15 03:21:32.46
それってただのフリーランス

653:nobodyさん
12/01/15 06:44:56.04 SjKDw288
話ぶったぎってすんません。
最近Railsを始めた初心者です。
Rails3 のActiveRecordについて質問です。

Post
belongs_to :User
User
has_many :Posts

となっており、
PostsController#indexにおいて、

respond_to do |format|
format.json { render json: @posts }
end

という形で@postsを返す際に、Userモデルのnameを含めたいと考えました。

@posts = Post.select('posts.title,users.name').joins(:User).limit(10)
としてやると、
SELECT posts.title,users.name FROM `posts` INNER JOIN `users` ON `users`.`id` = `posts`.`User_id` LIMIT 10
となり、発行されるSQL的には良いのかなと思っているのですが、
返ってくる値に利用される値はposts.title のみになってしまいます。

なんかとんでもない初歩的なところで躓いてるような気がするのですが、
いろいろ調べたり試したりしてハマってしまってます。

なにか方針やヒントなど、
諸先輩方のご教示をいただければ幸いです。


654:nobodyさん
12/01/15 09:12:28.97
render json: posts.json(includes: :user)
てな感じかと

655:nobodyさん
12/01/15 09:33:24.49
普通に返ってくるけど。rails 3.1.3で試したら。

あと実コードは違うのかも知れないが、関連のシンボルは小文字で(:user)。



656:nobodyさん
12/01/15 10:23:01.12 nqvAfoHq
普段は(jQuery使わないので)気にしていなかったんですが、
assets/javascript/application.js に書かれている
//=require jquery
の実体(jquery.js)はどこにあるんでしょうか?

普通は、assets/javascript以下に置いてあるのかと思うんですが、ありません。。
公式サイトなどから毎回ダウンロードするような処理が組み込まれている(?)んでしょうか。

これから、jqueryを使おうと思っていて
自分のRailsのjqueryのバージョンがどうなってるか、
メンテナンスをどうするか
実体がどこにあるかわかならいと
調べようがないなと思い、質問させてもらいました。

ご存じの方教えてください。よろしくお願いします。

657:nobodyさん
12/01/15 12:53:44.45 8bjFmpXJ
jquery-rails gemが持っている。
GEM_HOME/gems/jquery-rails-VER/vendor/assets/javascripts


658:nobodyさん
12/01/15 15:14:06.66
URLリンク(weblog.rubyonrails.org)

659:nobodyさん
12/01/15 15:42:40.18 8bjFmpXJ
もう今日にもrcが取れそうだというのにw

660:656
12/01/15 19:15:57.19
>>657
ありがとうございます。

661:nobodyさん
12/01/16 12:32:09.25
EC2はサーバーを停止するとデータが消える 2年以上も前の話です。。
EBS用いれば、サーバー停止 してもデータは消えない
EC2はIPアドレスが毎回変わってしまう
EIP(Elastic IP)を用いて固定アドレスを割り当て可能
クラウドは障害がおきると何もできない
物理DC/サーバーも障害は起こる。
クラウドの良さは、障 害からの復帰に複数の手段があり、備えておける
URLリンク(www.slideshare.net)

URLリンク(www.slideshare.net)
URLリンク(www.slideshare.net)




662:653
12/01/16 17:41:59.25
>>654
>>655
ありがとうございます。
rails 3.1.3 で普通に返ってきました。(関連のシンボルは実コードも:Userになっていたので修正しました)
rails console でクエリの形を色々いじくって、返り値の値をみていたのせいか、
実際にjsonとして吐き出した時と返り値が違っていたので、ちょっと混乱していました。すんません。

663:nobodyさん
12/01/16 18:18:36.01 It2/qso7
submitの二度押し防止で:disable_with使っているんですがクリックした後ブラウザバックするとボタンが非活性のままになっています。
元に戻すいい方法ありませんか?ちなみにfirefoxで発生します。

664:nobodyさん
12/01/16 22:50:16.73
>>604です
結局他の認証ツールは情報が少ないのとrailsバージョン的にresthul_authenticationを使って行くことにしました
目標はユーザー登録、ログイン、ログアウト、adminのみアクセスできるページを作ることです。
URLリンク(www.aise.ics.saitama-u.ac.jp)
こちらのサイトを参考に、メール認証機能、パスワード変更機能、パスワード忘れ機能を省いて行く事に挑戦しようと考えました
mail.rb以降を飛ばしてpermissionの生成に移り、その他必要のなさそうな機能追加を無視して進めています

users_controller.rbのcreateやupdateをどうするべきかわからないのでアドバイスをもらえないでしょうか

環境は上記サイトとほぼ同じでsqliteでなくmysqlを使っています
またresthul_authenticationはプラグインでなくgemでインストールしました

665:nobodyさん
12/01/16 23:50:09.16
なんかもう自分で自分のレスを見ていやになる・・・

すいません、>>664の質問はスルーでお願いします
もう時間もないのでアクセスできるコンピューターを限定して管理ページにだけ単純な認証機能をのせることで代用したいと思います
アクセス制限はapacheで公開するときに簡単に設定できるみたいですし・・・
スレ汚しすいませんでした

666:nobodyさん
12/01/17 00:06:10.11
Deviseなら情報腐るほどあると思うけど…。
権限はcancanでも使えばいいし。


667:nobodyさん
12/01/17 10:45:36.97 xcCT9DhO
マスタ/スレーブの冗長化の基本は4台1セット
URLリンク(d.hatena.ne.jp)

データベースのレプリケーション(複製)では、slaveに最低3台のサーバを適用している。
URLリンク(jibun.atmarkit.co.jp)

668:nobodyさん
12/01/17 10:51:58.18 46QLTXdT
2012年1月は、C#がC++を抜いて3位につけたことが特に注目される。C++は長期に渡って
緩やかな下落傾向にある一方で、C#は上昇傾向が続いており、特にここ数年は上昇傾
向が強くなっている。

今後しばらくは、C#とC++で順位の入れ替えを繰り返すものと見られるが、最終的には
C#が3位、C++が4位に落ち着く可能性が高い。また、Objective-Cも急成長を続けており、
この傾向が続いた場合には、C#、Objective-C、C++という順位に変わっていく可能性もある。

上記のほか20位以内に入ったプログラミング言語としては、Rが19位に、Luaが20位に
入った点が注目される。

特に、統計処理や統計データのグラフィック化などに利用されるRプログラミング言語は、
ここのところ注目が高まっている。Rの機能拡張が、Googleの支援によって実現したこと
などもその一因となっているものとみられる。

 1 Java       17.479 (-0.082) 18ヵ月連続1位
 2 C         16.976 (-0.081)
 3 C#         8.781 (+0.576) 3位へ浮上。上昇傾向
 4 C++.        8.063 (-0.189) 4位へ下落
 5 Objective-C   6.919 (+0.114) 上昇傾向
 6 PHP        5.710 (-0.291) 下落傾向
 7 (Visual)Basic  4.531 (-0.226)
 8 Python.      3.218 (-0.274)
 9 Perl.        2.773 (+0.301)
10 JavaScript    2.322 (+0.123)
11 Delphi       1.576 (+0.331)
12 Ruby.        1.441 (-0.053)

URLリンク(news.mynavi.jp)

669:nobodyさん
12/01/17 13:37:22.61
CoffeeScriptの中で、RailsRootのパスを取得することってできるのでしょうか?

670:nobodyさん
12/01/17 14:14:16.72
そんなのが必要になってる時点で何かおかしい。

どうしても必要ならコントローラから渡したり、erbにして取ったりはできる。

671:nobodyさん
12/01/17 15:19:16.77
>>669です。

>>670
「erbにして取る」と言いますと、どういうことでしょうか?


672:nobodyさん
12/01/17 19:06:28.60
それくらいはググれ

673:nobodyさん
12/01/18 13:43:28.80
すみません,質問させてください.
Railsで作成したプログラムからテーブルの列を変更することはできますか?

ユーザー側からテーブルの変更をできるようにしたいです.

674:nobodyさん
12/01/18 14:11:45.08
できなくはないけど、あまりやらない。
migrationと齟齬出るし。
使ってるものによっては、アプリサーバの再起動も要る。
ある人が列消したりしたら、同時に使ってる人はエラーになる。
おとなしくphp*admin使えば?


675:nobodyさん
12/01/18 14:15:42.32
住所録的なの作ってて,ユーザー側から項目追加できるようにしたいんですよね.
やっぱりmigrationで毎回保守してる人が回さないとダメかー

676:nobodyさん
12/01/18 14:23:30.56
それはデータの持たせ方による。
あらかじめ多めにカラム取っておくとか。
一部のデータはjsonにしてtextのカラムに入れるとか。
検索必要ならviewみたいなの用意しとくとか。
住所録ならそんなに増えないでしょ。

677:nobodyさん
12/01/18 14:32:14.43
今考えている代替案は,人名とフリガナだけ持ったモデル作って,has_manyで
項目ごとに独立したモデルを作る方法です.

[User]
name:string
furigana:string

[Attr]
attrname:string
attrdata:string
user_id:integer

な感じです.
で,別途AttrInfoモデルってのを作って項目の管理をする.
[AttrInfo]
attrname:string

正しいモデル図の書き方忘れちゃったから説明下手かもしれないですが,
そんな感じで子モデルとして項目を独立させる方法が楽かなぁと.
項目もフレキシブルな感じのほうがいいので..

今は,一つのフォームで複数の子モデル作成するとこで詰まってます.

678:nobodyさん
12/01/18 14:43:48.36
nested_attributes_for で

679:nobodyさん
12/01/18 15:22:08.27
くわしく知らないけどMongoDB向きなんじゃないの?

680:nobodyさん
12/01/18 16:18:35.88
>>678
Thx.できました!

>>679
MongoDBまだ理解してないですが,今回はユーザーが
DB操作せずに項目の増減できるようにしたいのでこんな感じになってます.

681:nobodyさん
12/01/18 22:57:41.69 NIE7IPJ6
rails3.1でherokuにあげたら、Application Errorになる。なぜ?

682:nobodyさん
12/01/18 23:24:43.83
asset pipeline周りでは。コンパイルしてる?

683:nobodyさん
12/01/19 06:35:32.69
Heroku | Dev Center | Rails 3.1 on Heroku Cedar
URLリンク(devcenter.heroku.com)
RAILS_ENV=production bundle exec rake assets:precompile

684:nobodyさん
12/01/19 12:55:11.04
>>681
ログには何と?

685:nobodyさん
12/01/19 19:03:02.74 kCr+nbf2
rails 3.0のEoLが何時までなのか調べても見当たらんのだが何時までなの?


686:nobodyさん
12/01/20 01:48:49.34 Bqw4Dvtw
Controllerからviewで使うヘルパー類をエラー吐かずに使う方法ってありますか?

html_escapeとかはERB::Util.で行けるけど
image_tagとかそこらへんが使えなくて困ってます
include AssetTagHelperで行けるのかと思ったけど見つかりませんと言われるし



687:nobodyさん
12/01/20 07:40:20.22
なんでそんな事したいの?
viewを使いたくない理由とは

688:nobodyさん
12/01/20 09:40:22.52 6rMlMhcM
>>687
Viewを使いたくないのではなくて、負荷を軽減するために
予めHTMLに変換してしまってDBに保存したいです



689:nobodyさん
12/01/20 10:25:14.23
それだとDBの負荷が上がるのでは。
Railsのキャッシュ使うのはダメなの?


690:nobodyさん
12/01/20 10:47:01.04
>>688
どう考えてもページキャッシュしたほうが負荷が低いな


691:nobodyさん
12/01/20 10:57:41.22 6rMlMhcM
>>689,690
言うなれば2chの掲示板みたいな機能でして
URLや画像をタグ化した状態で保存したいです

DB負荷を避けるために一定条件でDat落ちさせ
後ほどそれをテキストファイルに書きこんでdat化する作業もあるので結果的に楽なのです………




692:nobodyさん
12/01/20 15:06:46.25 0HmqnXsV
moduleなんだからincludeすりゃ使えるだろ


693:nobodyさん
12/01/20 19:37:05.84
>>691
ページキャッシュやフラグメントキャッシュがタグ化した状態で保存する機能なのだが
キャッシュのこと知らないで書いてるだろ


694:nobodyさん
12/01/21 02:32:19.08
3.2リリースage
Agile Web development with Rails のebookも更新されとる。


695:nobodyさん
12/01/21 05:46:25.13 vuwYpWFi
Riding Rails: Rails 3.2.0: Faster dev mode & routing, explain queries, tagged logger, store
URLリンク(weblog.rubyonrails.org)


URLリンク(twitter.com)


696:nobodyさん
12/01/21 09:23:29.82 rw9MCCDR
>>692
申し訳ありません、どれをIncludeすればいけますか?
先程書いたとおりassetHelperでは無理でした


>>693
ページキャッシュはしってますよ
でも、ページキャッシュではなくDBに保存しなければならないのです
そういう仕様なのでそう作らないと怒られるのですよー

他にも escape_javascriptをcontroller内で使いたいとか色々あると思うんです

697:nobodyさん
12/01/21 09:29:06.70
そんなレールから外れるような仕様は糞だ!って進退伺と一緒に稟議書あげろ。

698:nobodyさん
12/01/21 09:38:50.70
>>696
ページキャッシュで出来るHTMLをDBに入れればいいんじゃないの?

699:nobodyさん
12/01/21 09:41:24.26
cache_store をデータベースにしてreadでもwriteでもすればいいんじゃない?
ActiveSupport::Cache::Store を継承して要求しようにあったストアを作る。


700:nobodyさん
12/01/21 09:44:14.53
URLリンク(github.com)

URLリンク(devcenter.heroku.com)

701:nobodyさん
12/01/21 09:47:01.40
gem install dalli

require 'dalli'
dc = Dalli::Client.new('localhost:11211')
dc.set('abc', 123)
value = dc.get('abc')

702:nobodyさん
12/01/21 09:56:31.70
>>696
全然センス無いクソ仕様だな。
DB重くなるだけじゃん。
ページキャッシュの方が速いし軽い。

703:nobodyさん
12/01/21 23:00:45.95 vuwYpWFi
URLリンク(www.onas.asia)
URLリンク(www.onas.asia)

rubyの全くあたらしいフレームワーク
URLリンク(atnd.org)


704:nobodyさん
12/01/21 23:03:51.32 vuwYpWFi
<オープンソース Rubyフレームワークのご紹介>
URLリンク(kwansaiit.blogspot.com)


705:nobodyさん
12/01/22 00:32:20.37
rubyしてる人って、新しい情報をドヤ顔で共有したがる傾向が強いよね


706:nobodyさん
12/01/22 00:58:43.15
みんな使ってるのはApache?

すごい重いんだけどおすすめなにかない?

707:nobodyさん
12/01/22 01:22:57.72
それだけでは判断できんわ。
メモリの量とかCPUとかディスクにもよるし。
メモリの使い具合にも、SQLにもよるし。


708:nobodyさん
12/01/22 02:05:42.97
>>705
rubyの方は極めて保守的だと思うよ。
Railsはそういう傾向あり。

709:nobodyさん
12/01/22 06:31:01.16
>>707
CPUは常時50%くらい
メモリも常に1Gは余ってる(4GB)
IOもそんなに多くない

でも、めっちゃ重いんだ

710:nobodyさん
12/01/22 09:25:06.68
必要なとこにindex張ってないとか


711:nobodyさん
12/01/22 10:44:06.70 sE8mL0/v
モデルに
rails generate migrate add_カラム名_to_テーブル名 カラム名:型
って書くと思うんですが、
カラム名の中にアンダーバーを使いたい場合はどう書けばいいのでしょうか?



712:nobodyさん
12/01/22 11:54:22.60
711です。
アンダーバーを使わずcamel caseで書けばいいのですね、
おさわがせしました。



713:nobodyさん
12/01/22 12:47:08.93
>>708
rubyはバージョン間の互換性が凄く低い
とてもじゃないけど、保守的とは思えない

学生の文化祭ノリで言語作ってるから性質が悪い

714:nobodyさん
12/01/22 12:55:48.13
>>705
前向きに言い換えよう
新しい情報をドヤ顔で共有する勇気!

715:nobodyさん
12/01/22 13:06:10.63
>>713
それは感じた事ないな。
1.8系と1.9系は中身かなり違うが、書く分には対した違いではない。
遥か昔の1.4とかに比べても、そんなに変わってないと思う。1.6辺りからだと尚更。

MLに「こうしたら?」みたいな提案はよくあるけど、かなりの確率でmatzにリジェクトされてる。

昔はserializeしたデータにバージョン間で互換性がなくて実質使えなかったが、そういうのも聞かなくなった。

学生ノリはPHPとかスゴいよね。
関数名のアンダーバーをバージョン上がる毎に付けたり取ったり。


716:nobodyさん
12/01/22 13:13:09.46
Railsの変化は速すぎ。
枯れてから使おうとか考えてる人には合わない。
仕事でもプロジェクト開始後にバージョン上げたりするし。
もちろんテストがあればこそできる話。


717:nobodyさん
12/01/22 13:24:18.85 sE8mL0/v
yml-mode.elってどこにありますか?

URLリンク(yaml-mode.clouder.jp)
ここみてもみあたらないんですが・・・・


718:nobodyさん
12/01/22 13:25:30.57 sE8mL0/v
すみません。elispのとこにありました


719:nobodyさん
12/01/22 13:27:49.79
Rails の Symbol#to_proc がrubyに入った時はビックリしたわ。
新しい流れだなと。

720:nobodyさん
12/01/22 13:33:23.09 kpA61za+
"Ruby"じゃなくて"Rails"の互換性ってどうなの?
Rails1.2からRails3.1に移植したら大変かな?

721:nobodyさん
12/01/22 13:45:54.13
>>715
PHPはとってつけたような関数が多すぎるのがな。

722:nobodyさん
12/01/22 13:46:36.87
>>720
かなり大変。
2系から3系で結構苦労した。

723:nobodyさん
12/01/22 13:53:49.66
>>720
無茶苦茶大変。
DBだけ残して新しく作る方が楽かも。
もしくはDBも新しくして、移行プログラム走らせるとか。
habtmみたいな、もう誰も使ってないのが使われてそう。

いずれにしろスキル要るし、1系から3系まで知ってる人はそんなに居ない。



724:720
12/01/22 14:04:05.41
>>722-723
うわ、ありがとう
じゃ、覚悟しとくわ
まず一度移植にトライしてみて
ダメだったら1から新しく作るわ

725:nobodyさん
12/01/22 15:20:26.03
1から3まで全部知ってる人を見つけたからって移植を頼むなよ。絶対に頼むなよ。


726:720
12/01/22 16:54:14.92
あ、今Wiki見て知ったけど、
昨日1月20日に最新版Rails3.2出たんだな

>>725
ということで、Rails1.2からRails3.2への移植でおながいします

727:nobodyさん
12/01/22 17:12:54.33
どうやったら行けるかね。
もうrake rails:updateとか無理だから、
新しく3.2でプロジェクト作る。
app/ とかを古い方から持ってくる。もしくは新しい方から、Gemfile や config周り持って行く。
routes 移植。
プラグイン周りとか移植。

最後のは移植しないで、例えば新しいプラグイン入れて、認証のencryptのとこだけ差し替えるとか。

どちらにせよ、茨の道。

728:nobodyさん
12/01/22 19:09:32.81
URLリンク(github.com)

729:nobodyさん
12/01/22 19:58:58.08
そんなに移植って大変かなあ?
具体的にどの辺りが大変だったのか参考までに聞きたい
Ajax周りは3系でガラッと変わったから面倒だったけど

730:nobodyさん
12/01/22 22:21:01.46
Railsで、同じURLに対して、
・ブラウザでの通常のアクセスと
・JavaScriptとかでやってくるAPI的なアクセス
をコントローラ側で区別したい場合、どういうふうにするんでしょうか。
(a) Acceptヘッダーを見るのか、
(b) 独自にX-FooBarヘッダーをつけるのか
(c) *.jsonや*.xmlへのアクセスはAPIと見なすのか
よろしくお願いします。


731:nobodyさん
12/01/22 22:31:37.18
params[:format]

732:nobodyさん
12/01/22 22:41:09.29
自分は(c)でやってる。
(a)とか(b)だと使いまわしが面倒じゃない?

733:nobodyさん
12/01/22 23:19:32.46
要求仕様によるけど、 xhr? で間に合うケースもあるかもね。



734:720
12/01/23 00:46:09.88
>>727 (>>729)
どうもぉ~
さっき本屋で立ち読みしてきたけど
Rails3.1の仕様もそ~んなに変わってるようには見えなかった
でも、rhtml → erbまで違うとはね・・・

ま、多分、コンテンツになる部分だけ残して
あとは全部Rails3.2で作ることになりそう
インフル罹ったみたいなんで寝ますわ・・・

735:nobodyさん
12/01/23 01:30:53.30
>>730
APIとブラウザの違いというか、返すデータの種類が違うなら
UAではなく求められているデータの種類で分けるべきでは
要求されてるものがブラウザがHTMLでAPIがjsonやXMLなら
:formatが違うから(そのようにするべきだろう)
単にrespond_toで分ければいいだけだろ


736:nobodyさん
12/01/23 02:34:29.77
>>735
返すデータの種類を、拡張子で判断するよりも、Acceptヘッダーを見るほうが、本来は正しいあり方なんじゃないでしょうか。
/foo/bar/123
/foo/bar/123.html
/foo/bar/123.xml
/foo/bar/123.json
これらは、ほんらいは同じリソースのはずで、単に表現形式が違うだけにすぎない。
なのに別々のURLを割り当てるのは、おかしいように思います。

737:nobodyさん
12/01/23 08:24:44.75
リソースにURIを割り当てるのがRESTの考え方だからねぇ。
jsonが欲しければ.jsonで取るのは自然だと思うよ。
フォーマットが違うだけだし。


738:nobodyさん
12/01/23 08:30:21.94
ヘッダを変える方法だと、ブラウザでの操作がしにくくなる。


739:nobodyさん
12/01/23 09:52:44.98 X3Xu6cIF
RESTだから。としかいいようがないな。

740:nobodyさん
12/01/23 10:47:27.27
Acceptは受け入れ可能なフォーマットを書くところであって要求を書く場所じゃないから

741:nobodyさん
12/01/23 20:43:45.49
>>737
>フォーマットが違うだけだし。
だから違うURLを使うのはおかしいって話でしょ。
表現が違ってもリソースはひとつなんだから、本来ならURLもひとつにすべき。


742:nobodyさん
12/01/23 21:08:30.69
じゃあAcceptで実装したらいいんじゃないの。
そこまで考えまとまってるなら別に他がどうとか気にする必要ないよ。

743:nobodyさん
12/01/24 11:10:30.83 rjvP9n7H
Rails3.1何ですけど
プリコンパイルを一切使わない設定って出来ませんか?

CSSでクロスブラウザ対策してたりするとコンパイルこけるし
色々不便なので一切使わないようにしたいのですが

744:nobodyさん
12/01/24 14:23:23.89
asset pipeline使わないという事なら、config/application.rb に設定ある。
他は、 config/environments/production.rb


745:nobodyさん
12/01/24 15:01:11.36
/publicに置けばいいんじゃないの
それだとhelperが使えないんだっけ?

746:nobodyさん
12/01/24 15:24:13.68 R2GYQ8Ee
URLリンク(github.com)

URLリンク(railscasts.com)



747:nobodyさん
12/01/24 17:34:59.60 /isHqZPr
railsに関する質問ってここでしてもいいんですかね?

748:nobodyさん
12/01/24 17:52:55.66
ダメに決まってるだろ

749:nobodyさん
12/01/24 18:08:32.06 /isHqZPr
>>748

そ、そんな
だめなんですか

特例でおしえていただきたいんですが

750:nobodyさん
12/01/24 18:13:03.92 /isHqZPr
とりあえずかきこんじゃいます。

今ちいさなアプリケーションをrailsで作っているのですが、

formにメッセージを書き込む際に
あわせて書いた人のユーザーid を取得したいのですが、
どこに記述してよいかわかりません。

formの一部を抜粋するとこうなってます↓

<div class="field">
<%= f.label :message %><br />
<%= f.text_area :massage %>
</div>

お願いいたします

751:nobodyさん
12/01/24 18:14:55.52
押しが強くてワロタ

752:nobodyさん
12/01/24 18:16:14.91
massage エロス
あとユーザIDってのは自分で入力させるの?
それともセッションかどっかに入ってるの?

753:nobodyさん
12/01/24 18:22:49.82 /isHqZPr
押し強くてごめんなさいw
分からなくてすごく困ってたんですw

ユーザーのidは書いているユーザー一人一人が持っていて、
<%= current_user.id %>
とかけば出力されます。

理想としてはメッセージを送ると自動でuser_idもDBに送られるようにしたいです。。

754:nobodyさん
12/01/24 18:54:33.22
Railsでは普通、idは入力させたり、フォームから送るものではない。
セーブした時にDBから割り当てられるもの。

もし、任意のid(初心者ならこのカラム名はやめた方が良い)を入力させるなら、
重複が無いかなどを調べないといけない。


755:nobodyさん
12/01/24 18:57:49.67
んーと、送り主のidはフォームからは普通送らない。
コントローラで current_user.id とかやって、メッセージにセットする。


756:nobodyさん
12/01/24 19:16:19.62 /isHqZPr
idはuserテーブルののidをとりあえずmessageテーブルにuser_idとしてながしこみたいのです…

コントローラーでやるんですね、
ちょっといろいろためしてみます!

757:nobodyさん
12/01/24 19:31:55.63 /isHqZPr
書き方がわからなかったので、フィーリングで、
コントローラーのdef createところに
@message = Message.new(params[:Message])
params[:user_id] = current_user.id

とかいたのですが、うまく動かず…orz


758:nobodyさん
12/01/24 19:33:23.03
params に渡してどうするのよ。
message に渡しなよ。
@message.user_id = current_user.id

759:nobodyさん
12/01/24 19:38:15.04 /isHqZPr
うおおお ちゃんと登録されました!

た、助かりました…!ありがとうございます

760:nobodyさん
12/01/25 01:09:22.67
そういや>>736あたりの話なんだけど、
Railsでは /foo/123 には /foo/123.xml とか /foo/123.json とか :format がつけられるじゃん?
これって、コンテナリソースにはつけられるの?
つまり /foo/.xml とか /foo/.json とかはできるわけ?
それともコンテナリソースに対して xml や json を要求する場合はまた違う方法になるの?

761:nobodyさん
12/01/25 07:42:06.57
index.json

762:nobodyさん
12/01/25 08:11:31.32 CoUa4Jns
foos.xml とか foos.json


763:nobodyさん
12/01/25 10:11:00.50
config/route.rbでどうとでもできるからな


764:nobodyさん
12/01/25 11:16:46.09
テーブルの、あるフィールドの最大値を取得したいのですが、うまくいきません。。。

たとえばFooというテーブルのbarというフィールドの最大値を取得したいときは、以下のように書けば良いらしいのですが・・・

Foo.maximum('bar')

しかしながら、こう書くと『no method error』になるのです。
こちらの環境はRuby1.9.3、Rails3.1.3です。

maximumメソッドについては、以下のサイトで見つけました。
URLリンク(railsdoc.com)

これによると3.1.0までは対応しているようですが、3.1.3にはもうmaximumはないということでしょうか?


765:nobodyさん
12/01/25 13:21:04.50
普通に取れるけど。3.1.3と3.2.0で試した。
そのフィールド無いんじゃないの?

766:nobodyさん
12/01/25 14:04:53.51 T66svPqt
user
friend
entry
があります。
user にはstatusがあって、statusがwarningの物は友人でなくとも無条件で表示したいです

entry.joins( :user => :friend ).("users.status = ? OR friends.post_user_id = ?" , "warning" , session[:user_id] )

これで取れるかと思ったのですが、users.status = ?がスルーされているのか
後のfriendの記事しか取れません

joinについて何か大きな勘違いをしているのかもしれませんorz
どうすればとれますか?

767:nobodyさん
12/01/25 14:19:09.42
>>765
すみません、説明不足でした。
正確には、ある条件でデータを絞った後で、その中でのフィールドの最大値を取得したいということなのです。

まずFooというテーブルにbar、bazという2つのフィールドがあるとします。
イメージ的には、やりたい内容は以下のようなことです。
-------------------------------------
f = Foo.find_by_bar(○○○)

puts f.maximum('baz')
-------------------------------------

このやり方ですと、undefined method になります。

確かに、Foo.maximum('bar')という風に、絞り込んだものに対してではなく、直接最大値を取得するやり方ならうまく取れました。
絞り込んだものに対しては、maximumは使えないのでしょうか?


768:nobodyさん
12/01/25 14:54:10.77
>>767です。
すみません、自己解決しました。
以下の方法で、条件を絞ったうえでの最大値を取得できました。

Foo.maximum(:bar, :conditions => {:baz => ○○○})

お騒がせしてすみませんでした;;

769:nobodyさん
12/01/25 20:32:05.37 CoUa4Jns
>>767
ところでFoo.find_by_barだとfはFooのインスタンス1つになるわけだが。



770:nobodyさん
12/01/25 21:57:29.42
railsの
model = Model.new(param[:prefix])
model.save()
ってやり方は、悪意あるユーザがフォームにないパラメータを送ると
意図しない属性も変更されてしまうと思うのですが、そんなことないですか。

771:nobodyさん
12/01/25 22:04:45.35
mass assignできなくすれば大丈夫

772:nobodyさん
12/01/26 05:29:31.01 WYeK+tHX
みなさんは高速化のためにどんな方法をとってますか?

例えば、ブログなんかで
最新のコメント

なーんてものがありますよね?

ああいう、頻繁に更新される可能性がある一箇所のせいで結構つらい思いをすることもあります
ログイン→ようこそ◯◯さん等もそうですが

いくつか考えたのですが、ページキャッシュしてしまい
そういった部分を全てAjax等で非同期読み込み

上でも出てたJavascriptでCookieを調べて割り振り
どちらも、Rails外での話なのでどうしても面倒くささを感じてしまいます……

773:nobodyさん
12/01/26 07:00:43.56 LIf9fd2V
フラグメントキャッシュ使えし


ところで、フラグメントキャッシュって一定時間で破棄って出来ない?
5分で破棄したいのだけど……


774:nobodyさん
12/01/26 11:45:32.46
>>771
>mass assignできなくすれば大丈夫
ありがとうございます。でもこれってデフォルトでは作る側がいちいち設定する必要があるんですよね。
設定しなかった場合は、悪意あるユーザからの攻撃をいとも簡単に受けてしまう。

なんでデフォルトで禁止してないんですかね。
URLリンク(d.hatena.ne.jp)
> みたいにmass assignmentを使ってしまうと、entry[user_id]=1 とか適当なパラメータを送るだけで誰か他のユーザの投稿として Entry を更新することができたりするわけで。
> もちろん手を抜くなとか忘れるのが阿呆だとかはあるかもしれないけど、わたしのような初心者には結構危なく感じた。
>
> なんでRailsはデフォルトでmass assignment不可にしないんだろう?
> デフォルト不許可にしてしまうと、スキーマが変更されるたびに合わせて attr_accessible を修正しなきゃいけないとかDRYじゃねえよウゼーという感じなんだろうか。


775:nobodyさん
12/01/26 11:55:04.00
findした段階で大体防げるからなぁ。
@enty = current_user.entries.find(params[:id])
みたいに。
そう書いてないとダメだが。

776:nobodyさん
12/01/26 12:28:43.36
>>772
最近ならそういった情報で更新されにくいものは
クライアントサイドのlocalStorageにいれてしまうってのもありだな
サーバーへアクセスされないからAJAXの負荷が無い


777:nobodyさん
12/01/26 16:01:35.70
>>775
なんでそれで防げたことになるんですか?
今問題にしているのはcreateやupdateの話であって、findは関係ないような。

778:nobodyさん
12/01/26 16:30:47.72
updateの時は初めにfindするし、
createでは
@entry.user_id = current_user.id
するだろ。
しなければもちろん外からセットされる。プロテクトしてなければ。

Railsに限った話ではなくて、そう作ればそうなるよという事。



779:nobodyさん
12/01/26 18:58:14.63
>>778
もしかしてuser idのことだけ言ってますか?>>775
>findした段階で大体防げるからなぁ。
と言っているのが不思議だったんですけど、user id *だけ* みればそうかもしれません。
しかし774などで指摘していることは任意のフィールドに当てはまることであり、
「findした段階で大体防げる」ようなものではないんじゃないですか。



780:nobodyさん
12/01/26 20:03:46.49 RmSk4BIq
rails3.2でcsvのfixtureを読み込まなくなって
移行しようにも苦労しているのですが
おすすめのcsv読み込みツールってありますか?


781:nobodyさん
12/01/27 11:02:32.60
> >mass assignできなくすれば大丈夫
> ありがとうございます。でもこれってデフォルトでは作る側がいちいち設定する必要があるんですよね。
> 設定しなかった場合は、悪意あるユーザからの攻撃をいとも簡単に受けてしまう。

これで終わりじゃん

782:nobodyさん
12/01/27 14:38:18.12 lH99fQFB
Riding Rails: Rails 3.2.1 has been released
URLリンク(weblog.rubyonrails.org)

783:nobodyさん
12/01/27 18:06:51.09
route.rbに関しての質問です。
pages/:idの:idの部分を、ユーザの名前にしたくて困っています。
route.rbを
match "'pages/:username" => "pages#show", :via => :get, :path => :name
にしてrake route すると、
pages/usernameというルートしかできず…
方法ご存知な方いらっしゃいますか?

784:nobodyさん
12/01/27 22:26:17.58 50WK7S02
class Page
def to_param; name; end
end

rails c
>> helper.controler = app
>> app.page_path(Page.create(:name => 'foobar'))

デフォルトのルーティングだと、名前であろうとパラメータ的にはあくまで
:idというパラメータとして渡されてくるので、:idだがnameとして扱うこと。


785:nobodyさん
12/01/28 05:39:03.61
>>779
なぜわざわざ770みたいな脆弱な書き方を覚えてしまったのか
それは「横着な書き方」であって脆弱なのは当たり前だし、それでもRailsにはその脆弱さを防ぐ方法がいくつも備わってる

ちなみに775の言ってる事は俺も的外れだと思う

786:nobodyさん
12/01/28 10:17:16.60
>>785
scaffoldが
foo = Foo.find(params[:id])
foo.update_attributes(params[:foo])
foo.save
みたいなコードを吐く以上、それがRailsの標準的なやり方と見なされてもしょうがない。
ところで
>それでもRailsにはその脆弱さを防ぐ方法がいくつも備わってる
って言ってるけど、具体的にはどんな方法があるの?
いくつもあるなんて知らなかった。


787:nobodyさん
12/01/28 18:10:10.01
>>764

このサイト知らなかったな
微妙に間違っているが、すごい解説の量だ!

788:nobodyさん
12/01/28 20:25:27.97 kusQOV3z
attr_accessible と attr_protected
URLリンク(blog.digital-squad.net)

Use attr_protected or we will hack you - Blog Articles - LessEverything
URLリンク(lesseverything.com)







789:nobodyさん
12/01/28 21:31:22.30 kusQOV3z
attr_accessibleは、ActiveModel::MassAssignmentSecurityの機能で、
newやらupdate_attributesやらでレコードの属性を「一括設定してもよい」属性を
指定するもの。逆に「一括設定を禁止」するattr_protectedとペアで考える。
URLリンク(read2ch.com)


790:nobodyさん
12/01/28 21:47:54.91 kusQOV3z
assign_attributes
URLリンク(www.oiax.jp)

update_attributes
URLリンク(blog.livedoor.jp)

791:nobodyさん
12/01/29 14:01:57.04
れいるず、速習のコツを教えてくだされ。

792:nobodyさん
12/01/31 07:44:07.71
RailsによるアジャイルWEBアプリケーション開発っていうすばらしい本が出てるからその通りにショッピングサイトを作ればオッケー

793:nobodyさん
12/01/31 11:18:03.40
翻訳者宣伝乙

794:nobodyさん
12/01/31 19:00:01.98
>>792
で、やってる途中で新バージョンが出る

795:nobodyさん
12/01/31 21:42:32.22 J/mA32Fb
Rails Guidesでええやん。


796:nobodyさん
12/01/31 22:06:34.42 Nhw8SxC0
When I did all the programming for the original version of Basecamp back in 2003,
we ended up shipping with just about 2,000 lines of code.
URLリンク(37signals.com)

37signalsのBasecampは米国企業上位500社の321社が利用中 ? SEO Japan
URLリンク(www.seojapan.com)

Ruby on Rails開発者のDavid Heinemeier Hanssonによる「起業の学校」講演!
URLリンク(toshio.typepad.com)
2000人の顧客が月40ドルを12か月払えば、100万ドルになる。



797:nobodyさん
12/01/31 22:10:27.23 Nhw8SxC0

Getting Real by 37signals
URLリンク(gettingreal.37signals.com)

798:nobodyさん
12/01/31 23:23:30.79 Nhw8SxC0
URLリンク(twitter.com)

URLリンク(www.sponichi.co.jp)



799:nobodyさん
12/02/01 09:50:30.32
ActiveRecordで取得したレコードに対してeachメソッドみたいに全カラムにループでアクセスする方法ってありますか?

Test.find(1).each do |key, value|
#処理
end

このような処理はできないんでしょうか?

800:nobodyさん
12/02/01 10:24:09.07
自己解決しました。
attributesメソッドでハッシュが返ってきますね。

801:nobodyさん
12/02/01 21:36:14.66 MwDJMjTg
Twitter Bootstrapが大幅バージョンアップ!して凄まじいことに・・・ | IDEA*IDEA
URLリンク(www.ideaxidea.com)

URLリンク(twitter.github.com)
URLリンク(github.com)


802: 忍法帖【Lv=13,xxxPT】
12/02/01 23:04:02.37
!test

803:nobodyさん
12/02/02 11:31:58.44 ppveFy64
サイト重すぎてヤバイんですが、何かおぬぬめのてくにっくやとりあえずここみとけ!って対処法あります?

調べたところ
データベースアクセス周りが7割くらい占めてました

かるく調べたんですが
めむきゃっしゆ?
find_by_sql
インデックスをはる

あたりが王道のようですが、これでどのくらいかわるものですか?



最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch