トップページphp
986コメント359KB

【Ruby】Ruby on Rails Part8

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん2009/09/13(日) 20:49:34ID:kz4rC4Dx
■前 Ruby on Rails Part7
http://pc11.2ch.net/test/read.cgi/php/1241100447/

■参考サイト
<英語>
本家: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 37
http://pc12.2ch.net/test/read.cgi/tech/1251029267/
Ruby 初心者スレッド Part 30
http://pc12.2ch.net/test/read.cgi/tech/1249687283/
0002nobodyさん2009/09/13(日) 20:50:59ID:???
前スレ999は何が言いたかったのだろう。
0003nobodyさん2009/09/13(日) 20:51:01ID:???
O2
000412009/09/13(日) 20:53:14ID:???
■変遷
【Agile】Ruby on rails相談所【DRY】
http://pc8.2ch.net/test/read.cgi/php/1118663500/
【Agile】Ruby on rails相談所 part2【DRY】
http://pc10.2ch.net/test/read.cgi/php/1151254378/
【Ruby】Ruby on Rails Part3
http://pc11.2ch.net/test/read.cgi/php/1170760209/

↓ム板に

Ruby on Rails
http://pc11.2ch.net/test/read.cgi/tech/1191381506/



Ruby on Rails のスレ が
http://pc11.2ch.net/test/read.cgi/php/1207425569/

【Ruby】Ruby on Rails Part6
http://pc11.2ch.net/test/read.cgi/php/1224838013/

【Ruby】Ruby on Rails Part7
http://pc11.2ch.net/test/read.cgi/php/1241100447/

【Ruby】Ruby on Rails Part8
http://pc11.2ch.net/test/read.cgi/php/1252842574/
(イマココ)
000512009/09/13(日) 20:55:27ID:???
立てました。
ところで >>4 の変遷って、今後もいるのかな?

次スレを、いつ誰が立てることになるのかはわからないけど、
ちょっと疑問に思ったので今のうちに議論しておいたほうがいいかなと思いました。
0006nobodyさん2009/09/13(日) 21:03:45ID:???
>>1
乙であります。
0007nobodyさん2009/09/13(日) 21:09:03ID:???
前のスレで
rdocのview sourceが素晴らしい
と言ってる方がいましたが、これは何のことでしょうか?
0008nobodyさん2009/09/13(日) 21:09:51ID:???
>>5
> ところで >>4 の変遷って、今後もいるのかな?

個人的には前スレだけで十分
代わりに定番プラグイン一覧みたいなのが欲しいところ

> 次スレを、いつ誰が立てることになるのかはわからないけど、
> ちょっと疑問に思ったので今のうちに議論しておいたほうがいいかなと思いました。

>>950 が立てること、とかでいいじゃないか。
そういうルールもテンプレに含めておくべきだな。
0009nobodyさん2009/09/13(日) 21:21:19ID:???
自分も前スレだけで十分。
次スレは>>950が立てればいいと思う。
0010nobodyさん2009/09/13(日) 21:24:33ID:???
>>7
ドキュメントにソースがついているところじゃないかな?

俺はRailsのchmしか使ってないけど、メソッドのところ見ると、該当ソースが見れる。
これがえらく便利。

わがまま言えば、該当ソース内で他のメソッドクリックするとそのソースも見れる、みたいなのだともっといいんだろうけどねえ…。
chmジャム陸際な
0011nobodyさん2009/09/13(日) 22:18:58ID:???
980くらいでも大丈夫
0012nobodyさん2009/09/14(月) 00:54:13ID:???
名前付きルートにモデルインスタンスを渡すソースをよく見ます。

@entry = Entry.new(params[:entry])
redirect_to entry_url(@entry)

みたいな感じです。
ネットなどで調べると、名前付きルートentry_urlの引数はidしか渡せないようなのですが、
モデルインスタンスが渡された場合はインスタンスからidを取り出すなどの特別扱いをされるのでしょうか?
001352009/09/14(月) 02:08:24ID:???
>>8-9
わかりました。
0014nobodyさん2009/09/14(月) 05:36:47ID:???
>>12
> ネットなどで調べると、名前付きルートentry_urlの引数はidしか渡せない
ハッシュも渡せるYO!!
entry_url(:id => 10)

こういう、引数の色んな渡し方が可能なメソッドは大抵
is_a? とか respond_to? を使って実行時型チェックをやってるので、
その一環としてモデルオブジェクトからは id を取得するようになっているのだろう。

ソース追っかけたわけではないので推測だけど、、、
0015nobodyさん2009/09/14(月) 09:54:44ID:???
>>7
このやり方ってどうするんですか?

0016nobodyさん2009/09/14(月) 10:30:34ID:???
>>12
url_forのドキュメントとソースが参考になるのではないかと
0017nobodyさん2009/09/14(月) 10:39:09ID:???
>>15
rdoc --inline-source(-S)
0018nobodyさん2009/09/14(月) 10:44:29ID:???
>>15
>>1 にあるRailsの公式APIリファレンスや github でホスティングされている
gem の rdoc なんかはそうなっているから、そっちを参照したら?

ローカルのgemや自作ライブラリのドキュメントを生成するなら
ひとまず rdoc の使い方を覚え、gem server などでググる必要があると思われる。

でも自分はあんまりローカルgemのrdocは見ないなあ、大抵guthubの方を見る
0019nobodyさん2009/09/14(月) 18:24:50ID:???
railsだとrake doc:railsってコマンドでもドキュメント作れるけど、このコマンドはみんな使ってないの?
0020nobodyさん2009/09/14(月) 19:19:32ID:???
どんなコマンドがあるのかわからん
コマンド一覧表作ってくれんかな
0021nobodyさん2009/09/14(月) 20:11:48ID:???
>>20
rake --tasks
0022nobodyさん2009/09/14(月) 20:16:10ID:???
zsh だと
rake <Tab> でコメント付きのタスク一覧を補完候補として表示してくれたりする
0023nobodyさん2009/09/14(月) 20:43:56ID:???
DBの設計の質問なのですがrailsが絡むのでここで質問させてください。
webシステムでユーザーのテーブルを作りたいのですが、memberテーブル(一般ユーザー)とadminテーブル(管理者ユーザー)に分けて作ろうと思っています。
ただし名前やパスワードなど共通するカラムはuserテーブルに切り出します。

この時、userテーブルとmember&adminテーブルの関連はどのように作るべきでしょうか?
以下のように@とAの二つ考えてみたのですが、どっちが良いのか分かりません。

@memberテーブルとadminテーブルそれぞれにuser_idカラムを作り、memberとadminからuserを参照する。
Auserテーブルにuser_id(memberテーブルのidまたはadminテーブルのidを格納する)とuser_type("member"または"admin"を格納する)を作り、userからmemberとadminを参照する。

3つのテーブルの関係を考えるとuserがmemberとadminの親になるのが自然なので@の方が良いのかなと思うのですが、
Aの方法だと、railsのポリモーフィック関連で3つのテーブルの関連付けができるため便利です。(@だとuserとmember、userとadminを別々に関連付けするのでmemberとadminに関連性が無くなる)
どっちのやり方が適切でしょうか?
0024nobodyさん2009/09/14(月) 21:23:58ID:???
>>23
個人的には polymorphic associationが好み。

あまり美しくないが、一応選択肢として:
Rails的にはSTI(Single Table Inheritance)がお手軽。
0025nobodyさん2009/09/14(月) 22:06:40ID:???
3つ目の案として、UserとRoleの2つのモデルで一般ユーザ、管理者を表現するのはどうかな。
rolesテーブルには一般ユーザと管理者のレコードを入れて権限マスタとして使う。
で、usersテーブルにrole_idを持たせる。


0026252009/09/14(月) 22:08:23ID:???
あ、失礼。
>>23のAと同じだった。


0027232009/09/14(月) 22:13:49ID:???
>>24
やはりrailsの場合polymorphicが良いのですね。
Single Table Inheritanceは知りませんでした。少し調べてみたら@でやる場合はすごく便利そう…validationもuserモデルに書くだけで良くなるからむしろAより綺麗かも?
polymorphicかSTIかでもうちょっと考えてみます。
ありがとうございました。
0028232009/09/14(月) 22:16:12ID:???
>>25
ありがとうございます。
Aとは違うような…3つテーブルを作らないということですよね?
0029nobodyさん2009/09/14(月) 22:18:10ID:???
Railsとか関係なしにAは駄目だろ
memberとadminを区別しないで扱いたい時とか破綻する
0030232009/09/14(月) 22:26:53ID:???
破綻しますか?Aの場合でもuserからmemberとadminを辿れるから問題無いと思うけど。
0031nobodyさん2009/09/14(月) 22:44:58ID:0t6wUMUL
コントローラをあえてRESTfulにしたくない場合(フォーム→確認画面→完了画面、のようなものを考えています)、どのようにしたらよいでしょう?
config/routes.rb から該当コントローラの map.resources 行を削ると、以下のエラーになってしまいます。

 Showing app/views/hoges/fuga.html.erb where line #3 raised:
  undefined method `hoges_path' for #<ActionView::Base:0xb755f00c>
 Extracted source (around line #3):
  <% form_for(@hoge) do |f| %>

なお該当ビューで hoges_path メソッドを使用している箇所はありません。
0032nobodyさん2009/09/14(月) 23:03:43ID:???
>>31
form_forでエラーになっているのであれば、form_tag使えばいいんじゃない?

<% form_tag(:action => アクション名) do %>
 <%= text_field(:hoge, :name) %>
以下略
<% end %>
0033nobodyさん2009/09/15(火) 00:21:30ID:???
>>23
わざわざ二つに分ける意味がわからん
なぜ二つに分けようと考えたんだ?
0034nobodyさん2009/09/15(火) 00:22:25ID:???
メンバーから管理者に変更するときとか面倒そうだな
0035nobodyさん2009/09/15(火) 00:24:43ID:???
userテーブルは要らないな。memberテーブルとadminテーブルだけあれば済むこと。
0036232009/09/15(火) 02:04:52ID:???
何度もすいません。
memberテーブルとadminテーブルに分けたのは、一般ユーザーと管理者ユーザーで必要なカラムが違うからです。
userテーブルを作ったのは、ログイン認証の時に一つのテーブルを見るだけで済むようにするためです。
restful_authenticationなどのプラグインなどを使う場合ユーザー認証のテーブルが二つあるとやっかいだと思いました。

>>34さんが言うように変更が面倒くさそうなので、userテーブルだけ作ってmember固有のカラムもadmin固有のカラムもuserに突っ込むことも考えましたが、
そうしてしまうと今度はmemberとadmin以外の種類のuserが必要になった時に大変だと思いました。
自分なりに考えた結果、userとmemberとadminの3つのテーブルを用意するのがいいと判断しましたが、一般的なwebシステムではこういう分け方はあまりやらないのでしょうか。
0037nobodyさん2009/09/15(火) 03:06:36ID:AVq3Mqvr
この流れの中、恥を忍んで聞くのですが、個人で作ってるシステムで、
「管理者=自分」と「その他ユーザー」という区別しかない場合、
特定のID(例えば 1)を持つユーザーが管理者、とハードコードしてしまうのって
どうなんですかね?

role を導入しようかと思ったんですが、
管理者か否かの二値を区別するのに roleテーブルも大げさかなと
0038nobodyさん2009/09/15(火) 03:43:36ID:???
accessor isadmin
0039nobodyさん2009/09/15(火) 09:01:10ID:Gt2owe1a
>>37
role導入でいいと思う。今は2つの値しか扱わないとしても、ハードコーディングするより全然いい。
0040372009/09/15(火) 12:30:53ID:???
>>39
ありがとうございます。
今後のことも考えて role を導入してみます。
0041nobodyさん2009/09/15(火) 18:06:59ID:???
roleってなんだ???
0042nobodyさん2009/09/15(火) 18:44:33ID:???
堂島role
0043nobodyさん2009/09/15(火) 18:57:55ID:???
質問があります。

バリデーションエラー時に、エラー箇所を赤く表示したいのですが、微妙に変な挙動になります。
<div class="fieldWithErros">が挿入されるため、場合によって画面が崩れてしまいます。
そのため下記サイトのように、<span ...>に置き換えるようにしたのですが、

そうすると、textareaのような要素が何故か、背景が赤くならずに下だけが赤くなります。
多分、<span>がinlineで<textarea>がblockなせいだとは思うのですが・・・
うまく解決する方法はないでしょうか?

ちなみに、下記サイトのcssを追加した場合は、赤い背景のほかに赤い枠がとびでて不恰好になってしまいます・・・。

.fieldWithErrosがtextareaだけ変な件, ファイルアップロードのvalidates, option_groups_from_collection_for_select 使ったらfieldWithErrorsが出なくな.. - capsctrldays(2006-04-14)
http://capsctrl.que.jp/kdmsnr/diary/20060414.html
0044nobodyさん2009/09/15(火) 20:23:27ID:Gt2owe1a
>>43
divのままでも

div.fieldWithErrors {
display: inline;

}

こうすれば崩れなくなると思う。
0045nobodyさん2009/09/15(火) 20:28:15ID:???
capistranoの質問があります。
先日より、本番鯖でcapistranoでのデプロイがエラーはくようになり困っております。
どのような原因が考えられますでしょうか?
テスト鯖へのデプロイはほぼ同じ設定で問題なくできています。

環境:
デプロイ先(テスト鯖staging、本番鯖production)
・Ubuntu 8.04 LTS ruby 1.8.7 (2008-08-11 patchlevel 72) [i486-linux]
デプロイ元: Windows XP SP3 Ruby 1.8.7
・ruby 1.8.7 (2008-06-20 patchlevel 22) [i386-mswin32]
・Capistrano v2.5.5

以下、エラー内容
> cap production deploy:cold
  * executing `production'
    triggering start callbacks for `deploy:cold'
  * executing `multistage:ensure'
  * executing `deploy:cold'
  * executing `deploy:update'
    triggering before callbacks for `deploy:update'
  * executing `gems:install'
  * executing "cd /home/www/my_project/current && rake gems:install RAILS_ENV=production"
    servers: ["my.example.com"]
    [my.example.com] executing command
** [out :: my.example.com] (in /home/www/my_project/releases/20090730101805)
    command finished
** transaction: start
  * executing `deploy:update_code'
    executing locally: "svn info svn+ssh://my_repogitory/my_project/trunk  -rHEAD"
  * getting (via checkout) revision 102 to C:/DOCUME~1/ore/LOCALS~1/Temp/20090915103237
    executing locally: svn checkout -q -r102 svn+ssh://my_repogitory/my_project/trunk C:\DOCUME~1\ore\LOCALS~1\Temp\20090915103237
    compressing C:/DOCUME~1/ore/LOCALS~1/Temp/20090915103237 to C:/DOCUME~1/or/LOCALS~1/Temp/20090915103237.tar.gz
0046nobodyさん2009/09/15(火) 20:31:02ID:???
  executing locally: tar czf 20090915103237.tar.gz 20090915103237
  servers: ["my.example.com"]
** sftp upload C:/DOCUME~1/ore/LOCALS~1/Temp/20090915103237.tar.gz -> /tmp/20090915103237.tar.gz
*** [deploy:update_code] rolling back
 * executing "rm -rf /home/www/my_project/releases/20090915103237; true"
  servers: ["my.example.com"]
** [deploy:update_code] exception while rolling back: IOError, closed stream
D:/ruby/(略)/capistrano-2.5.5/lib/capistrano/transfer.rb:156:in `[]=': undefined method `[]=' for nil:NilClass (NoMethodError)
    from D:/ruby/(略)/capistrano-2.5.5/lib/capistrano/transfer.rb:207:in `handle_error'
    from D:/ruby/(略)/capistrano-2.5.5/lib/capistrano/transfer.rb:48:in `process!'
    from D:/ruby/(略)/capistrano-2.5.5/lib/capistrano/transfer.rb:43:in `loop'
    from D:/ruby/(略)/capistrano-2.5.5/lib/capistrano/transfer.rb:43:in `process!'
    from D:/ruby/(略)/capistrano-2.5.5/lib/capistrano/transfer.rb:11:in `process'
    from D:/ruby/(略)/capistrano-2.5.5/lib/capistrano/configuration/actions/file_transfer.rb:40:in `transfer'
    from D:/ruby/(略)/capistrano-2.5.5/lib/capistrano/configuration/connections.rb:170:in `execute_on_servers'
    from D:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `each_slice'
    from D:/ruby/(略)/capistrano-2.5.5/lib/capistrano/configuration/connections.rb:158:in `each'
    from D:/ruby/(略)/capistrano-2.5.5/lib/capistrano/configuration/connections.rb:158:in `each_slice'
    from D:/ruby/(略)/capistrano-2.5.5/lib/capistrano/configuration/connections.rb:158:in `execute_on_servers'
0047nobodyさん2009/09/15(火) 20:34:49ID:???
長すぎて容量制限にひっかかる(泣

    from D:/ruby/(略)/capistrano-2.5.5/lib/capistrano/configuration/actions/file_transfer.rb:38:in `transfer'
    from D:/ruby/(略)/capistrano-2.5.5/lib/capistrano/configuration/actions/file_transfer.rb:26:in `upload'
    from D:/ruby/(略)/capistrano-2.5.5/lib/capistrano/recipes/deploy/strategy/base.rb:43:in `send'
    from D:/ruby/(略)/capistrano-2.5.5/lib/capistrano/recipes/deploy/strategy/base.rb:43:in `method_missing'
    from D:/ruby/(略)/capistrano-2.5.5/lib/capistrano/recipes/deploy/strategy/copy.rb:99:in `deploy!'
    from D:/ruby/(略)/capistrano-2.5.5/lib/capistrano/recipes/deploy.rb:204:in `load'
    from D:/ruby/(略)/capistrano-2.5.5/lib/capistrano/configuration/execution.rb:128:in `instance_eval'
    from D:/ruby/(略)/capistrano-2.5.5/lib/capistrano/configuration/execution.rb:128:in `invoke_task_directly_without_callbacks'
    from D:/ruby/(略)/capistrano-2.5.5/lib/capistrano/configuration/callbacks.rb:27:in `invoke_task_directly'
    from D:/ruby/(略)/capistrano-2.5.5/lib/capistrano/configuration/execution.rb:81:in `execute_task'
    from D:/ruby/(略)/capistrano-2.5.5/lib/capistrano/configuration/namespaces.rb:186:in `send'
    from D:/ruby/(略)/capistrano-2.5.5/lib/capistrano/configuration/namespaces.rb:186:in `method_missing'
    from D:/ruby/(略)/capistrano-2.5.5/lib/capistrano/configuration/namespaces.rb:104:in `update_code'
    from D:/ruby/(略)/capistrano-2.5.5/lib/capistrano/recipes/deploy.rb:185:in `load'
    from D:/ruby/(略)/capistrano-2.5.5/lib/capistrano/configuration/execution.rb:48:in `transaction'
0048nobodyさん2009/09/15(火) 20:36:51ID:???
    from D:/ruby/(略)/capistrano-2.5.5/lib/capistrano/configuration/namespaces.rb:186:in `send'
    from D:/ruby/(略)/capistrano-2.5.5/lib/capistrano/configuration/namespaces.rb:186:in `method_missing'
    from D:/ruby/(略)/capistrano-2.5.5/lib/capistrano/recipes/deploy.rb:184:in `load'
    from D:/ruby/(略)/capistrano-2.5.5/lib/capistrano/configuration/execution.rb:128:in `instance_eval'
    from D:/ruby/(略)/capistrano-2.5.5/lib/capistrano/configuration/execution.rb:128:in `invoke_task_directly_withou
t_callbacks'
    from D:/ruby/(略)/capistrano-2.5.5/lib/capistrano/configuration/callbacks.rb:27:in `invoke_task_directly'
    from D:/ruby/(略)/capistrano-2.5.5/lib/capistrano/configuration/execution.rb:81:in `execute_task'
    from D:/ruby/(略)/capistrano-2.5.5/lib/capistrano/configuration/namespaces.rb:186:in `send'
    from D:/ruby/(略)/capistrano-2.5.5/lib/capistrano/configuration/namespaces.rb:186:in `method_missing'
    from D:/ruby/(略)/capistrano-2.5.5/lib/capistrano/configuration/namespaces.rb:104:in `update'
    from D:/ruby/(略)/capistrano-2.5.5/lib/capistrano/recipes/deploy.rb:464:in `load'
    from D:/ruby/(略)/capistrano-2.5.5/lib/capistrano/configuration/execution.rb:128:in `instance_eval'
    from D:/ruby/(略)/capistrano-2.5.5/lib/capistrano/configuration/execution.rb:128:in `invoke_task_directly_without_callbacks'
    from D:/ruby/(略)/capistrano-2.5.5/lib/capistrano/configuration/callbacks.rb:27:in `invoke_task_directly'
0049nobodyさん2009/09/15(火) 20:37:35ID:???
    from D:/ruby/(略)/capistrano-2.5.5/lib/capistrano/configuration/execution.rb:81:in `execute_task'
    from D:/ruby/(略)/capistrano-2.5.5/lib/capistrano/configuration/execution.rb:93:in `find_and_execute_task'
    from D:/ruby/(略)/capistrano-2.5.5/lib/capistrano/cli/execute.rb:45:in `execute_requested_actions_without_help'
    from D:/ruby/(略)/capistrano-2.5.5/lib/capistrano/cli/execute.rb:44:in `each'
    from D:/ruby/(略)/capistrano-2.5.5/lib/capistrano/cli/execute.rb:44:in `execute_requested_actions_without_help'
    from D:/ruby/(略)/capistrano-2.5.5/lib/capistrano/cli/help.rb:19:in `execute_requested_actions'
    from D:/ruby/(略)/capistrano-2.5.5/lib/capistrano/cli/execute.rb:33:in `execute!'
    from D:/ruby/(略)/capistrano-2.5.5/lib/capistrano/cli/execute.rb:14:in `execute'
    from D:/ruby/(略)/capistrano-2.5.5/bin/cap:4
    from D:/ruby/bin/cap:19:in `load'
    from D:/ruby/bin/cap:19

これでエラーメッセージ終わりです。
ご助言いただけると幸いです。
0050nobodyさん2009/09/15(火) 20:41:44ID:???
>>44
やってみたのですが、<span>のときと同じように、
背景がうまく赤くならずに、textareaのときは下の方だけが赤くなったりしてしまいます・・・。
0051nobodyさん2009/09/15(火) 20:50:52ID:Gt2owe1a
>>50
とりあえず、デザインの崩れは解決したんだよね?
あとはcssを調整すればなんとかなるはず。

.fieldWithErrors textarea {

background: #ff0000;
}

で、いけないかな?
0052nobodyさん2009/09/15(火) 21:03:14ID:???
>>46
SFTPTransferWrapperの中でコケてるようだけど、うーん……
公開鍵の有無とかパスワード認証の許可状況とか?

0053nobodyさん2009/09/15(火) 21:28:04ID:???
突然ならディレクトリの容量が足りないんじゃなくて?
0054452009/09/16(水) 11:14:19ID:???
ありがとうございます。

書き忘れましたが、本番鯖の設定とテスト鯖の設定の切り替えにcapistrano-extというgemを使っています。

>>52
こちらでもソースを見ていたのですが、やっぱり、SFTPがおかしいのですかね…。
サーバー側のsshd設定何か弄ったかな…うーん。

本番サーバーにwinscpのSFTPで同じユーザーで適当な10MBくらいのファイルを何度か転送してみましたが、
問題ない感じでした。
capistrano側の設定なのかな…
ほぼ同じcapistranoの設定(ドメインとssh接続portのみ異なる)でテスト環境では問題ない点が?です。

sshは公開鍵を使っていますので、鍵の設定も見直してみます。pageantを併用していたはず

>>53
昨日、サーバーでdfで確認してみましたが、転送先のディレクトリ(/home/www/my_project)含むパーティション、
及びアーカイブ一時展開先の /tmpともに問題なく空いていました。

しかし、念のためもう一度確認してみます。
0055nobodyさん2009/09/16(水) 11:33:18ID:???
>>54
まさかとは思うが、root でログインしようとかしてないよね?
PermitRootLogin no で弾かれてるとか
0056nobodyさん2009/09/16(水) 18:38:05ID:???
Railsでmigration使わない開発ってアリでしょうか?
使い慣れたDB設計ツールからSQL吐きたいってのは邪道ですか?
0057452009/09/16(水) 19:23:55ID:???
>>52
公開鍵の設定はpageantを使ってあり、capistranoで使用しているNet:sshはwindows環境では
pageantを使ってくれるみたいです。

>>53
確認したところ、ディスク残り容量は問題ありませんでした。

>>55
下記のようにdeploy.rbで設定してあり、rootではログインしていません。sshはrootログインは弾いています。
set :use_sudo, false
set :user, "www-data"

なお、上記ユーザーでsshクライアント(Poderosa3)でのログインを及び、
winscpでのsftp転送が可能なことは確認しています。
0058452009/09/16(水) 19:35:00ID:???
解決しました(`・ω・´)

sshdの設定がテスト環境と違っていたので、修正してみたところ無事デプロイが通るようになりました。

/etc/ssh/sshd_config にて、

ClientAliveInterval 15
ClientAliveCountMax 3

ClientAliveInterval 60

のように修正しsshdを再起動したところ、うまく行くようになりました。
他のsshクライアントでうまく行くから他の原因かと思ってました。

みなさまのおかげさまです。ありがとうございました。
0059nobodyさん2009/09/16(水) 20:28:55ID:???
>>56
ふつうにアリだよ。
0060nobodyさん2009/09/16(水) 21:34:48ID:???
普通にナシだろう。逆に手間かかるのがオチ
0061nobodyさん2009/09/16(水) 21:40:58ID:???
>>60
既存DBを使うようなものは作ったことがないんですね。
0062nobodyさん2009/09/16(水) 23:03:54ID:hMTblvM+
今回初めてCapistranoを使いRailsアプリケーションのデプロイ作業に取り組んでいるのですが、
cap deploy コマンドを入力し、パスワードを入力した後の処理がエラーになって先に進みません。
ネットで調べたのですがどうも原因が分からず、3日ほどハマっています。
もしよければ、以下のエラーの内容から解決方法のアドバイスを頂けないでしょうか。

クライアントマシンはWindowsVista、リポジトリはBuffaloのLinkStationにあり、サーバはFedora 10です。

C:\InstantRails\rails_apps\demo>cap deploy
* excuting `deploy'
* excuting `deploy:update'
** transaction: start
* excuting `deploy:update_code'
excuting locally: "svn info file:///L:/demo/branches/stable -rHEAD"
*** excutable `svn' not present or not in $PATH on the local system!
* excuting "svn export -q -r3 file:///L:/demo/branches/stable /home/tyn/www/demo/releases/20090916124357 && (echo 3 > /home/tyn/www/demo/releases/20090916124357/REVISION)"
servers: ["tyn-market.com"]
Password:
[tyn-market.com] excuting command
** [tyn-market.com :: err] svn: URL 文字化けしている ra_local 文字化けしている
** [tyn-market.com :: err] svn: 文字化けしている 'file:///L:/demo/branches/stable' 文字化けしている
command finished
*** [deploy:update_code] rolling back
* excuting "rm -rf /home/tyn/www/demo/releases/20090916124357; true"
servers: ["tyn-market.com"]
[tyn-market.com] executing command
command finished
failed: "sh -c 'svn export -q -r3 file:///L:/demo/branches/stable /home/tyn/www/demo/releases/20090916124357 && (echo 3 > /home/tyn/www/demo/releases/20090916124357/REVISION)'" on tyn-market.com

エラーメッセージの中に文字化けしている個所がいくつかあります。
0063nobodyさん2009/09/16(水) 23:05:46ID:hMTblvM+
エラーメッセージは以上です。
よろしくお願い致します。
0064nobodyさん2009/09/16(水) 23:35:15ID:???
>>60
幸せな環境で仕事してるんだろうなぁ。羨まし
0065nobodyさん2009/09/16(水) 23:59:26ID:???
>>62

excutable `svn' not present or not in $PATH on the local system!
ってことじゃんか?
ローカルとリモートでsvnが使える?


0066nobodyさん2009/09/17(木) 00:06:00ID:???
>>62
> ** [tyn-market.com :: err] svn: URL 文字化けしている ra_local 文字化けしている
> ** [tyn-market.com :: err] svn: 文字化けしている 'file:///L:/demo/branches/stable' 文字化けしている

これ、ディプロイ先でチェックアウトしようとしたときにsvnが受け取っている
リポジトリパスなんだが、たぶんローカルでチェックアウトするときのをそのまま
使ってるよね?

0067nobodyさん2009/09/17(木) 10:14:22ID:AsBV+oBz
vim-railsで変数の定義部にジャンプする機能ってないですかねぇ??
統合開発環境であるような。
そもそもvimではそういうのって無理なのかしらん。
エディタの話になってしまって申し訳ないですが・・詳しい方いたら教えていただけると幸いです。
0068nobodyさん2009/09/17(木) 10:28:36ID:???
>>62
サーバー側でsvnからチェックアウトしようとして失敗しているのかな?
もし、サーバーからアクセスできないsvnリポジトリを使っているなら(例えば、ローカルにあるとか)、
 set :deploy_via, :copy
を指定すれば、
ローカルでsvnからチェックアウト→tar.gzで固めて→sftpでデプロイ先に転送→デプロイ先に解凍
してくれる。

以下は記述例:
set :repository, "svn+ssh://my_svn/my_project/trunk" #(例) ローカルからアクセス可能なリポジトリURL
set :deploy_to, "/home/www/#{application}" #(例)デプロイ先のディレクトリ
set :deploy_via, :copy
0069nobodyさん2009/09/17(木) 11:19:40ID:???
railsで80000pv/日のサイト運営したいんですけど月何万ほどかかりますか?
0070nobodyさん2009/09/17(木) 11:58:28ID:???
PHP の 3 倍くらいかな
0071nobodyさん2009/09/17(木) 12:27:35ID:???
80000pv/日のコンテンツ(ネタ)を持っているだけでうらやましい
エロサイトかなにか?(悪く行っているのではありません)

技術を身につけても、プライベートではサイトを開くネタがないよ。
(本業が SE なので、仕事では顧客から請け負った業務イントラを Rails で作っているけど)
0072nobodyさん2009/09/17(木) 15:16:06ID:???
>>67
タグで飛べばいいじゃないの?
0073nobodyさん2009/09/17(木) 15:19:26ID:WSgiLhix
>>65, 66, 68
回答有り難うございます。Railsデプロイ読みながらやっているのですが、バージョン管理システムを使うのも初めてなものでして。。
"リモート"がリポジトリのあるLinkStationで、"ローカル"が開発作業をしているWindowsマシンで、"サーバ側"がデプロイ先のLinuxマシンという理解で良いでしょうか?

ご指摘の通りサーバ側からLinkStationにアクセスできる設定にはしておらず、ローカルでチェックアウトするときのパスがそのまま使えると思っていました。
ローカルのSubversionを使ってデプロイ先のサーバにアクセスしていると勘違いしていました。

サーバ側のSubversionは何か設定やリポジトリの作成??が必要なのでしょうか。手元にある書籍では殆ど触れられておらず、今ひとつ全体像がつかめずにいます。
何かあれば助言頂けないでしょうか。よろしくお願いします。

set :deploy_via, :copy も試してみようと思います。
0074nobodyさん2009/09/17(木) 17:54:24ID:???
サーバ側でsmbclientなどを使ってLinkStationのファイルを共有する設定にしても
よさそうね。
0075nobodyさん2009/09/17(木) 18:59:24ID:???
Rails3.0っていつ出るんだい?
0076nobodyさん2009/09/17(木) 19:40:34ID:???
年内にはβに到達しないと予測。
0077nobodyさん2009/09/17(木) 19:57:25ID:???
>>73
Fedoraの方にログインして
ssh でも http でも samba でもなんでもいいからやりやすいので LinkStation にアクセスできるようにして
$ svn ls リポジトリ
が通ればOK
set :deploy_via, :copy はサーバ側を弄らせてもらえない場合の最終手段かな
0078nobodyさん2009/09/18(金) 12:52:28ID:ITCAk7dP
これからrailsやろうと思ってる者です。
そして、インストールの時点でコケてしまいました。

$gem install rails
ERROR: While executing gem ... (Zlib::BufError)
  buffer error

なので、gemをアップデートしました。

$gem update --system
$gem update
windows再起動

$rails install rails
ERROR: While executing gem ... (Zlib::BufError)
  buffer error

・・・。
この場合、どうすればインストール出来ますか?
ぶしつけですみませんが、教えて!エロい人!
0079nobodyさん2009/09/18(金) 12:56:06ID:ITCAk7dP
>>78です。
情報が足りてませんでした。

Windows XP SP3
ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32]
gem 1.3.5

です。
0080nobodyさん2009/09/18(金) 13:16:48ID:???
zlib入れろ
0081nobodyさん2009/09/18(金) 13:56:09ID:ITCAk7dP
>>80 返信ありがとうございます。
調べてみたところ、zlibが存在してるんですが、別口で入れるものでしょうか?

C:\ruby\bin>ls zlib*
zlib1.dll
0082nobodyさん2009/09/18(金) 14:50:59ID:LN3EfzwI
>>74, 77
smbclientで共有してみましたが cap deploy 失敗してしまいました。

65さんのおっしゃる
>>excutable `svn' not present or not in $PATH on the local system!

このエラーメッセージが毎回出現します。意味がよく分からないのですが、どういうことでしょうか?
重ね重ねすみません。
0083nobodyさん2009/09/18(金) 16:35:16ID:???
>>82
svn コマンドが PATH から見つからないって言っているんじゃないの?
0084nobodyさん2009/09/18(金) 17:26:03ID:LN3EfzwI
>>83
WindowsでもLinuxの方でもsvnコマンドは実行出来るのですが、まだ何かパスを通さなければいけないのでしょうか?
それか、LinkStationにもSubversionをインストールしなければならないとかでしょうか。。
0085nobodyさん2009/09/18(金) 17:46:12ID:???
>>84
ディプロイ先にログイン(svnを実行できるケース)して
$ echo $PATH
$ which svn

次に、capistranoから
run 'echo $PATH'
してみたらどうなる?
0086nobodyさん2009/09/18(金) 18:21:16ID:LN3EfzwI
>>85
$ echo $PATH
/usr/lib/qt-3.3/bin:/usr/kerberos/bin:/usr/lib/ccache:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/tyn/bin

$ which svn
/usr/bin/svn

以上コマンド入力の結果です。

>>次に、capistranoから run 'echo $PATH' してみたらどうなる?
deploy.rbに run 'echo $PATH' というコードを記述すればよいのでしょうか?
間違っていたらごめんなさい。
0087nobodyさん2009/09/18(金) 18:36:03ID:???
あー、
$ cap invoke COMMAND='echo $PATH'
でいいや。と思ったが、/usr/bin/svn なら cap から実行したときも
見える可能性が高いな。

> excutable `svn' not present or not in $PATH on the local system!

んん、ローカル!?
0088nobodyさん2009/09/18(金) 18:51:18ID:???
>>84
> それか、LinkStationにもSubversionをインストールしなければならないとかでしょうか。。

え? LinkStation にリポジトリがあるって言ってなかったか?
0089nobodyさん2009/09/18(金) 19:16:52ID:???
>>84
>それか、LinkStationにもSubversionをインストールしなければならないとかでしょうか。。

file:でやってるなら不要。

0090nobodyさん2009/09/18(金) 19:19:19ID:LN3EfzwI
>>88
mkdir L:\demo
svnadmin create L:\demo

以上のコマンドを入力してリポジトリを作成しました。Windowsマシンからアクセスしているので、
LinkStationにはimportしたファイルしか置いてないです。。
0091nobodyさん2009/09/18(金) 19:20:45ID:???
L:はLinkStationで公開しているディスクをWindowsで見たときの
ドライブレターということでよろしいか?
0092nobodyさん2009/09/18(金) 19:25:55ID:LN3EfzwI
>>91
はい。
0093nobodyさん2009/09/19(土) 01:20:18ID:???
ruby script/generate model Blog name:string user_id:integer

generateスクリプトからマイグレーションファイルを作成する場合、カラムは型しか指定できないのですか?
ググってみてもドキュメント読んでもこんな感じの例しかない。
カラムごとに{:null => false, :limit => 100}みたいなオプションが使えると便利なのに。
0094nobodyさん2009/09/19(土) 04:02:31ID:???
>>93
generatorのテンプレート見れば一発でわかるが、名前と型のみ。
scaffoldのビューで必要な情報しか引数に取るようになってない。
0095nobodyさん2009/09/19(土) 05:19:30ID:???
>>93
> カラムごとに{:null => false, :limit => 100}みたいなオプションが使えると便利
全然便利じゃないと思うぞそれ
0096nobodyさん2009/09/19(土) 10:40:16ID:???
回答ありがとうございます。

>>94
なるほど〜やっぱりダメなんですね。
>>95
便利じゃないですか?
generate実行した後に、いつもマイグレーションファイルを修正するってのはRailsの精神に反してる気がしますけど。
0097nobodyさん2009/09/19(土) 10:58:04ID:???
>>96
じゃあ仮にカラムが20〜30あると仮定して
想定されるコマンドラインを頑張って書いてみてくれw
0098nobodyさん2009/09/19(土) 11:11:46ID:???
generate文で指定するのが大変な時は省略してデフォルト値にすればいいだけじゃないですか?
カラムが2〜3個しかないようなテーブルだってよくあることだし、そんな時はgenerate文で全部指定したくなる。
きめ細かく設定できるけど省略すればデフォルト値が用意されてるってのがRailsのスタイルだと思ってた。
0099nobodyさん2009/09/19(土) 11:36:25ID:???
そう思うなら直してpull requestでも投げとけ。
0100nobodyさん2009/09/19(土) 11:49:47ID:???
migrationを極力シンプルにして、バリデーションはモデルだけに書く派なので
今のジェネレータでとくに困ってないな
0101nobodyさん2009/09/19(土) 12:01:17ID:???
>>98
そんな generate が欲しいなら勝手に改造したら?
ただの rubyスクリプトだよ

で、すべての型の妥当なデフォルト値とやらを考えてみたらいいよ
0102nobodyさん2009/09/19(土) 12:24:18ID:???
型をデフォルトにするなんて誰も言ってないけど
0103nobodyさん2009/09/19(土) 12:35:58ID:???
確かに「誰も」言ってないw
0104nobodyさん2009/09/19(土) 12:47:51ID:???
「すべての型におけるオプションの妥当なデフォルト値」くらいか?
0105nobodyさん2009/09/19(土) 13:40:07ID:???
>>104
そう、そんな感じ。言い方が悪かった。

ruby script/generate model Book title(:string, null=>false, limit=>50) author(:string, limit=>50) description:string

これで
title・・・null不可、上限50文字
author・・・null可(デフォルト)、上限50文字
descriptionはnull可(デフォルト)、 上限255文字(デフォルト)
みたいに定義できたら便利だと思う。
0106nobodyさん2009/09/19(土) 18:39:42ID:???
>>105
全く便利じゃない
0107nobodyさん2009/09/19(土) 18:41:51ID:???
generate文(笑)
DSL じゃねえっつーの
0108nobodyさん2009/09/19(土) 18:51:00ID:???
>>105
シェルのメタキャラクタがむき出しなんですけど
0109nobodyさん2009/09/19(土) 19:04:05ID:???
個人的には>>105の考え方に同意。まぁ人によって感じ方は違うだろうけど。
0110nobodyさん2009/09/19(土) 21:29:58ID:???
>>105
django
0111nobodyさん2009/09/20(日) 01:35:43ID:???
↓こんな感じで、itemモデルのmy_text要素を編集画面で使ってるのですが

<% form_for(@item) do |f| %>
  <%= f.text_area, :my_text %>
<% end %>

このmy_text要素の「<br/>」という文字列を改行(\n)に置換したいのですが、
どうしたらいいでしょうか…。
そのmy_text内に<br/>を保持させるなというのは、要件なので無理です。

↓こう書き換えれば一応うごくのですが・・・もっとスマートにできるのかなぁと・・・
<%= f.text_area :my_text, {:value => f.object["my_text"].gsub("<br\/>", "\n") } %>

0112nobodyさん2009/09/20(日) 03:54:52ID:???
ヘルパーメソッドに変換用のメソッド作れば?
0113nobodyさん2009/09/20(日) 11:02:30ID:???
最初からHTMLを含まないテキストにしといて
表示するときにsimple_formatやauto_linkを使う手も。
0114nobodyさん2009/09/20(日) 13:07:43ID:???
理想は、データは本来の姿(HTML用に整形済みとかでない)で保持して
出力時に必要な処理をすることだけど、

> そのmy_text内に<br/>を保持させるなというのは、要件なので無理です。

「<br/>を保持させるなというのは、(保持するという)要件なので無理」
という意味か。

0115nobodyさん2009/09/21(月) 12:29:55ID:???
その要件自体無理なので実装不能で終了したら。
0116nobodyさん2009/09/21(月) 12:59:48ID:???
ここまでするくらいなら >>111 で十分という。

class BrSanitizer < HTML::FullSanitizer
  def process_node(node, result, options)
    if node.class == HTML::Text
      result << node.to_s
    elsif node.class == HTML::Tag && node.name == 'br'
      result << "¥n"
    end
  end
end

こんなサニタイザを作って、f.text_area_br2n とかいうメソッドの内部で
これを利用して整形する方法。
0117nobodyさん2009/09/24(木) 18:42:36ID:???
Railsでブログ(のようなもの)のプレビュー機能を実装したいのですが、足がかりのようなものはありませんでしょうか?
CRUDの編集画面で、データの編集した中身を確定する「送信する」ボタンのほかに、
「プレビュー」ボタンがあるイメージです。

どのように実装したものか?と…。

例えば、form_forで指定した「送信する」の他の「プレビュー」用のURLに送る方法はどうしたものでしょうか?

環境は、Ruby 1.8.7 Rails 2.3.4です。
0118nobodyさん2009/09/24(木) 22:04:34ID:???
submitの値で場合分けするんじゃない?
それとも、1つのフォームに複数のアクションを付けられるんだっけ?
0119nobodyさん2009/09/24(木) 22:27:45ID:???
ajaxとかどうでしょうか。
フォーム全部divで囲っておいて、プレビューボタンで表示
フォームはその時隠すようにする
01201172009/09/25(金) 08:15:42ID:???
>>118
なるほど…それなら、ボタン2つつけても、プレビュー用の表示ルーチンに持ってこられますね。

>>119
Redmineとか、MediaMarkerみたいなリアルタイムでポコッとプレビューが出現する感じでしょうか?

RailsでのAjaxはまだ全然やっていないので調べてみます。
form_for内のデータをそのまま渡せるのかなーとか疑問があったり・・・
0121nobodyさん2009/09/25(金) 17:00:44ID:???
ajaxならフォーム全体でも、一部でも問題なくpostできるけど
0122nobodyさん2009/09/25(金) 20:29:53ID:???
困っていることがあります。
論理削除プラグインのacts_as_paranoidと、階層構造を1つのformで保存したりするattribute_fu プラグイン
を導入しているのですが、

モデルHoge
 acts_as_paranoid
 has_many :foobars, :dependent => :destroy, :attributes => true
モデルFoobar
 acts_as_paranoid
 belongs_to :hoge
などとというように書いておくと、
Hogeをdestroyで消した時に、:dependent => :destroyにて関連付けたFoobar郡を同時に論理削除してくれるのですが、
中で freezeをかましているようでして、
:attributes => true をつけて attribute_fu の管理下においた状態だと、
Hogeをsave時に freezeされたfoobars を保存しようとして、

 can't modify frozen hash

などとエラーがでます orz
こういう状況を回避する方法はないのでしょうか?

destroyのときだけ、:attributes => true をなくす、というか、
attribute_fuで base.class_eval されている中の
 after_update :save_managed_associations
のフック処理(この中で該当のエラーが起きている)を回避する方法といいますか…。

acts_as_paranoidは下記のものを、
technoweenie's acts_as_paranoid at master - GitHub
http://github.com/technoweenie/acts_as_paranoid
attribute_fuは下記のものを利用しています。
giraffesoft's attribute_fu at master - GitHub
http://github.com/giraffesoft/attribute_fu/tree
0123nobodyさん2009/09/25(金) 23:26:44ID:???
rails1.2向けに書かれた本で、勉強してるのですが
インスコしたrailsが2.1.1ですた。エラーでて気づきました。
scaffoldの作法が変わってるんですね。

1.2なrailsをインストして、勉強したほうがいいですかね?
0124nobodyさん2009/09/25(金) 23:37:55ID:???
>>123
バージョンが違うと、また違うところでつまづくよ。
とりあえず、1.2のrailsをインストールして本を1冊終わらせる。
その後、最新のRailsでアプリを作っていくほうがいいと思う。
0125nobodyさん2009/09/25(金) 23:49:30ID:???
>>122
Railsの新しいの使ってんなら find のデフォルト値設定できたはずだから
1系用に苦し紛れに作られたような acts_as_paranoid はもう用無しじゃね?
と、適当にレスしてみる
0126nobodyさん2009/09/25(金) 23:50:52ID:???
ラジャ!
01271232009/09/26(土) 00:17:09ID:???
rails1.0向けだったわ・・
新しい本買うかな・・・
0128nobodyさん2009/09/26(土) 07:37:14ID:???
>>127
1.0なのか・・・
たしか、2.3対応の本が出ていたと思うので、それを買うほうがいいかもね。
「Ruby on Rails 2」ではじめるWebアプリケーション開発
ってやつ。
中身はちゃんと見てないので、良い本かは分からないけど。
0129nobodyさん2009/09/26(土) 11:20:40ID:???
2006年の本だが……、arton氏の
「かんたんRuby on RailsでWebアプリケーション開発」
は、特定のバージョンのRailsを本に添付して、それに沿って
教えるという体裁だったな。

新しめのでも似たような本はあるかもしれない。
0130nobodyさん2009/09/26(土) 11:23:52ID:???
>>122

> destroyのときだけ、:attributes => true をなくす
ではないけれど、フリーズ状態でなければ実行というアプローチで、

alias_method_chain :save_managed_associations, :freeze_check

def save_managed_associations_with_freeze_check
  save_managed_associations_without_freeze_check unless frozen?
end

とか出来ないかね
0131nobodyさん2009/09/26(土) 14:12:05ID:???
なっっげえええええええ
0132nobodyさん2009/09/26(土) 14:46:53ID:???
>>128
おいおい工学社のRails本を薦めるな。中身をちゃんと見てくれよ。
0133nobodyさん2009/09/27(日) 04:32:29ID:???
エラーが出たときだけproduction.logに出力させるのはどうすればいいのでしょうか?
今はすべてのアクセスが記録されてすぐ肥大してしまいます
一応毎日ログローテーションはしていますが、エラーだけ残せばサーバーリソースも節約できると考えました
よろしくお願いします
0134nobodyさん2009/09/27(日) 10:01:47ID:u6jeeNBu
environments/production.rbの中でconfig.log_level = :warn
0135nobodyさん2009/09/27(日) 14:40:48ID:gn9S1exE
Apache + Passenger でRailsプロジェクトを自宅サーバで公開しようと思い、Passengerをインストールしてhttpd.confを設定したのですが、プロジェクトのページが表示されません。
どうすればよいでしょうか?質問が抽象的ですいません。
0136nobodyさん2009/09/27(日) 14:45:56ID:???
うん。抽象的すぎる。それで分かればエスパー。
Passengerのインストール後、「以下の設定をせよ」と出てくるもの
だけでは設定終わらないよ。

0137nobodyさん2009/09/27(日) 17:21:16ID:???
>>135
抽象的になっちゃうけど、
Passengerのインストールかhttpd.confの設定が間違っているんだと思うんで
そこらへん見直すといいよ。
0138nobodyさん2009/09/28(月) 20:03:00ID:???
画像うpできるシステム作ってるんだけど、画像をバイナリでDBに持たすのと、
実ファイルとして保存するの、どっちがお好み?
0139nobodyさん2009/09/28(月) 21:16:33ID:???
業務アプリで、サーバを冗長化する予定があるなら悩む。

個人の趣味では面倒なのでファイルで持つ。アクセス制御とか出来るように、
DocumentRootには置かずに何らかのアクション経由で提供する。

0140nobodyさん2009/09/28(月) 23:15:21ID:???
>>139
ありがとうございます。
趣味アプリなので悩みましたが、やっぱdbにしますた。

↓この方法で、初回読み込み時はDBから、2回目はtempファイルから…という
考え方がすばらしい。
ttp://d.hatena.ne.jp/sakusan_net/20080411/1207932177
0141nobodyさん2009/09/28(月) 23:29:56ID:???
ファイルがたくさん追加される可能性があるなら、
ディレクトリをわけるのを忘れずにね
0142nobodyさん2009/09/28(月) 23:50:00ID:???
>>141
ファイル名は一意になるのですが、ディレクトリ分けた方がいいんですかね?
0143nobodyさん2009/09/28(月) 23:54:37ID:???
一般に、ディレクトリってのは、内包するファイルの数が増えると
パフォーマンスが落ちるのだよ。
ファイルデータのmd5sumの最初の2文字くらいで2層ディレクトリ
を掘るのをよく見るね。
0144nobodyさん2009/09/29(火) 00:07:29ID:???
5万ファイルくらいtouchしてからlsしてみるとわかるよ。
0145nobodyさん2009/09/29(火) 00:15:57ID:???
>>143-144
ありがとうございます。
非常に勉強になりました。
0146nobodyさん2009/09/29(火) 15:49:52ID:???
>>134
ありがとうございました!
0147nobodyさん2009/09/29(火) 18:24:03ID:???
text_field_tagやurl_forなどの初めからあるヘルパをちょっと拡張したい場合
どうやるのがいいのでしょうか。

module MobileFormHelper
 def self.included(klass)
  klass.class_eval do
   alias_method_chain :text_field_tag, :mobile
  end
 end
 def text_field_tag_with_mobile(name, value = nil, options = {})
  options = options.dup
  mobile_format = options[:mobile_format]
  if mobile_format
   options[:istyle] = ...
   ...
   ...
  end
  text_field_tag_without_mobile(name, value, options)
 end
end


こんなかんじでやってんだがうまくできないすっすー
0148nobodyさん2009/09/29(火) 19:19:13ID:???
>>139
> DocumentRootには置かずに何らかのアクション経由で提供する。

これはつまり、public以下(例えば public/images/upload )には置かず、
upload/ など見えないところにファイルを置いて、
コントローラーで画像を読み込んで返すようにするってことでしょうか?
アクセス制限が使えるけど、Rails返すと重くならないものかな?
0149nobodyさん2009/10/02(金) 07:08:55ID:???
Rails 3.0が1.8.7よりも前のバージョンをサポートしないと明言した
0150nobodyさん2009/10/02(金) 19:56:55ID:khUy0zA7
1.8.6のHashはバグ持ちだからか
0151nobodyさん2009/10/02(金) 20:13:30ID:???
>>150
なんかあったっけ?
0152nobodyさん2009/10/04(日) 00:57:03ID:jQSUCkZW
ttp://paulbarry.com/articles/2009/09/14/why-rails-3-will-require-ruby-1-8-7

1.8.7以降というのは半月前に公になっていたわけね
0153nobodyさん2009/10/04(日) 01:47:54ID:???
1.9.1+Rails2.3.2でアプリを作ったのだが、
2.3.4にしたら動かなくなってしまった。2.3.3では問題なかったのだが。
US-ASCIIなんたらとか言ってるから文字コードか。
はよ3.0出ろよ。出たら作りかえるから。
0154nobodyさん2009/10/04(日) 12:07:51ID:???
Rails 3 Update by Yehuda Katz on Vimeo
http://vimeo.com/6703956
0155nobodyさん2009/10/04(日) 22:12:35ID:???
ruby入門書を今日読み終えたおれに、最適なRoR入門書を教えてください。
0156nobodyさん2009/10/04(日) 22:39:39ID:ZAPGL++U
さくらインターネットのレンタルサーバーにruby on rails環境を構築しようとあれこれ試しています。
(参考URL http://nyon2.net/archives/2009/01/ruby-on-railsruby-on-rails.html )

sqlite3-rubyのインストールで躓きました。gemのインストールが失敗します
解決方法をご教授ください。
01571562009/10/04(日) 22:42:24ID:ZAPGL++U
量が多いため2つにわけました。実行結果は以下の通りです。
よろしくお願いします。

%setenv RB_USER_INSTALL true
%gem18 install sqlite3-ruby
Building native extensions. This could take a while...
ERROR: Error installing sqlite3-ruby:
ERROR: Failed to build gem native extension.

/usr/local/bin/ruby18 extconf.rb install sqlite3-ruby
checking for fdatasync() in -lrt... no
checking for sqlite3.h... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers. Check the mkmf.log file for more
details. You may need configuration options.

Provided configuration options:
〜オプションのため略しました。〜

Gem files will remain installed in /home/blueee/lib/ruby/gem/gems/sqlite3-ruby-1.2.5 for inspection.
Results logged to /home/blueee/lib/ruby/gem/gems/sqlite3-ruby-1.2.5/ext/sqlite3_api/gem_make.out
0158nobodyさん2009/10/04(日) 23:40:56ID:???
sqlite3 のコンパイルに必要なヘッダとか、
あとsqlite3自体が入っていることを確認するべき。
01591562009/10/05(月) 01:44:55ID:tqFfwgsk
早速ありがとうございます。

確認したところsqlite3自体は入っています。
%sqlite3 --version
3.6.14.2

sqlite3.hやライブラリも入っているようです。
%ll /usr/local/include/sqlite3.h
-rw-r--r-- 1 root wheel 254446 Jun 17 12:41 /usr/local/include/sqlite3.h

%ll /usr/local/lib/libsqlite3.so
lrwxr-xr-x 1 root wheel 15 Jun 17 12:41 /usr/local/lib/libsqlite3.so -> libsqlite3.so.8
0160nobodyさん2009/10/05(月) 01:50:05ID:???
じゃあ /usr/local がgem install時に使われない状態なんだろうね。

$ gem install sqlite3-ruby -- --with-sqlite3-dir=/usr/local
かな。
--with-sqlite3-lib とか --with-sqlite3-include もあるらしい。
0161nobodyさん2009/10/05(月) 01:55:19ID:???
「省略した」とあるオプションの中に>>160で書いたやつあるはずなんだよね。

01621562009/10/05(月) 03:26:41ID:tqFfwgsk
言われた通りやってみたらできました。
ありがとうございます!

%setenv RB_USER_INSTALL true
%gem18 install sqlite3-ruby -- --with-sqlite3-dir=/usr/local
Building native extensions. This could take a while...
Successfully installed sqlite3-ruby-1.2.5
1 gem installed

これってsqlite3のヘッダなどのパスがgemのデフォルトと違ってたってことなんですかね?
0163nobodyさん2009/10/05(月) 08:49:14ID:???
unix系でデフォルトなんて無いけどな。環境によって違うのが普通。
自分で鯖建てたりして、もうちょっと勉強したほうが。
0164nobodyさん2009/10/05(月) 12:41:34ID:???
prefixはデフォルトで探すようになってるはずなんだが。
つまりruby自身が/usr/localにインストールされてるなら/usr/localは見てるはず。
0165nobodyさん2009/10/05(月) 15:58:08ID:IPNAD5I/
Subversionを使ってコミット/チェックアウトする時にpublicフォルダのサブフォルダのいくつかを
更新しないようにしたいのですが、そのようなコマンドはあるでしょうか。
0166nobodyさん2009/10/05(月) 16:07:22ID:???
http://pc12.2ch.net/test/read.cgi/tech/1230488758/
Subversion r11
0167nobodyさん2009/10/05(月) 19:49:34ID:yk3Qebit
windowsで開発したアプリケーションをlinuxで運用したいんですが
どうすれば良いでしょうか?
0168nobodyさん2009/10/05(月) 19:57:45ID:???
>>167
日本語でok
0169nobodyさん2009/10/05(月) 20:13:31ID:???
ウィンドウズで開発したアプリケーションをリナックススで運用したいという意味です
0170nobodyさん2009/10/05(月) 20:21:28ID:???
>>169
いや、確かに英単語がカタカナにはなっているけどさwww
0171nobodyさん2009/10/05(月) 20:25:53ID:???
クススって馬鹿にされてるみたいだ
0172nobodyさん2009/10/05(月) 21:51:18ID:???
RubyとRailsの実行環境さえ用意できればあとはwindowsとかわらんよ
0173nobodyさん2009/10/05(月) 23:00:27ID:???
Windowsで開発したRailsアプリケーションでもLinux用の特別なデプロイは
必要ないと考えてよろしいのでしょうか?
0174nobodyさん2009/10/06(火) 00:09:18ID:???
特別なデプロイってのが意味分からん
何が気になってるのか具体的に言ってよ
0175nobodyさん2009/10/06(火) 00:19:49ID:???
あ、すみません
簡単に言うとWindowsで書いたソースコードをLinuxのルートにコピーするだけで
動くんでしょうか?
0176nobodyさん2009/10/06(火) 00:40:32ID:???
環境言ってくれなきゃ何もアドバイスしようが無いんだってば
Webサーバーは使うの?RubyとRailsのインストールと設定は終わってるの?DBは?
0177nobodyさん2009/10/06(火) 00:59:22ID:???
何度もすみません

開発環境はOSがWindowsVistaとXP。NetBeansを使おうと思っています。
実行環境はOSがUbuntu9.04。
開発実行環境ともRubyのバージョンは1.8.7、Railsは2.3.2です。
WebServerはApacheです。
DBはsqliteかMySQLどちらが良いか検討中です。
0178nobodyさん2009/10/06(火) 01:29:31ID:???
> Linuxのルートにコピーするだけ
ってほど簡単ではないけど普通はそのままのコードで動くよ。

あなたの文章からにじみ出てくる理解度だと、LinuxでRails環境を
作った経験があるひとに初めの1回だけお願いすることをオススメするよ。

0179nobodyさん2009/10/06(火) 01:37:49ID:???
ありがとうございます。

残念ながらシュミグラマのため、周囲にプログラミング出来る人や
Linuxに習熟した人は1人もおりません。
一応Ubuntu専用機および仮想マシン上でRails環境を自力で構築して
Linux状でScaffoldしたテストプログラムが正常に動くことは確認しております。
(Railsのバージョンで手こずりましたが)
が、指摘された件に関してはかなり不安があるのも事実なので
本格的な開発に入る前に質問させて貰いました。
まだたのしいRubyとRailsレシピを一回ずつ読んだ程度なので
もう少し準備しようと思います。
0180nobodyさん2009/10/06(火) 02:03:27ID:???
自力でLinux上のRails環境を作れたなら時間をかけて
頑張れば何とかできるのではないでしょうか。

Windowsでつくったアプリケーションも普通は問題なく動きます。
気をつけるのは、
・文字コードはUTF8
・改行コードに気をつける
・ファイルシステムのディレクトリ区切り文字
・ファイルのテキスト/バイナリモード
・その他Windows依存のこと
ぐらいかなあ。

頑張ってください。
0181nobodyさん2009/10/06(火) 02:33:02ID:???
お節介だけど、サイト構築だけが目的の趣味プログラマならそれでいいけど
プログラミングを勉強したいという趣味プログラマならLinux環境で開発することをお勧めする。
0182nobodyさん2009/10/06(火) 02:45:11ID:???
I think so
0183nobodyさん2009/10/06(火) 07:38:34ID:???
>>181
ターミナルへのお誘いきたぁ
0184nobodyさん2009/10/06(火) 08:36:54ID:???
>>180
重ね重ね、ありがとうございました。

>>181
時間と環境と勘案して検討してみます。
0185nobodyさん2009/10/06(火) 09:45:34ID:???
Poderosaおすすめ、Puttyもいいけど。
0186nobodyさん2009/10/06(火) 11:31:18ID:???
UTF-8 TeraTerm だろ JK

Putty は、いろんな便利な機能があるけど、いまいちなじめない。
0187nobodyさん2009/10/06(火) 13:06:28ID:???
Linux環境で開発した方が結果的に時間も短くて済むよ
0188nobodyさん2009/10/06(火) 14:21:23ID:???
いやそれは無いわ
emacs暦8年ぐらいだけどeclipse開発の方が効率は上だぜ
0189nobodyさん2009/10/06(火) 14:41:07ID:???
WindowsのRuby遅いからなぁ
ちょっとした事も遅いから、Linuxの方が良いな
0190nobodyさん2009/10/06(火) 20:25:04ID:???
NetBeansで開発だからjrubyだよ
ネイティブ版使うより安定した環境だと思う
使ったことないけど
0191nobodyさん2009/10/06(火) 20:32:13ID:???
ねっとびーんずって何?美味しそう
0192nobodyさん2009/10/06(火) 22:28:07ID:???
Windowsで開発なんて難易度高すぎる…
0193nobodyさん2009/10/06(火) 22:34:04ID:???
俺の想像ではあるが、10年後、20年後にはCUIでの開発ってレアな
存在になっていると思うぞ。
0194nobodyさん2009/10/06(火) 22:38:03ID:???
>>191
UTF-8でいうと仙豆です
0195nobodyさん2009/10/06(火) 22:58:26ID:???
CUIコンパイラも新しくなるんだろうか?
0196nobodyさん2009/10/07(水) 05:36:01ID:???
ここって質問して良いのかな。

passengerをインストールしてとりあえずhttpd.confにLoadModuleとPassengerRoot
とPassengerRuby書いてApache再起動したら(バーチャルホストは書いてない)、
Apacheがセグメンテーション違反で落ちるようになりました。
エラーログ見ると「PassengerRoot configuration option is not specified」と
なっているのですがPassengerRootはコピペしただけ。何となくわざと間違った
パス指定してみたら「passenger-spawn-serverがないよ!」ってエラーが出たん
ですが、なぜ正しいパスだとエラーが違うのか……
あと気になったのは間違ったパス指定するとpassenger以下のlibにpassenger-spawn-server
探しに行ってるんですが、passenger-spawn-serverがあるのはbinの中だよ……
こんなんでハマった人、他にいますか?
いちおう、rails2.3、passenger2.2.5。apacheは2.0.46です。
0197nobodyさん2009/10/07(水) 08:15:30ID:???
少なくとも設定が間違っているならプログラムがエラーを検出して
起動に失敗したりするはずで、それがセグメンテーション違反で落ち
てしまうのは、プログラム自体のバグかモジュール作りで失敗しているか。


0198nobodyさん2009/10/07(水) 08:27:32ID:???
教祖がデビアンで開発してるから、リナクスで開発したほうが簡単だよ。
わざわざウィンドウズで苦労しなくても。

インストールミスだな。
インストール方法でも張ったら誰か添削してくれるかもな。


http://pc11.2ch.net/test/read.cgi/php/1244038749/
△▲ WebProg 初心者の質問 Part19 ▼▽
http://pc11.2ch.net/test/read.cgi/php/1158647441/
くだらない質問でもど偉そうに聞いていいスレ
http://pc11.2ch.net/test/read.cgi/php/987560391/
初心的な質問なのですが・・・・
0199nobodyさん2009/10/07(水) 11:13:28ID:???
>インストール方法

了解。ってもごく普通に
gem install passenger
して
passenger-install-apache-module
しただけです。ちなみにwindowsじゃなくてlinux。red hat enterprise es 3だけどです。
今日は関係すると思われるファイル全部消して1からやり直したけど失敗。全力で諦めムードです。レスくれた人、dクス。
02001992009/10/07(水) 11:14:38ID:???
だけどです、ってなんだ。焦るな俺。
0201nobodyさん2009/10/07(水) 11:35:16ID:???
その手の実行時エラーでありがちなミスで、
ビルド時に使用したライブラリと、実行時に読み込むライブラリが異なる、ってのがあるけど、
その辺は確認したの?。lddとか、ld.conf関連変数をチェックするとか。

あるいは自分で関連ライブラリを変なとこに入れてない? /home とか /usr/local/hoge とかに。
で、ビルドに使ったユーザアカウントだけLD_LIBARY_PATHとかを設定して、
Apacheのプロセスにライブラリの場所を教えずに実行しようとしてるとか?
0202nobodyさん2009/10/07(水) 11:36:21ID:???
ld.confってなんだ。ld.so関連変数だ。焦るな俺
0203nobodyさん2009/10/07(水) 17:53:45ID:3DfRmTbM
自宅と職場で開発したいんですけどPCがwindowsで
リモートとかはできない環境です。
C#はプロジェクトフォルダごとUSBメモリにコピーして
両方で使用してたんですが、Railsだとどうするのが簡単でしょうか?
0204nobodyさん2009/10/07(水) 18:33:55ID:???
まえにJRuby + JasperReport で帳票印刷できんかなぁ、とか言ってたモンだけど...
結果、まぁ出来そう。

ただCRailsのバックグランドでJRubyを動かす場合、JRubyにはforkがないんで、Backgroundrbは動かない。
JRuby対応のbackgroundrb代替品を探すか、自前のDRbサーバをrunnerで動かすかする。
kovyrin-loopsっていうのがgithubにあるけど、これはJrubyで普通に動く。
まぁ中身はシンプルってか大したことはしてないけど。

>>203
なんらかのSCMのリポジトリをUSBメモリに入れて持ち回せば?
0205nobodyさん2009/10/07(水) 19:36:32ID:???
passenger-spawn-server は自分で作らないとだめ
空のファイルで実行権限があればおk
だった気がする
0206nobodyさん2009/10/08(木) 00:33:25ID:???
passenger-spawn-server を自分で作ったことなんて一度もねえよ
0207nobodyさん2009/10/08(木) 01:09:08ID:???
rails.vimのメジャーバージョンアップ

rails.vim - Ruby on Rails: easy file navigation, enhanced syntax highlighting, and more : vim online
http://www.vim.org/scripts/script.php?script_id=1567
rails.vim script version4.0
0208nobodyさん2009/10/08(木) 04:13:15ID:???
emacsでrubyとかrails補完できるものってないの?
ruby-mode.elとかってインデントとか色を制御するだけだよね?
0209nobodyさん2009/10/08(木) 10:42:37ID:???
>>134
>environments/production.rbの中でconfig.log_level = :warn
をやったのですが、相変わらずすべてのログが記録されてました…

config/environment.rbにもconfig.log_level = :warn してみましたが変わりません
passenger使ってるのですが、関係ありますでしょうか?
0210nobodyさん2009/10/08(木) 12:35:05ID:???
webserver再起動した?
0211nobodyさん2009/10/08(木) 15:36:17ID:???
>>203
mac買え、ノートタイプでもいいから
最初からインストールされてて優秀なエディタTextMateもあるから初心者にとって超簡単。
0212nobodyさん2009/10/08(木) 16:12:20ID:???
補足。
・(Railsが)最初からインストールされてて
・優秀なエディタTextMateも(シェアウェアで)ある
0213nobodyさん2009/10/09(金) 00:21:52ID:???
>>208
あるよ
0214nobodyさん2009/10/09(金) 03:10:21ID:???
railsって10分でブログが作れるらしいね。
ということは相対的に考えて100万ぐらいの軽い案件は2〜3日で出来るわけか
1週間で1案件として月400万、年収5000万は堅いな
夢ひろがりんぐ!
0215nobodyさん2009/10/09(金) 07:49:14ID:???
>>214
おめーさてはバカだろ?
0216nobodyさん2009/10/09(金) 11:50:00ID:???
>>215
おい、スルーしろ
単なる釣り針に引っかかるんじゃねYO
0217nobodyさん2009/10/09(金) 17:25:38ID:???
AWDwR3rdの邦訳はいつ出るのかな.
原著発売日にはすでに日本語への翻訳が始まってると
著者が書いてたけど,それ以降なにもわからんのです
0218nobodyさん2009/10/09(金) 17:32:15ID:???
3rd は初期 Rails 2 だから、今更出るのは問題あるからじゃないかな。
0219nobodyさん2009/10/10(土) 08:11:21ID:???
Railsやるのに英語避けられないから
両方の勉強のつもりで読んだら?
0220nobodyさん2009/10/10(土) 08:12:18ID:???
避けられる
0221nobodyさん2009/10/10(土) 14:02:22ID:k2nLAcqK
RESTfulの利点ってなんですか?
アクションのみで遷移してほうが簡単だと思うのですが…

0222nobodyさん2009/10/10(土) 14:54:39ID:???
>>221
「リソースとそれに対するCRUD」という形でモノを考えることを
強制されることだと思っている。
02232212009/10/10(土) 15:15:46ID:k2nLAcqK
>>221
強制されることで生じるメリットはどのようなものがあるのですか?

RESTfulに作成されたアプリのイメージがわかないです。
scaffoldで作成されるほど単純なアプリってあまりないような気がします。

02242212009/10/10(土) 15:16:52ID:k2nLAcqK
アンカー間違えました。
222の方に対する質問でした。
0225nobodyさん2009/10/10(土) 18:06:20ID:???
個人でやってる範囲だけど…

URL設計に何の制約もなければ、要望に対して一番素直と思える形
で機能を追加していってしまうことが出来て、アプリケーションが
老舗温泉旅館状態のカオスになるおそれがある。

RESTを意識すると、ある問題を、どんなリソースを用意して、どの
HTTPメソッドを送る形に分類出来るか、事前に意識する必要が出て
くるので、全体のURL構成が見渡し易くなる。

RESTが、というよりは、何かの型に自らはまることのメリットだな、こりゃ。
0226nobodyさん2009/10/10(土) 18:19:41ID:???
根拠は無いけどRESTは名前が浸透する前に廃れると思う
0227nobodyさん2009/10/10(土) 20:14:30ID:???
浸透してるからRailsで採用されたんじゃなくて?
0228nobodyさん2009/10/10(土) 21:01:24ID:???
浸透させたくなったDHHがRailsに採用したという感じではないかな。
0229nobodyさん2009/10/10(土) 21:40:48ID:???
RESTが浸透してないとか言ってるやつは、WebAPIでなんか作ってみれば?
0230nobodyさん2009/10/10(土) 21:50:07ID:???
なんちゃってRESTも多いからなー。
0231nobodyさん2009/10/11(日) 01:12:46ID:???
最近の技術はほとんど名前の後付けに過ぎないからな
0232nobodyさん2009/10/11(日) 03:54:40ID:???
ajax
cloud
0233nobodyさん2009/10/12(月) 00:31:02ID:???
型に自らはまっておくと、
link_to("詳細", record) だけで詳細へのリンクになるのが便利
0234nobodyさん2009/10/12(月) 11:26:41ID:w/VULtBT
RESTfulに書くときってコントローラとモデルが1対1になる感じですよね?
0235nobodyさん2009/10/12(月) 14:10:05ID:???
マク使うとか馬鹿過ぎw
どうせ鯖はリナックスなんだから、PC買ったほうがいいよ。
0236nobodyさん2009/10/12(月) 18:31:42ID:???
>>235
意味不明
0237nobodyさん2009/10/12(月) 19:21:15ID:PIBBLJL/
has_many関係にある2つのモデルに対して情報を登録するフォームにおいて、
error_messages_forでエラーを表示すると、2つのモデルのエラーがまとめて表示されてしまいます。
一方のモデルのエラーだけを表示するような方法はあるのでしょうか?
0238nobodyさん2009/10/12(月) 19:38:28ID:???
エラーを伏せたいほうのオブジェクトの #errors.clear でどう?
0239nobodyさん2009/10/16(金) 05:53:31ID:tsHntjAe
rubyスレで間違えて質問してしまいました。本家で質問です。

mysqlのデータを単純にcontrollerでfindで取り出してviewで表示させようとしています。
しかしブラウザでの表示が文字化けならいざ知れず、「#」になってしまいます。
具体的にページのソースを見てみると、その部分は、

#<Book:0x24319ec>

となっています(Bookテーブルのものを取り出して表示しようとしています)。
文法はコントローラで@book = Book.find(params[:id])とし、
ビューで <%=h @book.title %> という風にしているので合ってるのではないかと思っています。

(ビューでp してみたところ、ターミナルには [#<Book id: 1, title: "hoge">] となっているので、
途中までは正常に取り出せているようなのですが、ブラウザ表示のところでこうなってしまって大変悩んでいます。

macosxでMAMPを入れ、いざ開発をしようと決めたところでこのエラーです。
railsのバージョンは2.3.4です。
誰か解決策をご存知の方ご教授おねがいします。よろしくお願いします。
0240nobodyさん2009/10/16(金) 06:57:43ID:???
mysqlの文字コード設定がsjisとか?
0241nobodyさん2009/10/16(金) 07:07:43ID:???
>>239
controllerのクラス名か、ファイル名がおかしいんじゃね?
0242nobodyさん2009/10/16(金) 09:10:01ID:???
p の結果が配列に見えるんだが。
0243nobodyさん2009/10/16(金) 10:54:54ID:???
githubとかで手軽にソース公開できるようになればこんな問題も即解決
0244nobodyさん2009/10/16(金) 11:34:38ID:???
>>239
ソース上 #<Book:0x24319ec> となっているなら、
<%= @book %> と書いてしまっているはずなんだが。
02452392009/10/16(金) 13:05:10ID:tsHntjAe
>>240-244

ありがとうございます。
文字コードはutf-8になっています。クラス名も全部チェックしました。
ちなみに今朝、テーブル名を変えてみたらうまくいきました。
テーブル名を戻してみるとできません。いまだ謎です。

とりあえず解決はしたので、良かったです。みなさんありがとうございました。
0246nobodyさん2009/10/16(金) 13:15:33ID:???
すいません、↑はテーブル名ではなく、カラム名です。
0247nobodyさん2009/10/16(金) 13:25:38ID:???
単純な名前にして予約名とかぶってたんだろ
0248nobodyさん2009/10/16(金) 13:31:02ID:???
<%= debug @book %> も地味に役に立つことがあるよね。
0249nobodyさん2009/10/16(金) 13:32:05ID:???
>>247

実際は挙げた例とは違い、最初はカラムも変数もnameでしてたのですが、ほかに変えるといけました。
昔はnameでいけた気がするのですが。。。わかりません。
0250nobodyさん2009/10/16(金) 18:50:52ID:???
昔はmysqlだったが、いまはsqlightがデフォルトで、その違いのせいとか?
0251nobodyさん2009/10/16(金) 22:13:12ID:???
つーか、エラーが起きたんなら別の例に置き換えずに
そのまま上げてくれや…
0252nobodyさん2009/10/16(金) 23:30:47ID:???
>>250

いちよう
% rails sample10 -d mysql
でプロジェクトを作ったので大丈夫だと思うのですが。ありがとうございます。

>>251
おっしゃる通りです....rubyスレの方で質問させていただいたもので答えていただいたときに、
titleカラムで指摘していただいたので、具体的にそのまま上げてしまいました。
まさかそこは関係ないだろうと思っていたので。浅はかでした。混乱させてすいません。
0253nobodyさん2009/10/17(土) 05:14:42ID:???
いちよう
0254nobodyさん2009/10/17(土) 18:18:42ID:???
マカってホント情報弱者だなw
0255nobodyさん2009/10/17(土) 18:51:19ID:???
いちょう
0256nobodyさん2009/10/18(日) 00:59:25ID:???
ひぐち
0257nobodyさん2009/10/18(日) 14:09:03ID:???
J^ω^し
0258nobodyさん2009/10/18(日) 14:45:29ID:???
カッター
0259nobodyさん2009/10/19(月) 22:30:30ID:BV3oZVvu
Railsでファイルをアップロードして取り込む方法は分かるのですが、URLからWeb上のファイルをダウンロードするようなコードはどう書けばいいですか?
0260nobodyさん2009/10/19(月) 22:34:25ID:???
>>259
ダウンロードさせるのがRailsアプリで
ダウンロードするのがブラウザ?

ActionController::Base#send_data
ActionController::Base#send_file

0261nobodyさん2009/10/19(月) 23:19:48ID:BV3oZVvu
>>260

はい。ブラウザからアクセスして、Railsアプリに保存させます。
send_data, send_file試してみます。有難うございました。
0262nobodyさん2009/10/20(火) 01:18:43ID:???
URLって画像の直リンか?
0263nobodyさん2009/10/20(火) 01:19:24ID:???
それとも画像サイトのurlを指定して画像をrailsで保存したいのか?
0264nobodyさん2009/10/20(火) 02:07:36ID:E10g0f4b
まず直接リンクから取り込もうと考えています。いずれはサイトのurlを指定して取り込みたいですが、
こちらは何だか難しそうな気がするんですよね。。
0265nobodyさん2009/10/20(火) 02:34:32ID:???
public以下、もしくはapacheがよきにはからってくれる場所にファイル
を配置して構わないなら(アクセス制御とかいらないなら)、単にファイル
を置くだけでRails側では何もしなくていいよ。
0266nobodyさん2009/10/20(火) 09:19:41ID:???
open-uriじゃないの
0267nobodyさん2009/10/20(火) 09:20:39ID:???
え、アプリがどこかのサイトからhttp getするの?
0268nobodyさん2009/10/20(火) 10:15:42ID:E10g0f4b
例えばurlをフォームにコピペしてダウンロードボタンをクリックすると、
画像なりpdfファイルがパソコンに保存される、というWebアプリを想定しています。
0269nobodyさん2009/10/20(火) 10:42:16ID:???
既出だけど、そういうアプリなら、整理すれば
指定されたURLからダウンロード => open-uriライブラリ
ブラウザに結果を返す => send_dataメソッド
となる。
0270nobodyさん2009/10/21(水) 05:37:40ID:???
素直にリダイレクトするだけのほうが簡単の様な。
0271nobodyさん2009/10/21(水) 10:16:15ID:YXYYyrvA
urlからファイルを保存する時はダイアログを出現させずに、
保存先のフォルダも手動で指定せずに自動でやってほしいなと思いまして。
0272nobodyさん2009/10/21(水) 14:52:08ID:???
それはブラウザ依存だし、Rails関係ない
0273nobodyさん2009/10/21(水) 17:32:30ID:???
OSXだけの話題ですみません。昨日、Snow Leopardを入れたら、Railsがこけました。
ググると当然のように情報があったので、その通りやってみたのですが、MysqlもSqliteも
動きません。やっぱり、上書きインストールは止めとけばよかったかな。(しかもTigerから)
クリーンインストールしてみて、また報告したいと思います。
0274nobodyさん2009/10/21(水) 21:05:25ID:???
>273
ただの愚痴ならはてなにでも書けばいいのに。
0275nobodyさん2009/10/21(水) 22:44:47ID:???
sproutcoreってどうよ
0276nobodyさん2009/10/21(水) 23:32:09ID:???
なにそれ?

とりあえずググるのめんどくさいから解説しれ
0277nobodyさん2009/10/22(木) 03:15:44ID:???
マカってホント情報弱者だなw
マクってアンインストールも無いポンコツOSだから大変だwww
0278nobodyさん2009/10/22(木) 08:14:36ID:???
ごみ箱に捨てるとアンインストールだよ ^ ^
0279nobodyさん2009/10/22(木) 10:21:14ID:KXOXFRLn
open-uriについて回答有難うございました。試しにRubyでスクリプトを書いてみたのですが、どうも上手くいきません。

require 'open-uri'

open ("http://www.fusokk.co.jp/ir/2009/010.pdf") {|io|
open("fuso_blance_sheet.pdf", "w") {|f|
f.write(io.read)
}
}

上記のコードを実行すると真っ白なpdfファイルが作成されます。また、pdfファイルを画像ファイルに変更しても破損した画像ファイルが作成されます。
open-uriでアクセスしたファイルの正しい保存の仕方(作成の仕方?)を教えて頂けないでしょうか。よろしくお願いします。
0280nobodyさん2009/10/22(木) 10:27:34ID:???
>>279
Mac(UNIX)で普通に出来たけど、windowsだとバイナリモードとか
意識する必要があるかも。
0281nobodyさん2009/10/22(木) 11:01:09ID:KXOXFRLn
>>280

バイナリモードでいけました。有難うございます!
0282nobodyさん2009/10/22(木) 11:11:37ID:???
基礎知識足りなすぎだろ、
こうゆうのを砂上の楼閣・・・・
0283nobodyさん2009/10/22(木) 12:16:08ID:LmLblO9Z
>>281
Railsやる前にRubyの入門書を一通り読んだ方がよい気がする
0284nobodyさん2009/10/22(木) 12:17:58ID:???
C言語やれ!
0285nobodyさん2009/10/22(木) 12:48:35ID:???
アセンブラ学べ
0286nobodyさん2009/10/22(木) 12:54:03ID:???
まじでアドバイスするとC#あたりがいい
どうしてもRubyでやりたいってことならそれもありだと思うが
ただどの言語やるにしても基本くらい勉強しろ
0287nobodyさん2009/10/22(木) 19:32:24ID:???
まあrubyの基礎を一通り遣ればいいだけ。いきなりRoRじゃなあ。
0288nobodyさん2009/10/22(木) 21:32:58ID:???
railsの本はrubyの事はさっと基本的なことは書いてあっても
それなりに使うには言語自体覚えてこなきゃな
0289nobodyさん2009/10/22(木) 21:56:01ID:???
正直C#の方が素直で憶えやすいと思う
0290nobodyさん2009/10/22(木) 21:57:41ID:???
自分の勝手なイメージかもしれんけど
多言語でバリバリ書いてる人が
その知識をもとにすいすい書くのがRubyだと思う
0291nobodyさん2009/10/22(木) 21:58:38ID:???
ミス
×多言語○他言語
0292nobodyさん2009/10/22(木) 22:05:12ID:???
むしろ、プログラミング初心者とか初学者の方が
Rubyの変態仕様はなじみやすいと思う
C系やってたやつがVBのコード見たら発狂するのと同じ
0293nobodyさん2009/10/22(木) 22:15:00ID:???
Rubyが変態とかwww
一番素直な言語だと思うんだが
0294nobodyさん2009/10/22(木) 22:21:06ID:???
柔軟すぎて気持ち悪いって言う人がいるのはまあわかる
0295nobodyさん2009/10/22(木) 22:26:39ID:???
VBでなぜ発狂するのかわからん。普通にわかるし
Perlあたりでみかけるすばらしく圧縮されたコードならわかるが
0296nobodyさん2009/10/22(木) 22:52:10ID:???
変数のほうに型がないと不安なんじゃない?
0297nobodyさん2009/10/22(木) 23:17:12ID:???
CとRubyの基礎的な本は読んだのですが、読み落としがあったり忘れたりしてしまうんですよね。
そこでRailsでアプリを作ればプログラミングも覚えていけると思いました。
Webアプリ以外だとどういうものを作るか思いつかなくて、CやC++は勉強が進んでいないです。。
0298nobodyさん2009/10/22(木) 23:19:31ID:???
マインスイーパ
次にソリティア
0299nobodyさん2009/10/22(木) 23:23:17ID:???
>297
100マス計算
計算100 (脳トレに入ってるアレ)
じゃんけんゲーム
数独問題生成
数独を解く

上三つが簡単。

0300nobodyさん2009/10/23(金) 00:46:33ID:???
英語読んだだけで覚えないだろ?使えないし、しゃべれないし
どんどん使って行かなきゃ名
0301nobodyさん2009/10/23(金) 00:51:03ID:???
>>297
ちょうどいいサイトがある。
Ruby のサンプルプログラム投稿サイト - Masaru
http://projects.netlab.jp/masaru/

ここにどんどん投稿しろ、いやしてください。(m´・ω・`)m
0302nobodyさん2009/10/23(金) 09:29:47ID:???
人気のあるサンプルプログラム
1. String#* /
同じ文字列を複数並べて表示する。 47pt | 2008-08-23

(;^ω^)
0303nobodyさん2009/10/23(金) 12:14:31ID:???
レベル低すぎてワラタ
0304nobodyさん2009/10/23(金) 12:55:13ID:???
>>303
ばか、>>297用へのリンクだとなぜlogを読まん?
0305nobodyさん2009/10/23(金) 17:53:28ID:???
フォームから取得した値をコントローラで受けとって、何もせず再度表示させたいと思い以下のコードを書きましたが、何も表示されません。

ビューのコード

<% form_tag :action => 'name' do -%>
<p>NAME
<%= text_field_tag "t_field" %><br/><br/>

<%= submit_tag "作成" %>
<% end -%>

<%= @name %></p>

コントローラのコード

def name
@name = params[:t_field]
redirect_to :action => 'list'
end

:action => 'list' のlistは、scaffoldで作成されるlistです。

テキストフィールドの値を受け取るコントローラのコードが間違っているのでしょうか、
それとも<%= @name %>としただけのビューのコードが間違っているのでしょうか?
どなたか教えて頂けないでしょうか。よろしくお願いします。
0306nobodyさん2009/10/23(金) 18:12:39ID:???
ruby script/server -u
でデバックモードで起動してくれるからログ見ろ
0307nobodyさん2009/10/23(金) 18:22:29ID:???
HTML間違ってる訳だが
0308nobodyさん2009/10/24(土) 01:13:38ID:???
リダイレクトしたらフォームの値は消えるだろ。
GETでパラメータ渡すか、セッション使わない限り。

ビューといっているのが、list.html.erb(またはlist.rhtml)なのであれば、
render :action => :list
で動くだろう。
もし、違うファイル名(例えば、name.html.erbとか)だったらそれを指定する必要がある。
03092732009/10/24(土) 20:56:08ID:???
ただの愚痴とか情報弱者とかご指摘をいただきました>>273でございます。
Snow Leopardのクリーンインストールをしたところ、問題なく動く
ようになりましたので、ご報告させていただきます。
あちこちに書かれている通り、Mysqlの64ビット版をインストール、
mysql gemを-arch x86_64フラグ付きインストールでうまくいきました。
やっぱり、OSのアップグレードのような作業で手間を惜しむと後でよけいに苦労
することが多いのは世の常ですね。
0310nobodyさん2009/10/24(土) 22:59:57ID:???
gem入れ直すだけで十分だったのに
0311nobodyさん2009/10/25(日) 05:56:11ID:???
>>308

パラメータ消えるんですね。知らなかったです。
リダイレクトとレンダーの違いがよく分かってなかったです。
回答有難うございました。
0312nobodyさん2009/10/26(月) 18:27:15ID:???
マカってホント情報弱者だなw
0313nobodyさん2009/10/27(火) 17:37:01ID:???
既存DBがあって、それを利用してwebアプリをつくりたいのですが、
テーブル命名規則がRubyonRailsに完全に沿ってない。(idがauto_incrementとかは沿っている)
テーブル自体の命名規則はmodelsにset_table_nameで入れればエイリアスだと
認識してくれるので問題ないわけですが、
問題はカラムorz
リレーションを張ってあるカラム名が適当なため、
カラム名にエイリアスを乗っけたいのですが方法はありますかね?
hogeテーブル      fugaテーブル
-------------   ----------------
id                id
title              h_id ←これが「hoge_id」であってほしかった
created_at        contents
updated_at        created_at
                 updated_at
既存TBLが「h_id」で、railsの命名規則だと「hoge_id」でなきゃいけないのだけれどもカラム名の変更はできないという…
できそうなんだけどググっても不明ですどなたか教えて頂けませんか
0314nobodyさん2009/10/27(火) 18:34:14ID:???
こういうのならば
belongs_to :folder , :foreign_key => "h_id"

ここの真ん中らへんにあります
http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html
Specify the foreign key used for the associationで検索してください

0315nobodyさん2009/10/27(火) 18:34:38ID:???
:foreign_key
0316313 2009/10/27(火) 19:15:30ID:???
>>314
>>315
おおおうああできました!
ありがとうございます。
そうか、foreign_key でカラムに固有名をつけてあげればいい、ということなんですね。
すっかり凝り固まっていて思い至りませんでした。ありがとうございました!
0317313 2009/10/27(火) 19:21:50ID:???
あああちがう、foreign_keyで外部キー名を指定してあげる、ですね
理解が浅くて申し訳ないです
0318nobodyさん2009/10/28(水) 14:26:55ID:/NsMtcRB
>>317
そのDBを、新しく作るrailsアプリからしか使わないんだったらマイグレーションでDBの定義変えちゃった方がいいと思うけれど。

foreign_key使うより個人的にはそっちの方がrailsのやり方に沿ってて好き。というかカラムの名前がrailsの命名規則に従ってないのって気持ち悪くない?まぁ人それぞれだと思うけど。
0319nobodyさん2009/10/28(水) 16:11:34ID:???
そんなこと出来る環境なら誰だってそうするだろ。
既存DB弄れないのはよくあること。
03203182009/10/28(水) 17:48:49ID:/NsMtcRB
>>そんなこと出来る環境なら誰だってそうするだろ。
>>既存DB弄れないのはよくあること。
まぁだからもちろん、「そのDBを、新しく作るrailsアプリからしか使わないんだったら」なのだけれど。
313が業務じゃなくて個人的に色々作ってる人のような気がしたので、
だったらDBの定義変更もできるんじゃないかなと思って。なんとなく。
0321nobodyさん2009/10/28(水) 17:57:57ID:???
質問よろしいでしょうか?

うまくいきません、どうやったらよいものでしょうか?
0322nobodyさん2009/10/28(水) 17:59:40ID:???
よいよい詳しく申してみなさい
0323nobodyさん2009/10/28(水) 18:00:59ID:???
すいません、質問の中身書き忘れました・・・

form_forとsubmitで、同じフォームのデータに「送信」ボタンと「送信とプレビュー」ボタンの2つをつけたいと思っています。
「送信」ボタンでは、/hage に送信し、
「送信とプレビュー」では /hage/preview に送信し別窓で開きたいと考えています。

どのように実現するのが早いでしょうか?
JavaScriptを絡めないと無理なものでしょうか?
0324nobodyさん2009/10/28(水) 19:55:21ID:???
>>323
submitを一つのformに複数置く場合、アプリではsubmitを名前で
区別して動作を変えることができる。

結果表示の方だが、確か、formにも target="_blank" を指定できたと
思う。ただし、今回は、一つのformの複数のsubmitという条件なので、
片方のときだけ、実際にサーバにデータを送る寸前にtargetをすり替える
ようなJavaScriptを用意する必要があると思う。
0325nobodyさん2009/10/29(木) 09:41:06ID:???
>>324
サンクス

そっか、submitの名前で区別して別の処理すればいいか
target="_blank"相当のボタン押下時の埋め込みですが、JavaScript試してみます。
というか、ちょっと試してみて、上手く言ってないので、JavaScript関連スレでお聞きしたいと思います。

ありがとうございました
0326313 2009/10/29(木) 11:06:29ID:???
>>318
>>319
提案とお気遣いありがとうございます。
使用しているDBは別のフレームワークで利用しているもので、
それにRailsで拡張アプリみたいにしてみたかったのでカラムの変更なしが前提でした。
でも本来ならばRails方式に変更した方がいいし、別フレームワークでもRailsと同じ方式でカラム命名ができるので、
Rails側アプリが巨大化する前に手をうとうと思います。
Railsの生産性の高さに元アプリから作り直しそうな勢いですw
0327nobodyさん2009/10/30(金) 02:39:16ID:???
3.0って1.9.2が出たあとか?来年の4月に洋書で本が出るようだが
2系で作って大幅改修が嫌だから待ってるのだが遅すぎるわ
0328nobodyさん2009/10/30(金) 02:43:45ID:???
>>327
洋書はどこから出るの?
0329nobodyさん2009/10/30(金) 07:45:24ID:???
>>328
これのつもりだったが
http://www.amazon.co.jp/Professionelle-Webentwicklung-mit-Ruby-Rails/dp/3826655400/ref=sr_1_10?ie=UTF8&s=english-books&qid=1256856141&sr=8-10

これはもうすぐ出るんだな
http://www.amazon.co.jp/Beginning-Rails-Jeffrey-Allan-Hardy/dp/1430224339/ref=sr_1_1?ie=UTF8&s=english-books&qid=1256856141&sr=8-1

よく見たら上のはドイツ語だった・・・
0330nobodyさん2009/10/30(金) 08:21:29ID:???
ぶっちゃけその3はRails3じゃなくて、本自身の第3版じゃないか?
0331nobodyさん2009/10/30(金) 08:22:43ID:???
失礼、英語の本のほうはRails 3か。
0332nobodyさん2009/10/30(金) 12:38:37ID:???
ActeveRecordでupdate_atだけ更新する方法を教えてください
0333nobodyさん2009/10/30(金) 22:40:57ID:???
>>332
railsのバージョンによって回答数が異なります。
バージョンは何?
0334nobodyさん2009/10/31(土) 06:45:29ID:???
>>333
2.3.2です
0335nobodyさん2009/10/31(土) 10:44:38ID:???
Railsのプロジェクトをチェックアウトして更新したのですが、追加したページにアクセス出来ません。

The page you were looking for doesn't exist.

You may have mistyped the address or the page may have moved.

というページが表示されます。Apacheを再起動してみましたが、表示されないままでした。

以前からあったページにはアクセスできますし、Mongrelを立ち上げてローカルからはアクセス出来ます。

production.logを確認してみましたが、何も書かれていませんでした。

環境はFedora10 + Apahe + passengerです。
どなたか解決方法を教えて頂けないでしょうか。 よろしくお願いします。
0336nobodyさん2009/10/31(土) 11:17:28ID:???
>>335
そのエラーてどこのレベルでててるんだろ。
真ん中に赤枠があって、その中にエラー文字列があるなら、Railsがエラーはいているだろうけど

apacheのログ確認してみた?
0337nobodyさん2009/10/31(土) 11:49:10ID:???
"GET/financial_statenents HTTP/1.1" 404

ログの見方はよく分からないのですが、Railsで用意された404が表示されているみたいです。
0338nobodyさん2009/10/31(土) 12:10:24ID:???
追加したってのは、Rails.root 直下の public の下にHTMLファイルを
追加したってこと? Railsの機能を追加したってこと?

0339nobodyさん2009/10/31(土) 12:47:05ID:???
新しいコントローラのクラスと、それに対応するビュー、モデル、データベーステーブルを追加しました。
0340nobodyさん2009/10/31(土) 12:59:55ID:???
とりあえず、apacheではなくRailsプログラムの問題のようなので、

developmentモードで動かしてみる
→Passengerの設定にRailsEnvというのがある。

または、

productionモードのまま、ログレベルを:debugに変更
→config/environments/production.rbを弄る。

などでより詳しい情報を得ることを勧める。
0341nobodyさん2009/10/31(土) 13:34:57ID:???
何度も申し訳ないのですが、Passengerの設定ファイルってどこにあるのでしょうか?
0342nobodyさん2009/10/31(土) 14:46:41ID:???
PassengerでRailsEnv指定できました。

Routing Error

no route found to match "/financial_statements" with{:method=>:get}

という表示に変わりました。routes.rbに何か設定を追加すればよいのでしょうか?
0343nobodyさん2009/10/31(土) 14:50:58ID:???
いいかげんにしろ
0344nobodyさん2009/10/31(土) 15:00:09ID:???
/financial_satementesというURLでRailsになんらかのアクションを
してほしいなら、あなたが追加したコントローラとそいつのメソッド
がそのURLにマッピングされなければならない。

rake routes してみるとおそらく /financial_statements に反応する
ルールがないはず。

routes.rbに
map.resources :financial_statements とでも書けばいいんじゃない?
0345nobodyさん2009/10/31(土) 15:39:28ID:???
回答有り難うございます。

map.resources :financial_statementes は上手くいきませんでした。

同じようなURL(/controllername)はマッピング出来ているのに/financial_statementsはエラーになる理由がよく分からないです。。
0346nobodyさん2009/10/31(土) 15:42:24ID:???
まー、あとは routes.rb の問題ぽいからドキュメントみつつ
rake routes しつつ、試行錯誤してくれい。
0347nobodyさん2009/10/31(土) 19:08:53ID:???
おまたせしました
質問です
RoRはWindows7で動作しますか?
0348nobodyさん2009/10/31(土) 20:26:19ID:???
動かないと思います
0349nobodyさん2009/11/05(木) 17:41:39ID:???
Ruby on Rails解説書の定番"Agile Web Development with Rails"の
日本語最新版『RailsによるアジャイルWebアプリケーション開発 第3版』が、
この2009年11月末にオーム社より発行されます。

ついにでるー.
0350nobodyさん2009/11/05(木) 21:57:32ID:???
>>350
d
http://ssl.ohmsha.co.jp/cgi-bin/menu.cgi?&ISBN=978-4-274-06785-3
0351nobodyさん2009/11/05(木) 23:41:40ID:???
Head first railsもRails2.3対応で同時期に出るらしいんだけど,
どっちがいいかな
0352nobodyさん2009/11/06(金) 01:47:30ID:???
以下のようなプログラムを作成し、実行しています。

strSQL="select count(*) as cnt ,fk_table_id from datas where del_flg=0 group by id order by count(*)"
hoge=Data.find_by_sql(strSQL)
--------
<table>
<%for i in (0..hoge.length-1) %>
<tr><td><%=hoge[i].fk_table_id%></td><td><%=hoge.cnt%></td></tr>
<%end %>
</table>
-----------------
ですが、ときどき
undefined method `fk_table_id`
というエラーがエラーログに出ています。
何か対処方法はないでしょうか?
sqlは一例で、日によって発生場所がまちまちになっています。

環境
os centos
ruby 1.8.7 p-174
rails 2.1.2
mysql tritonn-1.0.12-mysql-5.0.67

クエリキャッシュを有効にしていたのですが
エラーの出現回数があまりに多いので
毎回クリアさせてみたところ多少減りました。
0353nobodyさん2009/11/06(金) 01:47:47ID:???
そのタイミングでrails3が来たら全員涙目w
0354nobodyさん2009/11/06(金) 03:08:33ID:???
一度出たら2年くらい出ないから、3系を待ってくれた方がよかったかも
正直2.3系はあまり困ってない
0355nobodyさん2009/11/06(金) 17:55:44ID:???
質問させてください。

/lib/xxx.rbのモジュールをControllerでincludeして利用しています。
BackgrounDRb(/lib/workers/yyy_worker.rb)でも
xxx.rbのモジュールをincludeして利用したいのですがどうすればいいでしょうか?
0356nobodyさん2009/11/07(土) 00:52:56ID:ygEaPrn0
Rails勉強中なのですが、DBのリレーションのところでつまずいてます。
目的:下記条件下で、new.html.erbから名字と子供のnameを登録したい。

テーブル
Parent
id:
myoji:

Child
id:
parent_id:
name:

という二つのテーブルがあり
それぞれのモデルには、
has_one :child
belongs_to :parent
を指定しています。
0357nobodyさん2009/11/07(土) 00:54:17ID:ygEaPrn0
上の続きです。

コントローラーには、
main.rb
def new
@user = Parent.new
end
def create
@user = Parent.new(params[:data])
@user.save
end

Viewのnew.html.erbには
<% form_for :parent,@user,:url=>{:action=>'create',:id=>@user} do |form|%>
名字:<%= form.text_field :myoji %>
名前:<%= form.text_field :name %>
<%submit_tag '登録'%>
<%end%>
とします。
間違っているところを具体的ご指摘いただけないでしょうか。
rails rubyなどは最新バージョンです。

0358nobodyさん2009/11/07(土) 01:01:03ID:ygEaPrn0
すみません。
@user = Parent.new(params[:data])
ではなく、
@user = Parent.new(params[:user])
だと思うのですが、、、まちがってますよね。。。
0359nobodyさん2009/11/07(土) 02:01:48ID:???
>>355>>356も、どう困ってるか書いてないのだが同じやつか?
0360nobodyさん2009/11/07(土) 02:36:17ID:???
自分でも何が分かってないのか分かってないんだろ。
なんかよく分からないけどヒントください、みたいな。
0361nobodyさん2009/11/07(土) 02:36:32ID:ygEaPrn0
いえ、違う人です。

いろいろ変えてやってみたのですがいろいろなエラーで
収集がつかなくなったので、根本的に、基本的なところで
どう間違っているのか、指摘してもらえればありがたいなーと
思いまして。。(^^;;
0362nobodyさん2009/11/07(土) 02:39:37ID:???
そのコントローラーに対してどういうアクセスをしたのか、
その結果どういうエラーが出たのか、
具体的に示さないとあかの他人がアドバイス出来るはずないでしょ。
0363nobodyさん2009/11/07(土) 08:13:45ID:???
何もしてないならコントローラの名前がmain.rbって時点で変。
0364nobodyさん2009/11/07(土) 08:40:04ID:???
ずーっと使っているとメモリの消費量がすごいことになるんだけど
どうしたらいいの?
いったん再起動するの?
0365nobodyさん2009/11/07(土) 09:14:59ID:iBTE7BNg
自分の場合、monitなどの監視ツールでメモリの使用量が一定量を超えたら自動で再起動させてる
0366nobodyさん2009/11/07(土) 09:15:41ID:???
freeしても使用メモリはOSが実際に必要とするまで返還されなかったり
するからとりあえずOSとかいろいろ教えれ。
0367nobodyさん2009/11/07(土) 09:22:59ID:???
>>364
放っておくと死ぬから頻繁に再起動するしかないw
0368nobodyさん2009/11/07(土) 09:53:27ID:iBTE7BNg
Passengerの場合は、5分間アクセスがなければプロセスを終了させるとか、1000回アクセスを処理したら終了などの設定ができるので、特にツールを使わなくても再起動できるのでおすすめ。
0369nobodyさん2009/11/07(土) 11:37:51ID:???
rubyってガベコレしてないの?
0370nobodyさん2009/11/07(土) 12:03:22ID:???
してるけど、Conservative GCなのでどうがんばっても回収漏れは発生する。
0371nobodyさん2009/11/07(土) 12:07:23ID:???
>>366
ubuntu 8.04をxp上のvmware playerで動かしてる
メモリの割り当ては512M

monitなどで再起動か
なるほろ
0372nobodyさん2009/11/07(土) 12:14:14ID:???
GCはOSからもらっているメモリで再利用していいはずの
箇所を実際に再利用できるようにすることなので、
OSにメモリを返すという意味ではない。

0373nobodyさん2009/11/07(土) 14:27:25ID:???
じゃあ再起動しなくていいはずなのに
どうして再起動しないと固まるんだろうw
0374nobodyさん2009/11/07(土) 15:00:41ID:???
GC以外のところに原因があるからという風に読めるな
0375nobodyさん2009/11/07(土) 16:06:55ID:???
railsお勧めのレン鯖って存在しますか?
0376nobodyさん2009/11/07(土) 16:36:34ID:???
メモリリークしまくるのはオブジェクト指向言語の伝統だし。
0377nobodyさん2009/11/07(土) 16:40:02ID:???
ちょいと質問があります。

modelに書く処理をmoduleにまとめておきたいのですが、うまく行きません。
module内にnamedscopeの定義をまとめて書いたのですが、

 undefined method `named_scope' for ModelSupport:Module

などといわれてしまいます。

現在は例として以下のような感じで記述しています(名前は例なのでつっこまないで)
item.rb(Itemモデル)に

class Item < ActiveRecord::Base
  include ModelSupport
end

lib/model_support.rbに、
module ModelSupport
  named_scope :new_post, lambda{|num| {:limit => num}}
end

うまく、module化するにはどのように書いたものでしょうか?
0378nobodyさん2009/11/07(土) 16:42:07ID:???
>>375
定評あるのはslicehostかな?
最近なら、Rackspaceとか
0379nobodyさん2009/11/07(土) 17:02:18ID:???
>>375
ちょっと試したいだけなら heroku の無料プラン。

>>377
その書き方の場合、named_scope は module ModelSupport のスコープで実行される。
実行されるというのはメソッドが呼ばれるという意味ね。
例)
module Hoge
puts "hoge"
end
#=> hoge

単なるモジュールな ModelSupport は named_scope を知らないので undefined method になる。
で、どうすればいいかというとリフレクションを使う。

module ModelSupport
def self.included(base)
base.class_eval do
named_scope :new_post, lambda{|num| {:limit => num}}
end
end
end

module が include されたときに included が呼ばれるので、
class_eval を使って base(=includeしたクラス)のコンテキストで name_scope を呼ぶ。
03803772009/11/07(土) 17:12:43ID:???
>>379
うほっ!できました、できました!

他のRailsプラグインとかもそういうような書き方しててナンダコレ?とか思ってました。
スコープ考慮しないといけないんですね。

これ、慣用句的な書き方みたいですね。

今までmoduleの中身はincludeした方のスコープで動くもんだと思ってたw そういうことだったのか
0381nobodyさん2009/11/07(土) 19:06:05ID:???
>>373
>>じゃあ再起動しなくていいはず
逆。OSには返してないわけだから、基本的にOSから見た
プロセスが食うメモリってのは増える一方。
0382nobodyさん2009/11/07(土) 19:46:08ID:???
freeしてもOSにメモリを返却するってわけじゃないんだよな。
プロセスのメモリサイズをいじるのはsbrkとかbrkだっけ?
0383nobodyさん2009/11/07(土) 20:08:11ID:???
>>379
自分には関係ないけど
なるほどーと思った
0384nobodyさん2009/11/07(土) 21:19:04ID:???
>>379
宣言的に見えるけど、実のところnamed_scopeもただの
メソッドだからな。
0385nobodyさん2009/11/08(日) 02:45:09ID:???
qmailで受信して、.qmailのパイプ経由で
script/runnerしてメール処理をしてるのだが、
一度受信したメールが何度も繰り返し送られてくる。

これって、こういうものなのかな?
それとも的確な処理をしてないから?
0386nobodyさん2009/11/08(日) 02:58:14ID:???
受信したら消せよ
0387nobodyさん2009/11/08(日) 03:13:16ID:???
うそん
0388nobodyさん2009/11/08(日) 03:16:34ID:???
外部から何度も送られてくるのよ。
受信したメールをコマンドで処理するのみで
保存しないようにしても症状は同じ。

受信したときに相手のサーバに的確なメッセージを
返してあげないとダメなのかな?
そういうのはqmailが勝手にやってくれてると思うのだけど…
0389nobodyさん2009/11/08(日) 10:25:46ID:???
>>388
> そういうのはqmailが勝手にやってくれてると思うのだけど…

おいおい
0390nobodyさん2009/11/08(日) 11:28:57ID:???
これがruby厨
0391nobodyさん2009/11/08(日) 14:55:17ID:???
そんなくれくれruby厨に助言してくれよう。
終了コード0返すだけじゃだめなの?
0392nobodyさん2009/11/08(日) 16:35:04ID:???
ActiveRecord::Migration.execute('CREATE TABLE hoge (・・・); CREATE INDEX ・・・;')
とかしてもインデックス作られないんだけどCREATE TABLEだけしか実行してくれないの?
0393nobodyさん2009/11/08(日) 18:22:12ID:???
そんな事はない。
インデックスも正しく作成される。
その前にマイグレーションを使っているのに、わざわざSQLを直接実行するのはなんでだ?
0394nobodyさん2009/11/09(月) 20:11:21ID:???
Railsではidを渡すところに大概は、Hoge.find(id) した後のオブジェクトを渡しても
自動でidに変換してよしなに計らってくれますよね?

例えば、Hoge.find自身もintegerなidじゃない Hoge.firstの返り値などでも通ります。
これを自分の処理でも使いたいのですが、該当するメソッドはないものでしょうか?

ActiveRecordのfindのソースとかたどって見ているのですが、
いまいちわからんとです・・・

環境はRuby 1.8.7、Rails 2.3.4です。
0395nobodyさん2009/11/09(月) 21:43:53ID:???
>>394
まずは active_record/base.rb の AR::Base#find から find_one / find_some などを経て
def quote_value(value, column = nil)
  self.class.connection.quote(value, column)
end

これは、active_record/connection_adapters/abstract/quoting.rb の
def quote(value, column = nil)
  # records are quoted as their primary key
  return value.quoted_id if value.respond_to?(:quoted_id)
:
かな。

で、AR::Base に戻って
def quoted_id #:nodoc:
  quote_value(id, column_for_attribute(self.class.primary_key))
end
0396nobodyさん2009/11/09(月) 21:58:57ID:???
んなもんソース見るまでもなくね?
0397nobodyさん2009/11/09(月) 23:09:34ID:???
見ないでどうやってしらべんの
0398nobodyさん2009/11/10(火) 04:32:44ID:???
んなもん調べるまでもなくね
0399nobodyさん2009/11/10(火) 12:23:52ID:???
初心者スレか本スレに帰れ
0400nobodyさん2009/11/10(火) 15:45:57ID:???
>>395
無事動作を確認できました!

 Item.quote_value(1234) => "1234"
 Item..quote_value(Item.first) => "1"

みたいにいけますた。何故か文字列ですがw

find_oneやfind_someになんであるのに、見つけられなかったんだろ、と
ドキュメントを思ってよく見たら
railsのchmファイルって、メソッドのソース表示は長い行だと折り返されないで、
画面外にでてって表示されないっぽいですね orz

他の場面でもソース見ててハマりそうだ・・・。
この辺てCSSとか直したらなんとかなるんかな。
0401nobodyさん2009/11/10(火) 16:15:53ID:???
「SQL文の条件句に埋め込む数値の表現」なので、
最終的に文字列が得られるようになってるのよ。
0402nobodyさん2009/11/10(火) 16:23:20ID:???
>>401
ああ、確かにドキュメントに

> Quote strings appropriately for SQL statements

と書いてありますね。

quote_〜〜ってメソッドたくさんあるし、なんのことかと思ったら、
SQLのためのクォート処理なんですね。
勉強になりました。

privateメソッドですし、期待する機能と名前が一致しない点もアレなのですが、
とりあえずは実現できるので ActiveRecord::Base::quote_value を使ってみます。
帰り値の文字列はto_iすればいいですし。

ありがとうございました。
0403nobodyさん2009/11/10(火) 20:20:41ID:???
質問よいですか?

URLに&hoge=true
といったように、フラグや状態(日付とかでもいいです)を記載して、
しばらく、一定のページ遷移まで、&hoge=trueのGETパラメータを付加しつづけるよい方法はありませんでしょうか?

クッキーがいいかと思ったのですが、状態の違うページをいくつか開いた際に破綻してしまいます。

今は、form_forなどの引数にパラーメータを一個一個渡しています。
手動なのでけっこうミスがでてしまいます。
以下のような感じです。

view側:
<% form_tag({:action => :edit, :id => @item}.merge(hoge_params_hash)) do %>

<% end %>

コントローラー側:
helper_method hoge_params_hash
private
def hoge_params_hash
  params[:hoge] ? {:hoge=> params[:hoge]} : {}
end

例として、ブログやCMSのプレビュー用のモードというか、プレビューボタンを押した後指定のページ遷移までは
フラグ立てたまま処理する(「プレビュー中です」のような表示をしたい)というような場合や

食べた食品を記録するサイトで、ある日に記録するデータを検索窓から検索した場合、
その検索後のページ場合もそのある日を覚えておいて、記録時に使いたいといった場合です。

設計の問題なのかもしれませんが、ぜひご助言ください。
0404nobodyさん2009/11/10(火) 22:01:55ID:???
formならhiddenでいいんじゃね?
0405nobodyさん2009/11/10(火) 22:09:57ID:???
セッションに保存するのが駄目な理由が分からん。
application_controllerにチェックするメソッド定義して、各コントローラでfilterで呼ぶとか。
filterを工夫すればいいんじゃないの?
0406nobodyさん2009/11/10(火) 22:11:23ID:???
>>403

例えば、link_toの場合は、こんな感じで書くとGETパラメータを付加してくれる。
formでも同じ事ができるかは分からないが。
<%= link_to("編集", :action => :edit, :id => @item, :params => params) %>
04074032009/11/11(水) 09:59:21ID:???
>>405
そういうことが聞きたいのです。

セッションだと、
>>403の下のブログやCMSの例でいえば、プレビューと実際の画面表示のコードを共有していた場合、
プレビュー中に、実際の画面みようとしてもプレビュー表示になってしまいますよね。

食品の記録サイトでいえば、別のタブで同時に別の日を入力しようとしていた場合、
セッションにある値しかつかわれないので、セッションにある日しか同時に入力できないことになります

つまり、セッションだと状態を1つしかもてない、という意味なのですが・・・

ま、仕様です、と言えば、それでもいいのかもしれませんがw

>>406
あ、いえ、今もそんな感じでやってるんです。

>>403のコード例がわかりにくいのですが、
form_tag でGETパラメータを指定しています。
ただし、指定するかは今のページのGETパラーメータを見てから。

>>404
確かにformならhiddenでもいいですね。GETパラメータでやらなくてもいいか
0408nobodyさん2009/11/12(木) 03:49:23ID:K53v7ACD
ファイルをアップロードするときってform_tagとかfile_fieldを
つかってファイルを選ぶ方法しかないのでしょうか?
クライアントがパスを書いてそこにあるファイルをサーバに保存する
ことは不可能ですか?
0409nobodyさん2009/11/12(木) 04:51:31ID:???
可能
0410nobodyさん2009/11/12(木) 15:35:06ID:???
/etc/passwdとか上書き出来たら楽しいね。
0411nobodyさん2009/11/12(木) 15:36:59ID:???
当たり前のような質問があります。

HogeControllerがあり、publicなメソッドとしてFoobarを新たに追加しました。
デフォルトのルーティングだと、
 /hoge/foobar
でアクセスできるのですが、プログラム上からは
 foobar_hoge_path()
が使えません。

rake routesしても載ってないのですが、
これって、routes.rbに

 map.resources :hoge, :member => { :foobar => :get }

などとかかなくてはいけないものなのでしょうか?
0412nobodyさん2009/11/12(木) 22:47:21ID:???
find_by_sqlで複数のSQLを実行したとき
返ってきた結果セットがほぼ同時に別プロセスで
実行していた別なSQLのものに変わってしまっています。
mysqlの設定などでチェックすべきところとかないでしょうか?
0413nobodyさん2009/11/12(木) 23:21:24ID:???
>>411
無指定の map.resources だけだとそこまで面倒みてくれない。
map.resources に追加するか、昔ながらのやり方で

map.foobar_hoge 'hoge/foobar', :controller => 'hoge', :action => 'foobar'

のように定義してやるとか。
0414nobodyさん2009/11/12(木) 23:37:15ID:???
トランザクションとかストアドプロシージャだろうか
やったことないけど
04154112009/11/14(土) 04:27:35ID:???
>>413
ありがとうございます。
こちらでも試してみましたが、やはり、必要なのですね。

>>411のは間違ってまして、/hoge/foobarの場合は、
 map.resources :hoge, :collection => { :foobar => :get }
でした。
/hoge/1/foobarなら、>>411のでいいみたいです。
0416nobodyさん2009/11/17(火) 14:03:16ID:???
ちょっと聞いていいでしょうか?
psousa's baseapp-orange at master - GitHub
http://github.com/psousa/baseapp-orange

以前でてたBaseAppというRailsのテンプレみたいなのの派生verがあるのを発見して
動かしてみようと思ったんですが、うまく行きません。

READMEにあるように、mysql用のdb設定をdatabase.ymlにして、
rake db:migrate
したのですが、

 Missing these required gems:
  capistrano-ext

と言われてしまいます。
vendor以下を見るとfreezeされているのか、必要なgemなど全部入っているようなのですが、このように言われます。

config/enviroment.rb には、
 config.gem "capistrano-ext", :lib => "capistrano"
のような記述があり、
 rake gems:install
とするのですが、何ごともなく終了します。

どうしたものでしょうか?
04174162009/11/17(火) 14:16:18ID:???
>>416 ですが、
ないならgemいれればいいんじゃね?という当たり前の結論で、
 gem install capistrano-ext
したら、無事に通りました。(db:migrateでDBないと言われたので、rake db:createしましたら行けました)

しかし、何でこんな動作になっているのだろう?

なるべくシステムに入っているgemを使いたいのですが、満載のvendor/gems以下や、vendor/rails以下は
手動で削除しちゃっていいものなのでしょうか?
0418nobodyさん2009/11/17(火) 16:12:30ID:???
rails 2対応の初心者用参考書でお勧めはどれですか?
0419nobodyさん2009/11/17(火) 16:13:42ID:???
既存のapache管理下のものに影響与えないように導入することはできないのでしょうか
0420nobodyさん2009/11/17(火) 18:37:57ID:???
>>418
>>350がいいんじゃないかと思う
0421nobodyさん2009/11/17(火) 22:36:49ID:???
>>419
影響ってどういう意味?
0422nobodyさん2009/11/18(水) 02:13:20ID:???
restful_authenticationを使ってログイン認証を行おうと思ってるんですが、
画面の遷移がない場合5分経ったらセッションを消してログアウト状態にしたいと思っています。

以前はacts_as_authenticatedを使って、ログインされたらデータベースのsessionテーブルにユーザーの
session情報を保存しておいて、ユーザーが画面遷移をしたら、そのsession情報を更新しておき
5分おきにsessionテーブルを監視して、更新時間が5分以上経ってたらsessionテーブルから削除するようにして
ログアウト状態を再現していました。

restful_authenticationを使う場合は、データベースに値を持たなくても上記のような事ができるのでしょうか?
すみませんが、お知恵をお貸しください。宜しくお願いします。
0423nobodyさん2009/11/18(水) 17:36:25ID:8qlvL/3i
都道府県のデータをRubyの配列で用意しようと思うんだけど、
どこのファイルにおくのがおすすめでしょうか。

JP_STATES = [
'北海道',
'青森’,
...
]

こんな感じのデータです。
0424nobodyさん2009/11/18(水) 18:51:10ID:???
Railsアプリのルートディレクトリを表す変数とかありませんか?
0425nobodyさん2009/11/18(水) 22:12:48ID:???
>>422
restful_authentication自身にはそういった機能はなかったはず。
データベース側をきっちり削除したいなら自前で実装するのがいいだろうね。
クッキーのexpireでいいなら、2.3以降ならActionController::Base.sessionの:expire_afterを指定、
それ以前ならdynamic_session_expプラグインを使えばいい。

>>423
2.0以降なら config/initializers以下に。
それ以前ならconfig/environment.rbやconfig/environment/*.rbに直書きするか
config/以下にファイルを置いてenvironment.rbなどからrequire。

>>424
RAILS_ROOT
0426nobodyさん2009/11/18(水) 22:14:23ID:???
いまは Rails.root でもOK
0427nobodyさん2009/11/19(木) 00:14:02ID:???
Wikiみたいなアプリで、文字列をHTMLに変換する処理をParserとしてモデルに切り分けたいのですが
url_forとかhoge_urlとかはモデルから使えないので、リンク生成をどうしたものかと思っています。
config/routes.rbの設定と重複しないために、できればURL生成メソッドで作りたいのですが
どうにかできないでしょうか?
0428nobodyさん2009/11/19(木) 15:24:41ID:???
>>427
モデルじゃなくて(モデルでもいいけど)、
ふつうのライブラリみたいに lib/以下にParserとしておいて、
コンストラクタでコントローラーのインスタンスを渡す、とかどうだろか

lib/以下に置く時の注意は、moduleにしてRailsが想定する名前の付けか足しておくと、
requireとかしなくても、自動で読んでくれる。はず。
詳しい方きぼん
0429nobodyさん2009/11/19(木) 15:32:45ID:???
ついでに質問なのですが、FormBuilderやFormHelperを継承せずに拡張したいのですが、うまいやり方ないでしょうか?

今は、
lib/hoge_form_helper.rb として、

module HogeFormHelper
  module FormBuilder
    def my_text_area(method, options = {})
       :
    end
  end
end

上記のように書いて、application_helper.rbにて、

class ActionView::Helpers::FormBuilder
  include HogeFormHelper::FormBuilder
end

のようにして、組み込んでいます。
FormBuilderを書いたら、FormHelperも追加したくなるのが人情というものですが、その場合、
HogeFormHelper::FormHelper を書いて、application_helper.rbに、

class ActionView::Helpers::FormBuilder
  include HogeFormHelper::FormBuilder
  include HogeFormHelper::FormHelper
end
のようにさらにするのが不恰好に見えます。
これらの処理をlib/hoge_form_helper.rb側におけないものでしょうか?
0430nobodyさん2009/11/19(木) 20:01:14ID:???
rspecでhave_textとかinclude_textが動かなくて困っています。

現象:
get "some_action_name"
response.should include_text("foo")
とすると
expected "foo", got "1"
と表示され、失敗します。
response.should render_template(...) は成功しています。

調べたこと:
自分で調べたところ、p response.body をすると "1" が出力されました。
これはテンプレートがレンダリングされてないのだと思い、テンプレートの中で
$stderr.puts "**** rendered *****"
みたいに入れると、出力されませんでした。

推測:
どうもgetを呼び出しただけだとテンプレートがレンダリングされない?
rspecのチュートリアルだと
ttp://rspec.info/rails/writing/controllers.html
get 'some_action'
response.should have_text("expected text")
とあるので、getだけでいいと思うんですけど、ほかに何か必要でしょうか。
0431nobodyさん2009/11/19(木) 21:37:22ID:???
>>429
プラグイン化するとか。
結局はincludeするんだけど、vendor/plugins に丸ごと置くだけでよくはなる。
0432nobodyさん2009/11/20(金) 16:48:45ID:???
Railsで、text2html みたいなヘルパーってありませんでしたっけ?
「rails text2html」でぐぐっても、それらしいのは見つからず。
0433nobodyさん2009/11/20(金) 17:56:43ID:???
RoRをWindows上で稼動させていてアップローダーを作ったところ
日本語のファイルがUTF-8で生成されてWindows上で文字化けします
ファイルを保存するときにSJISに変換しないといけないのでしょうか?
NTFS自体はUNICODE対応のはずだし
なにかが間違ってるような気がするんです
0434nobodyさん2009/11/20(金) 18:02:42ID:???
>432
textile とか markdown のこと?

>433
お前が間違ってる
0435nobodyさん2009/11/20(金) 18:55:59ID:???
form_remote_tagとselect_tagを使ってAjaxで選択リストの値を送りたいのですが、値を受け取るにはコントローラでどのようなコードを書けばよいのでしょうか?
0436nobodyさん2009/11/20(金) 19:17:38ID:???
>>433
UTF-8で保存するのでもなければSJISで保存するのでもない
UNICODEで保存するんだぞ
0437nobodyさん2009/11/22(日) 03:24:06ID:???
parentテーブルとchildテーブルがあるとして、
parentモデルにhas_many :childを指定してchlidテーブルに
belogns_to :parentと指定します。
この状態の時に「parent.child.replace = @child」でchildに値をセットして
parent.saveとすると新規登録はされるんですが、更新が上手く行きません。
何か書き方がいけないのでしょうか?それとも仕様でしょうか?
ruby 1.8.6でrailsは2.2.2です。
よろしくおねがいします。
0438nobodyさん2009/11/22(日) 04:51:41ID:Z6X1KQFW
>>436
UNICODEで保存?
UTF-8/16じゃなく?
0439nobodyさん2009/11/22(日) 06:54:00ID:???
write open するときに
OpenFileA()じゃなくて
OpenFileW()使えっていう意味では
0440nobodyさん2009/11/23(月) 20:58:50ID:???
RailsでjQuery使うにはどうするのがよいんでしょうか?
jRailsというのがあったみたいですが、公式サイトなくなってるし・・・

jRails - jQuery on Rails
 http://ennerchi.com/projects/jrails
0441nobodyさん2009/11/23(月) 21:27:37ID:???
ふつうに <script src=></script> でいいんじゃないの?

0442nobodyさん2009/11/24(火) 00:15:15ID:???
当方Windowsで開発をしています
ruby script/serverを実行した際に

C:\rails\hello>ruby script/server
=> Booting Mongrel
=> Rails 2.3.4 application starting on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server

でコマンドプロンプトが次のWEBRICKが起動した〜などを出力してくれません
Ctrl-Cをしてもサーバーは停止できません
一度だけこの状態で長時間放置したときに
500 Internal Server Error
unknown error
という表示がされました

解決方法がさっぱりわかりません
どなたか解決方法知っている方がいれば教えていただけるとありがたいです
0443nobodyさん2009/11/24(火) 00:38:56ID:???
こっち最新なんだろうか
http://github.com/aaronchi/jrails
0444nobodyさん2009/11/24(火) 03:53:25ID:igGLII2V
>>442
まるち
0445nobodyさん2009/11/24(火) 07:33:31ID:???
>>442
誘導されておきながらそれを書かないからマルチ扱いされる
あと誘導前のスレにも移動する事くらい書いた方がいい
ちなみにMongrelの事は知らないので質問には答えられない
0446nobodyさん2009/11/24(火) 09:45:43ID:???
>442
もっと詳しく。
エスパーは希少なのでそれだけの情報では足りない。
何が足りないのかは考えろ。
0447nobodyさん2009/11/25(水) 01:38:14ID:???
知らんがな。
自分で調べる能力無いなら、サポートしてくれる業者を捜すなり、商用ソフトでも使ってサポート受けたら?

http://pc11.2ch.net/test/read.cgi/php/1258187482/
【PHP】下らねぇ質問はID出して書き込みやがれ 90
http://pc11.2ch.net/test/read.cgi/php/1251803164/
【質問】ASP.NETスレ Part6【雑談】
http://pc11.2ch.net/test/read.cgi/php/1222645553/
【 スクリプト改造依頼スレ】(丸投げ) part7再々
http://pc11.2ch.net/test/read.cgi/php/1257701535/
△▲ WebProg 初心者の質問 Part21 ▼▽
http://pc11.2ch.net/test/read.cgi/php/1158647441/
くだらない質問でもど偉そうに聞いていいスレ
0448nobodyさん2009/11/25(水) 16:20:37ID:???
>>442
何をしたいのか、何を聞きたいのか、意味がわからん。

mongrelをgemで入れている環境なら、script/serverはwebrickではなく自動でmongrelが起動するよ。

webrickを明示的に起動したかったら、 script/server webrick
とかするんじゃなかったかな?調べてみて。

Ctrl-Cは何回かおしたら止まる気はする
0449nobodyさん2009/11/25(水) 16:25:33ID:???
質問をお聞きします。

viewやヘルパーを書く時に、javascriptのパスを渡したいのですが、
javascrip_path "hoge" などと書くと、
/javascript/hoge.js
というのが得られるのですが、viewでjavascript_include_tagメソッドで得られるように、
/javascript/hoge.js?1259048403
のようなキャッシュしないパスを簡単に得るメソッドはないものでしょうか?

ソースも見ているんですが、どこで付加されているのかイマイチわからんです・・・
04504492009/11/25(水) 16:51:10ID:???
実際はlib/以下に配置したモジュール内から、以下のようにして記述しているのですが、
ApplicationController.helpers.javascript_path "hoge"
hoge.js?1235343 のようになってくれません。
Rails consoleで上記を試すとちゃんとついてくれるのですが・・・
0451nobodyさん2009/11/25(水) 17:02:11ID:???
わからないけど、これは関係あるだろうか
cache_asset_timestamps
04524492009/11/25(水) 17:24:16ID:???
>>451
ありがとうございます。

ソースも見ていたのですが、該当箇所はわかりました。
javascript_path→compute_public_pathときて、rewrite_asset_path内で?のあとにタイムスタンプを付加しているようでした。


で実はできねーよヽ(`Д´)ノ ウワァァン!!と思って四苦八苦していたのですが、
別のビューの似たようなページのソースをずっと見ていました orz

正しいページを見たら、ちゃんと
/javascript/hoge.js?1259048403
というようになっていました。

解決しました。
おかげさまでありがとうございました。スレよごしスマソ
0453nobodyさん2009/11/26(木) 11:02:42ID:S4TWLvc3

Ruby 1.9 And Rails 3.0
http://www.slideshare.net/arrrrcamp/ruby-19-and-rails-30
0454nobodyさん2009/11/26(木) 17:33:35ID:???
ぬるぽ
0455nobodyさん2009/11/26(木) 17:50:14ID:???
Rails 2.3 = Rails 3.0 ってあるけど、そうなの?
0456nobodyさん2009/11/26(木) 19:34:03ID:S4TWLvc3

First look at rails 3.0.pre
http://drnicwilliams.com/2009/11/03/first-look-at-rails-3-0-pre/

http://woodie-rails.appspot.com/

rails 3.0 pre
http://github.com/rails/rails/commit/db3de78a83379ab2a58e0d29fb10622b813a4d44
http://woodie-rails.appspot.com/
0457nobodyさん2009/11/27(金) 00:40:04ID:???
ossでソースきれいで参考になるプロダクトってある?
0458nobodyさん2009/11/27(金) 16:27:52ID:uE3HMbl5
rails version 2.3.5 just released.
0459nobodyさん2009/11/27(金) 17:51:25ID:???
やっとこさrails2系に慣れてきたのにrails3とかワロス
0460nobodyさん2009/11/27(金) 18:43:36ID:???
config/locales/ja.ymlを作って
ja:
 Hello: こんにちは
と書いた。あとconfig/environment.rbに
config.i18n.default_locale = :ja
を追加した。それでも ruby script/console を実行して
irb> I18n.t('Hello')
=> "translation missing: ja, Hello"
となる。
何が足りない?誰か助けて。
0461nobodyさん2009/11/27(金) 18:59:16ID:???
>>460
サンプルの config/locales/en.yml にあるキーは小文字の hello なんだが、
YMLに小文字で書いて呼び出しで大文字のHelloを使っているのではあるまいか?

0462nobodyさん2009/11/28(土) 00:57:41ID:???
>>460

config/locales/ja.ymlは、このようになっていないと動かない。
この状態で、I18n.t("hello")で翻訳される事を確認した。
-----------------------
ja:
hello: こんにちは
-----------------------

単に、hello: の行だけでは動かなかった。
たぶん、そのあたりじゃない?
04634622009/11/28(土) 01:06:47ID:???
あ、ごめん。
よく見てみたら、>>460もちゃんと書いてたね。

ちなみに
ja:
hello: こんにちは(hello)
Hello: こんにちは(Hello)

って書いたら、こうなったので全部小文字で書かないといけない
という事はなさそう。
>> I18n.t("hello")
=> "こんにちは(hello)"
>> I18n.t("Hello")
=> "こんにちは(Hello)"

確認したrailsのバージョンは2.3.4。
0464nobodyさん2009/11/28(土) 01:21:36ID:???
>>463
全部小文字で書かないといけないというわけではなく、
ファイルでしたキーとコードから参照したキーが違ってるんじゃないかという
指摘だと思う。
ただのYAMLで定義したHashだし。
0465nobodyさん2009/11/28(土) 17:18:18ID:gofPBBCV

10,000,000 todos
http://twitter.com/dhh/status/6021870055
0466nobodyさん2009/11/30(月) 00:11:03ID:???
>>198
> 教祖がデビアンで開発してるから、

そのわりにパッケージが古いんだよな。
railsはgemで入れるとしてrubyがいつもチョット古いのが面倒だ。
0467nobodyさん2009/11/30(月) 03:07:01ID:???
>>466
sidも古いの?
0468nobodyさん2009/11/30(月) 15:32:02ID:???
<%=h foo.bar.name.blank? ? '-' : foo.bar.name %>
というのが頻繁にでてくるので、ヘルパーメソッドを定義したい。
def default_val(val, default='-')
 val.blank? ? default : val
end

・質問1: すでにこのようなメソッドはありますか?
・質問2: いいメソッド名があれば教えてください。
0469nobodyさん2009/11/30(月) 16:49:47ID:???
1: ないと思う
2: value_or_default(foo.bar.name) とかどうだろ
0470nobodyさん2009/11/30(月) 18:24:46ID:???
>>469
さんくす。
できればもうちっと短い名前がいいんだが。いいのがないものか。
0471nobodyさん2009/11/30(月) 19:20:53ID:???
#blank? になるものが常に偽とみなせるなら foo.bar.name || '-' でいいんだけどねー。
"" とか [] は #blank? になるけど真だからなあ。


0472nobodyさん2009/11/30(月) 20:45:02ID:???
blank?で判断する || 演算子が欲しくなるな。
0473nobodyさん2009/11/30(月) 21:33:41ID:???
StringとNilClassにorってメソッドを・・・
0474nobodyさん2009/12/01(火) 11:59:14ID:???
Rails初心者です。
fixturesは使わずに手軽にテストデータを入れようと、
勝手データテキストファイルと勝手スクリプトを書いて、
/db/migrateに両方起きつつ、NetBeans上からファイルを実行してみたのですが
ファイル読み込みの時点でNo such file or directoryとなってしまいます。
そこで質問ですが、
●このデータにアクセスさせるためにはどう書くべきですか?
●データ投入はfixturesを必ず使うべきですか?
よろしくお願いします。
0475nobodyさん2009/12/01(火) 19:09:38ID:???
>474
知るか
0476nobodyさん2009/12/02(水) 11:16:20ID:???
>>474
・Rails環境を利用した勝手スクリプトはscript/runner経由で使う

他なにかあったけ。
0477nobodyさん2009/12/02(水) 11:18:43ID:???
>>474
あと必ずしもfixtureということもないと思う。

Rails 2.3.4では初期データの投入はseeds.rbを使うことが推奨されるみたいだよ

Rails アプリの初期データを設定する機能 - takihiroの日記
http://d.hatena.ne.jp/takihiro/20090906/1253523597
0478nobodyさん2009/12/02(水) 11:21:25ID:???
>>474
>>477似追記してコレも
Rails 2.3.4で追加されたseeds.rbについて - ひげろぐ
http://brass.to/blog/rails-2-3-4%E3%81%A7%E8%BF%BD%E5%8A%A0%E3%81%95%E3%82%8C%E3%81%9Fseeds-rb%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6.html
0479nobodyさん2009/12/02(水) 11:38:12ID:???
Rails 2.3.5来てるな。
セキュリティfixあるからいれろ

Riding Rails: Ruby on Rails 2.3.5 Released
http://weblog.rubyonrails.org/2009/11/30/ruby-on-rails-2-3-5-released

hなくてもエスケープするRailsXssプラグインが便利そうだ。生中出しするときはrawつける
0480nobodyさん2009/12/02(水) 14:31:45ID:???
フォームを入力してSubmitボタン→「ありがとうございました」ページ
というのをつくったのですが、ありがとうございましたページでブラウザの戻るボタンを押し、
再度Submitボタンを押すと、同じデータが送信されてしまいます。
これは二重サブミットと呼ばれているそうですけど、これを防ぐにはどうするのがいいんでしょうか。
よさげなプラグインとかありましたら教えてください。
0481nobodyさん2009/12/02(水) 18:39:32ID:???
RailsによるアジャイルWebアプリケーション開発第3版
買ったぞ。改訂版だから当然だけどパっと見で2版とほとんど内容変わらず…
2版で見慣れたスクリーンショットやコラムがそのまま載ってる。
これからじっくり読んでみよう
0482nobodyさん2009/12/03(木) 00:03:06ID:???
>>480
rails トランザクショントークンでググれ
0483nobodyさん2009/12/03(木) 05:28:57ID:???
>>480 >>482
これで簡単にいけそうだな

Railsでトランザクショントークン(ダブルサブミット、2重登録対策)を使う - diaの備忘録
http://d.hatena.ne.jp/DianthuDia/20080911/1221140796
0484nobodyさん2009/12/03(木) 09:20:01ID:???
ちょっと質問があります。

Rails 2 ではDBに保存する日時はdatetimeはUTCになっててますよね。
日のデーダだけDBに保存したい、扱いタ場合どうするのがよいのでしょうか?
何時(datetime)、ではなく何日(date)ということです。

UTCの日時から何日かデータを取り出した場合、時間の情報がなくなって、
時差情報が欠落してしまいます。

たとえば、日本時間だとUTC+9ですが、
UTCで2009-12-01 23:00のdatetimeから、
日付をDBに保存しておきたい場合、日本時間に変換し(2009-12-02 8:00)、日付にし(2009-12-02)DBに保存する?

こういう場合はどうするのがセオリーなんでしょうか?
そもそも、date使わずdatetimeのまま(UTCまま)DBとかに入れてしまう?でも変だな??

想定としては、date:datetimeと count: integerで日付と数値を次々と入力していったものを
日付別のデータにして保存したい(例えばデイリーの累積グラフにしたり)という場合の話です。
04854842009/12/03(木) 09:23:29ID:???
想定がわかりづらくてすいません。

UTC 2009-12-01 12:00, 100
UTC 2009-12-01 23:00, 100
UTC 2009-12-02 1:00, 100

というデータがあって、

2009-12-01, 200
2009-12-02, 300
という累積したデータを保存しておくというのを想定しています。
0486nobodyさん2009/12/03(木) 11:36:12ID:???
色々と酷くて答えようがない
0487nobodyさん2009/12/03(木) 12:44:15ID:???
>>485
この場合、UTCで集計してるんだから、
日付もUTCにせざるを得ないんじゃないの。
0488nobodyさん2009/12/03(木) 15:51:32ID:???
そもそもローカルタイムで格納するつもりはないの?
config.active_record.default_timezone
0489nobodyさん2009/12/04(金) 00:25:22ID:???
ローカルはあとで困ると思うよ。utcを変換して使っておいたほうがいい。
0490nobodyさん2009/12/04(金) 01:35:49ID:???
>>485
UTCで保存する必要がないなら、config/environment.rbにある
config.time_zone = 'UTC'
この行をコメントアウトするか、削除すればローカルタイムで保存される。

>>489
UTCで保存して得した事なんて一度もないんだが、
どういうケースで役に立つの?
また、どういう場合に困るの?
0491nobodyさん2009/12/04(金) 08:40:19ID:???
>>490
国際的なアプリでユーザーの指定したタイムゾーンに合わせて
時間を表示するような場合は、ローカルタイム基準だと
話がややこしい。
どこからでも使われる可能性があるなら場所には依存しないほうが楽。
0492nobodyさん2009/12/04(金) 11:43:43ID:???
>>490
自分(or特定の相手=日本人)しか使わないならそれでいい
不特定多数相手なら考えを改めた方が良い
0493nobodyさん2009/12/04(金) 18:21:14ID:???
質問させてください。

Controllerってどのように分けるものなんでしょうか?

例えば、ショッピングサイトだったら、
ログイン、ログアウト部分、カート部分、購入部分みたいに機能別でしょうか?

作成しているアプリは規模も小さいので、
Controller一つでもできそうなんですが、
後から見たときに管理しやすい形にしたくて。
0494nobodyさん2009/12/04(金) 19:05:57ID:???
設計次第だし、一般論で答えろといわれてもそりゃ無理だ。
質問が曖昧で答えようが無い。
modelと必要機能の一覧ぐらいは示してくれ。
0495nobodyさん2009/12/05(土) 02:24:29ID:???
実際rorでショッピングサイトなんて組まないと思うよ。決裁の認証が通らないと思う。
0496nobodyさん2009/12/05(土) 07:46:07ID:???
>>495
ほう。お?なに?誤爆?
0497nobodyさん2009/12/05(土) 16:59:31ID:???
PHPの方がマシだな
Railsで重要な個人情報を扱うこと自体が怖い
簡易SNSとか個人で使うブログとかもっと軽いノリで作る時にしか使わない
0498nobodyさん2009/12/05(土) 17:13:02ID:???
意味が良くわからん。
開発者のセキュリティを考慮する能力しだいであって言語関係ないだろ。
0499nobodyさん2009/12/05(土) 17:15:36ID:???
>>497のレベルが低いことだけは理解しました
0500nobodyさん2009/12/05(土) 17:23:34ID:???
釣りにしてもレベル低過ぎワロタ
0501nobodyさん2009/12/05(土) 19:24:59ID:???
>>498-500
IPAという法人がいましてね
0502nobodyさん2009/12/05(土) 20:30:01ID:???
>>501
IPAがどうした?
IPAはRuby/Railsに関する調査報告書を発表してる事は知っているし、
その内容はRailsを否定するものではない。

それからPHPについては、明らかに無関係だろう。
PHPなら問答無用でセキュリティに問題のないアプリケーションが出来上がるのか?
そんな訳があるまい。セキュリティは言語の問題ではなく、開発者側の問題だ。
0503nobodyさん2009/12/05(土) 22:08:48ID:???
>>502
IPAがPHPディスってんのは有名な話だけど、そのことなのかな?

IPA ISEC セキュア・プログラミング講座:Webアプリケーション編 第1章 総論:より良いWebアプリケーション設計のヒント
http://www.ipa.go.jp/security/awareness/vendor/programmingv2/contents/003.html
0504nobodyさん2009/12/05(土) 22:30:14ID:???
セキュリティが言語選択とは無関係って頭悪すぎだろ
0505nobodyさん2009/12/05(土) 22:35:11ID:???
いや、PHPとRubyの2つで考えた場合、
どちらかを選べばセキュリティの問題が解決するってわけではない
という事でしょう。
利用する側がセキュリティに対する意識をしっかり持って開発しないと脆弱なシステムが出来上がる。
0506nobodyさん2009/12/05(土) 23:26:46ID:???
PHPのフレームワークに比べて
Railsってセキュリティホール多い印象がある
0507nobodyさん2009/12/05(土) 23:49:22ID:???
>>506
http://pc12.2ch.net/test/read.cgi/tech/1257139591/181
0508nobodyさん2009/12/05(土) 23:55:51ID:???
印象だけで語られてもな・・・
ソースとかないの?
0509nobodyさん2009/12/06(日) 00:32:13ID:???
馬鹿は伝染るから気を付けよう
相手をしてスレのレベルが下がっていく様を何度も見てきただろう?
0510nobodyさん2009/12/06(日) 15:27:04ID:???
印象も何もChangeLog見れば分かるだろ
0511nobodyさん2009/12/06(日) 17:50:02ID:???
お前がchangelogのどのあたりを言ってるのかわからない
0512nobodyさん2009/12/06(日) 19:37:48ID:eFQH73Wn
Rails 3
http://railsnotes.com/rails-3/
[Last Updated: Nov 24th, 2009]
0513nobodyさん2009/12/06(日) 21:51:40ID:???
Rails2からだいぶ変わるのかなぁ
やっと2系に慣れてきたのにマジでだるいー
0514nobodyさん2009/12/06(日) 22:07:39ID:???
どうせならGUI環境にも力入れてほしいわ
NetBeansでも良いけど
0515nobodyさん2009/12/06(日) 22:44:15ID:???
IDEは別口だろう…
0516nobodyさん2009/12/07(月) 00:02:15ID:???
>>476-478
かなり亀ですが、レスありがとうございました。
独自のモデルメソッド?を作ってコントローラから呼ぶみたいなことしてました。
seed.rbはまだ試してないので、今度機会がある時はそちらを利用してみます。
ありがとうございました。
0517nobodyさん2009/12/07(月) 02:27:18ID:???
楽天がRoR使うって言ってたな
0518nobodyさん2009/12/07(月) 03:43:32ID:???
いや、すでに使ってるよ。
Ruby会議2009ではスポンサーにもなってるし、Railsに関する発表も行った。
まぁROMA(楽天が開発したKVS)の宣伝も兼ねてたと思うけど。
0519nobodyさん2009/12/08(火) 01:59:02ID:???
winでrailsで並列処理って出来ませんか?
backgroundrbはwin対応していないらしく・・・

サーバにファイルアップロードして、進捗を表示したい。ここはAJAXかな。
しかも並列処理でファイル変換処理の優先度を設定したい。

力技でやるとしたら、
ファイルかDBに変換処理情報書き出して、WINのタスクで実行して、
出来たファイルのサイズ監視して進捗を返すぐらいしか思いつかない・・
0520nobodyさん2009/12/08(火) 02:28:49ID:???
>>519
Threadでごりごりやればなんとかなるんでない
0521nobodyさん2009/12/08(火) 22:41:01ID:???
>>519
win32-serviceを使って変換処理を常駐させておいて、
Railsアプリと変換処理をdRubyでつなぐ、とか適当に考えてみた。
0522nobodyさん2009/12/09(水) 02:23:11ID:EO2jQSYV
http://www.chikawatanabe.com/blog/2009/12/webengineer.html
0523nobodyさん2009/12/09(水) 08:57:42ID:???
>>519
ファイル進歩具合なら、それは単にAJAXで出来そうな気がするが・・・
開発用サーバーで一個しか立ててないなら、他の処理はできないかもしれないが
0524nobodyさん2009/12/09(水) 08:59:29ID:???
てか、>>204にヒントがありそうだ。
・自前のDRbサーバをrunnerで動かす
・kovyrin's loops at master - GitHub
http://github.com/kovyrin/loops
0525nobodyさん2009/12/09(水) 15:46:47ID:???
mod_proxy_balancerとmongrelを使っています。
mongrelが起動していないときは
Service Temporarily Unavailable
というページが出るんですが、これをカスタマイズするにはどうしたらいいでしょうか。
やりたいことは、「現在停止中です。再開見込みは何時何分です。」というメッセージを出すことです。
0526nobodyさん2009/12/09(水) 16:56:42ID:???
>>525
mod_〜〜てことはapacheがフロントエンドだと思うんだけど、apacheの設定で503表示をカスタマイズすればいいんじゃまいか?
0527nobodyさん2009/12/09(水) 17:11:13ID:???
質問させてください。

Userモデル
Unkoモデル

があった場合、UserがUnkoごとにそれを所持しているかの状態を保持するためにUserUnkoPossesionモデルを作りました。
ユーザーのうんこ所持状態で、カラムは has_unko:boolean、user:references、unko:references です。

このような状態で、
  unkos = Unko.all
  user = my_user
のようにunkosと現在のuserがある場合、下記のように各unkoごとに
userがhas_unkoでunkoを持っているかどうかで場合分け処理したいのですが、
どのように書くのがスマートなものでしょうか?

unkos.each do |unko|
  :
end

Rails guideのassociationsを見ていたのですが、いまいちスマートな方法がわからず・・・
associationは以下のように書いています。

class UserUnkoPossesion < ActiveRecord::Base
  has_many :user_unko_possesions
  has_many :users, :through => :user_unko_possesions
end

class UserUnkoPossesion < ActiveRecord::Base
  belongs_to :user
  belongs_to :unko
end
0528nobodyさん2009/12/09(水) 17:12:25ID:???
>>527
下の方がミスってました。スマソ

class Unko < ActiveRecord::Base
??has_many :user_unko_possesions
??has_many :users, :through => :user_unko_possesions
end

class UserUnkoPossesion < ActiveRecord::Base
??belongs_to :user
??belongs_to :unko
end
0529nobodyさん2009/12/09(水) 18:06:20ID:???
RailsをSubversionで共同開発する場合ってgenerateで作成したファイル一つ一つにsvn addするんですか?
0530nobodyさん2009/12/09(水) 18:29:28ID:???
>529
$ script/generate xxx -c ... で作る。gitは -g
generateを引数無しで実行してみよう。

railsコマンドでも
$ svn co testapp (空)
$ rails -c testapp
$ cd testapp
$ svn commit
とか。

05315292009/12/09(水) 19:02:19ID:???
>>530
ありがとうございます!
まさに望んでた機能でした。Railsに抜かりなしですね
0532nobodyさん2009/12/10(木) 08:22:58ID:???
ActiveMailerでのメール送信がうまくいきません。
ログには
Sent mail to xxx@gmail.com
とあるので、ActiveMailerがメールを送信しようとしていることはわかりました。
ただActiveMailerが内部でどのようなコマンドを使ってメールを送信しているのかが
わからず、困っています。

ActiveMailerでメールが送信できないときに、どのような点をチェックしたらいいのか教えていただけないでしょうか。
たとえばsendmailが使えるか、とか。

0533nobodyさん2009/12/10(木) 09:22:43ID:???
ActionMailerは、自分でSMTPをしゃべる(net/smtp)ことも、
外部のsendmailコマンドに任せることも出来る。

設定はこのへんか。
config.action_mailer.delivery_method = :test | :smtp | :sendmail
config.action_mailer.sendmail_settings = {
  :location => '/usr/sbin/sendmail',
  :arguments = '-i -t'
}
以上リファレンスより。
0534nobodyさん2009/12/10(木) 11:27:09ID:???
初学者に対してIDEはどれがおすすめですか?
エディタ+コンソールで十分だとは思いますが、もしおすすめがあれば教えてください。
05355342009/12/10(木) 11:30:11ID:???
連投すみません。
もしくは、開発に何を使われていますか?
良いところも含めて教えてもらえるとありがたいです。
0536nobodyさん2009/12/10(木) 11:39:33ID:???
初学者は何使っても同じ。ツールの使い方で悩む。
自分が持ってる本に載ってるやつにしとけ。
0537nobodyさん2009/12/10(木) 12:17:29ID:???
IDE慣れしてるならNetBeans使った方がいいと思うなあ
デバッグ楽ちんだし
0538nobodyさん2009/12/10(木) 13:57:45ID:???
>>533
ありがとうございます。
ActiveMailerが内部でどういうコマンドをどういうオプションつきで起動しているか、調べる方法はありますか。
現在以下のような設定を行なっているのですが、うまくいきません。
ActionMailer::Base.delivery_method = :sendmail
ActionMailer::Base.sendmail_settings = {
:location => '/usr/sbin/sendmail',
:arguments => '-i -t',
}

現象としては、フォーム入力を受け取ってデータを作成し、そのときにObserverを使ってメール送信するようしています。
しかし実際にフォームを送信すると、HTTPレスポンスが返ってこずタイムアウトします。
どこでエラーになっているのかがまるでわからず、ActiveMailerのソースを読んでいるんですけど。。。わかりません。
0539nobodyさん2009/12/10(木) 14:00:10ID:???
sendmail のログを見たらいいんじゃね?
0540nobodyさん2009/12/10(木) 14:02:07ID:???
そもそも delivery_method = :test ではうまくいってるのかな。
どうなったか書かれていないからそこからきかにゃならん。
0541nobodyさん2009/12/10(木) 16:16:30ID:???
>>534-536
NetBeans使ってるよ。

Eclipse + aptanaもあるが、あれは重くてかなわんなw
0542nobodyさん2009/12/10(木) 16:23:27ID:???
debian + emacs + rinari + yasnippet
05435342009/12/10(木) 17:25:42ID:???
>>542
emacsで開発とか憧れです。

Aptana重いですよね。やっぱりnetbeansですかね。イマイチ使いこなせてない…。
0544nobodyさん2009/12/10(木) 20:46:43ID:???
ブラウザの戻るボタンを使わせないために、ブラウザにキャッシュをさせないようにしたいのですが、うまくいかないので相談にのってください。

あるページをブラウザにキャッシュさせたくなくて、以下のようにしました。
hdr = response.header
hdr['Cache-Control'] = 'no-cache'
hdr['Pragma'] = 'no-cache'
hdr['Expires'] = 'Thu, 01 Dec 1994 00:00:00'
キャッシュさせたくない理由は、ページを遷移したあとで、ブラウザの戻るボタンを使わせたくないためです。
それで、上のコードでうまくいくかと思ったのですが、うまくいかなくて困っています。つまり、戻るボタンで戻れてしまいます。

Firefox の Live HTTP Headers で見てみると、
Pragma: no-cache
Cache-Control: private, max-age=0, must-revalidate
Expires: Thu, 01 Dec 1994 00:00:00
というヘッダが出力されてました。なんか、Cache-Controlヘッダが書き変わっているんですが、こんなものでしょうか。

なお環境は Rails 2.3.4、Apache 2.2.13、mod_proxy_balancer + mongrel_rails 1.1.5 です。

よろしくお願いします。
05455272009/12/10(木) 20:58:13ID:???
class Unko < ActiveRecord::Base
  has_many :user_unko_possesions
  has_many :users, :through => :user_unko_possesions

  # 現在のユーザーが持っているかどうかを返す
  def is_selected_by_user
    possesions = user_unko_possesions.find_by_user_id(User.my_user)
    return possesions ? possesions.has_unko : nil
  end
end


Unko.all.each do |unko|
  puts "#{unko.name} is YOUR UNKO!!" if unko.is_selected_by_user
end

とかやってみたのですが、ループの度にSQLでfind_by_user_idが走るなど、
富豪的なのですが、もっとよい書き方はないのでしょうか?
05465272009/12/10(木) 20:59:16ID:???
>>545
is_selected_by_userじゃなかった。has_unko_by_userメソッドでしたミス失礼・・・
0547nobodyさん2009/12/10(木) 22:55:20ID:???
unkos = Unko.all(
:select => 'unkos.*, user_unko_posessions.user_id',
:joins => 'JOIN user_unko_posessions ON user_unko_posessions.unko_id = unkos.id')

とすると、それぞれの unko に user_id がついてくるぞ。文字列としてだけど。

0548nobodyさん2009/12/10(木) 23:03:15ID:???
unkos = Unko.all(:include => :users) ??
0549nobodyさん2009/12/12(土) 00:19:41ID:???
>>544
キャッシュさえしなければ「戻る」を使えないように
できると思ってるの?
0550nobodyさん2009/12/12(土) 01:19:06ID:???
というかアプリケーションからブラウザのそんなコアな機能を制御出来るの?
0551nobodyさん2009/12/12(土) 03:46:46ID:???
キャッシュしないなら、もう一度取りにくるだけだしな。
プロパや組織のネット管理者に、間に勝手に通過型プロクシ埋め込まれてキャッシュされる事も有るし、無視するブラウザも居るし。
フラッシュかアプレットかジャバアプリかドトネトアプリで、ブラウザに頼らずに自前で制御するしか無いよ。

http://pc12.2ch.net/test/read.cgi/tech/1252243498/
うーたんブラウザを作るスレ00001
http://pc12.2ch.net/test/read.cgi/tech/1023546699/
Geckoベースのブラウザを作ろう。
0552nobodyさん2009/12/12(土) 08:15:13ID:???
全部のページに
戻るボタンからアクセスされたら
元のページにForwardするjavascriptを埋めておく
0553nobodyさん2009/12/12(土) 10:37:46ID:???
urlに?yymmddhhmmssとか現在時刻のライムスタンプつけたらキャッシュされないんじゃないかな?
自分は、よく更新されるファイルをこれで最新版返すようにしたよ。
0554nobodyさん2009/12/12(土) 11:08:16ID:???
ちゃんとよく読んでレスしろよ

なんで戻らせたくないのかは書いてないが、
戻るボタンを押すとなんたらかんたらってメッセージが出るからじゃないのか?
05555272009/12/12(土) 12:40:11ID:???
>>547-548
ああ!そういうときにjoinsとかinclude使うのか。
SQLとかの知識少ないせいか最初、意味分からんかったw

サンクサンクス 試してみます
0556nobodyさん2009/12/12(土) 12:42:12ID:???
銀行の利用者用ページだと戻るおしたら戻った先で、表示できないことあるけどそういうことか?
0557nobodyさん2009/12/12(土) 18:09:44ID:???
amazonとか注意してないと同じもの二つ注文してたりするよな
0558nobodyさん2009/12/13(日) 19:52:52ID:???
そういうのはゴニョゴニュして検出するべきだけどね。
商用フレームワークとかだと当たり前に機能有ったりする。rorなら自前で用意するしかない。
金融系はちゃんと検出して、戻るボタンが押されましたとか表示するね。
0559nobodyさん2009/12/13(日) 23:56:52ID:???
そういう細かいケアをするのって日本くらいでは。
ユーザを無能のクレーマーと想定して作るのが生産性下げてると思う。
0560nobodyさん2009/12/14(月) 00:11:20ID:???
どうせいくら防御しても、ユーザーはとんでもないことやらかしてくれるからなー。
ダグラス・アダムスの警句は真だ。


0561nobodyさん2009/12/14(月) 01:29:59ID:???
金がらみのシステムとブログシステムとかは考え方を変えないと
0562nobodyさん2009/12/14(月) 02:24:38ID:???
>>559
なわけない。
http://www.google.co.jp/m/search?hl=en&q=Evil+Back+Button

日本人が気にするようなレベルはその先の話。
つまり「◯◯で大丈夫ですよ」と言われたら米国人は安心するが、
日本人はその処理の信頼性を調査する。
0563nobodyさん2009/12/14(月) 14:08:42ID:o/Pytjxa
>>558
>金融系はちゃんと検出して、戻るボタンが押されましたとか表示するね。

戻るボタン自体は受け付けてくれないと
本当に戻りたいときに困るよなぁ
0564nobodyさん2009/12/14(月) 14:28:04ID:???
もともとのページ遷移モデルが間違ってるんだよな
ajax でページ移動が一切起こらない設計にするべき
0565nobodyさん2009/12/14(月) 18:20:43ID:???
このスレで言うのもなんだが、WebアプリはSilverLightとかFlashとか、
バイナリにしてしまった方がいいと思うんだ。
0566nobodyさん2009/12/14(月) 18:40:53ID:???
>>565
バックエンドはRailsにすればこのスレの範疇w
全部Flashでもいいと思うが一般のwebサービスだとpermalinkとかないとちょっと困るな
0567nobodyさん2009/12/14(月) 18:47:01ID:???
質問があります。

認証プラグインAuthlogicを勉強してみた - MothProgのうしろがわ
http://d.hatena.ne.jp/mothprog/20090331/1238494900#c

Authlogicを入れてみているのですが、こちらのページでは下記のように
current_userのような現在のユーザーを取得する処理をapplication_controllerにおいています。

  def current_user
    return @current_user if defined?(@current_user)
    @current_user = current_user_session && current_user_session.user
  end

上記のように書いてみてうまく行ったのですが、
別のモデルからこのメソッドにアクセスしたいため、Userモデルに置きたいと考えています。

しかし、モデルに置いてUser.current_userなどのように取得する場合、

def current_user
return @@current_user if defined?(@@current_user)
@@current_user = current_user_session && current_user_session.user
end

などのようにクラス変数に格納するようにすると何故かうまく動作してくれません。
たぶん、Railsのサーバーの場合、モデルのクラス変数が初期化されないのだと思うのですが、
この場合の対処法はありませんでしょうか?
05685342009/12/14(月) 18:49:03ID:???
>>566
今はPermalink大丈夫。
05695672009/12/14(月) 18:49:37ID:???
すいません下のコード間違えました…

def self.current_user
  return @@current_user if defined?(@@current_user)
  @@current_user = UserSession.current_user_session && UserSession.current_user_session.user
end
05705342009/12/15(火) 12:11:56ID:???
「Railsによるアジャイル〜」の内容が本当にアジャイル過ぎて内容が理解しにくい…。
0571nobodyさん2009/12/15(火) 17:23:18ID:???
Railsで、クッキーが有効かどうかを調べる方法ってありますか。
0572nobodyさん2009/12/15(火) 23:01:42ID:???
それは Rails じゃなくて javascript の話です。
0573nobodyさん2009/12/15(火) 23:48:27ID:???
HTTPだけでやるには、最初にリクエストが来たときにクッキーを食わせて、
仮ページにリダイレクト、クライアントが改めてリクエストしてくるときに、
リクエストにそのクッキーが入っているかを見る。
で、必要なら仮ページから元のページにリダイレクトし直す。

とかだろうか?

0574nobodyさん2009/12/16(水) 00:52:24ID:???
>>572
おいおい・・・
0575nobodyさん2009/12/16(水) 00:55:11ID:???
>>573
仮ページを介さずとも同じところにリダイレクトでいいよーな気がする。
0576nobodyさん2009/12/16(水) 11:59:09ID:???
ページ推移をゴニョゴニョすればいい。
商用フレームワークなら当たり前についてる機能だ。
rorは自力でがんばれ。

フラッシュは最近もセキュリティの問題が発見されたし脆弱過ぎる。企業とか無効にしてる所も多いしな。後はアイフォンが非対応でマカが騒ぐとか。グーグル携帯使えでおkだが。
05775342009/12/16(水) 16:10:13ID:???
何この「商用フレームワークうんぬん」の人気持ち悪い
0578nobodyさん2009/12/17(木) 15:02:21ID:???
>>577
同感
0579nobodyさん2009/12/17(木) 15:38:45ID:???
FastCGIが嫌われてる理由がよくわからない
0580nobodyさん2009/12/17(木) 16:53:09ID:???
Railsとmod_proxy_balancerについての質問です。

現在、あるサイト (http://www.foo.com) をRailsでつくりました。
で、それの管理画面を https://securesite.com/foo/admin にしようとしています。
そのために、以下のような設定をhttpd.confに追加しました。

ProxyRequests Off
ProxyPass /foo/images !
ProxyPass /foo/stylesheets !
ProxyPass /foo/javascripts !
ProxyPass /foo/ balancer://railsapp/
ProxyPassReverse /foo balancer://railsapp/
<Proxy balancer://railsapp>
BalancerMember http://127.0.0.1:8000 loadfactor=20
BalancerMember http://127.0.0.1:8001 loadfactor=20
</Proxy>

これで動くようにはなったんですが、問題があります。
(つづく)
0581nobodyさん2009/12/17(木) 16:56:09ID:???
(つづき)

https://securesite.com/foo/admin/ にリクエストがあった場合、
 Rails には /admin/ へのリクエストとして届くようです。
 そのため、'/foo' は無視して
   class AdminController < ApplicationController
    def index
    end
    ...
   end
   map.resources :admin
 とする必要があります。

・しかしこれだと admin_path() が '/admin' を返すのです。
 そうではなくて admin_path() は '/foo/admin' を返すようにしたいのですが、できますか。

・あるいは、Railsでは
  map.namespace :foo do |x|
   x.resources :admin
  end
 として、mod_proxy_balancerのほうで http://securesite.com/foo/admin へのアクセスを
 Rails に /foo/admin へのリクエストとして渡せることができればいいんですけど、
 Apacheのマニュアル読んでも分かりませんでした。そんな設定を知っている人がいたら教えてください。
0582nobodyさん2009/12/17(木) 23:10:49ID:???
「Rails サブディレクトリ」で検索したらいろいろ出てくるけどこういうのと違う?
サブディレクトリ下で Rails 2.3 を動かすときの注意点
http://www.yohasebe.com/2009/5/30/rails23/
0583nobodyさん2009/12/18(金) 18:46:13ID:???
Railsがリクエストを受け取ってからコントローラで処理するまでの流れを知りたいのですが、なにかいい方法はありますか。
ソースを読むならここを読めというのがあれば教えてください。
バージョン:Raisl2.3.5
0584nobodyさん2009/12/18(金) 22:24:46ID:???
>>579
プロセスの生き死にの管理が面倒。
いつの間にかささってレスポンス返さなくなったときに、
それを発見して、killして、新しいプロセスを立ち上げるというのを
大抵は自前でどうにかしないといけない。
ウェブサーバを落としても、プロセスは生きてたりするしね。
0585nobodyさん2009/12/18(金) 22:27:39ID:???
>>583
class ApplicationController < ActionController::Base
def index; raise; end
end

とでもして、ログに出るスタックトレースにしたがってソースを読めばいいかと。
0586nobodyさん2009/12/19(土) 00:49:48ID:???
>>585
頭いいなあ!さんくす
0587nobodyさん2009/12/19(土) 08:50:16ID:???
>>584
でもruby以外にpythonやマイナーな言語で書かれたものとか混合しようとするとFastCGI以外になさそうなんですよね
0588nobodyさん2009/12/19(土) 15:47:38ID:???
定期的に再起動すればいいだけ。

http://pc11.2ch.net/test/read.cgi/php/1141214874/
【fcgi】FastCGI 総合スレッド
http://pc11.2ch.net/test/read.cgi/php/1149505269/
【激速】mod_perl SpeedyCGI FastCGI【激速】
0589nobodyさん2009/12/20(日) 09:19:26ID:???
FastCGI入れられる環境なら、Ruby側はpassengerつかっときゃいいような気がするが。
自動再起動機能もあったろう
0590nobodyさん2009/12/20(日) 09:21:27ID:???
>>583
NetBeansなどIDEでブレークポイントし掛けてソース追っていく方法はあるよ。

俺はRailsのデバッグ、というかソース追って読むの挫折したw
method_missingとかのせいか遷移がわけわからん。
0591nobodyさん2009/12/21(月) 19:39:55ID:fEey4yBh

Rails 3 in Action
http://www.manning.com/katz/

Deal of the day for December 21, 2009
Megadeal! 50% off all ebooks
http://archive.constantcontact.com/fs043/1101335703814/archive/1102861452175.html

0592nobodyさん2009/12/21(月) 22:14:09ID:fEey4yBh
http://railsnotes.com/rails-3/
0593nobodyさん2009/12/23(水) 18:38:55ID:???
Railsで、404 Not Foundを返すときはどうするのがいいでしょうか。
Merbだとそれ用の例外を投げるという実にわかりやすい方法があったのですが。
ちなみにRails2.3.5です。
0594nobodyさん2009/12/23(水) 19:02:40ID:???
コントローラ内で render 凝りまくったエラー画面, :status => :not_found
としてもよいけど、例外単位でよければ以下のように。

ActionController::Base.rescue_responsesに例外クラス名とステータスを登録する。
たとえば
ActionController::Base.rescue_responses['ArgumentError'] = :bad_request
デフォルトで ActiveRecord::RecordNotFound なら :not_found みたいなのが登録さ
れている。

通常の例外時の動作は public/STATUS.html を返す(render_optional_error_file)
だけなので、これを変更したければ rescue_action_in_pubic などをカスタマイズする。

なお、development だと、そのままでは開発向けエラー画面が出るので、
エラー画面自体の確認をしたいときは config/environments/development.rb の
consider_all_requests_local を false にし、ループバック(localhost や 127.0.0.1)以
外のアドレスでサーバにアクセスする。

ソースは action_controller/rescue.rb
0595nobodyさん2009/12/23(水) 19:31:48ID:???
>>594
参考になりすぐる!ありがと。
0596nobodyさん2009/12/23(水) 22:02:53ID:???
>>594
横体がありがとあい
0597nobodyさん2009/12/24(木) 00:22:36ID:???
ファイルをアップロードするときにセキュアにするにはどうしたらよいのでしょうか?
ssl通信等を使用する方法はどのあたりを調べるとわかるでしょうか?
0598nobodyさん2009/12/24(木) 02:13:09ID:???
>>597
HTTPS自体はアプリ側で特に意識する必要はないよ。
どっちかというとWebサーバの設定。
0599nobodyさん2009/12/24(木) 09:17:32ID:???
>>594
例外の処理には rescue_from というのもあるわん。
0600nobodyさん2009/12/24(木) 20:39:55ID:???
Herokuってどうなの?
0601nobodyさん2009/12/25(金) 00:25:14ID:???
>>598
そうなんですか.ありがとうございます.
0602nobodyさん2009/12/25(金) 19:50:30ID:???
ロケーションバーからアクションに直接アクセスされた場合のみ他ページへのリダイレクトをかけたいんですが,どうやればよいのでしょうか?

例えばViewで,
<div id="sample">
<%= select("foo", "bar", data) %>
<%= observe_field(:foo_bar, {
:update => :baz,
:on => 'change',
:url => { :action => :some_action },
:with => "'foo_bar=' + value"}) %>
</div>
となっている場合,ブラウザのロケーションバーから直接localhost:3000/controller/some_actionへアクセスされた際に,
他のページへリダイレクトさせたいです.
コンボボックスの選択変更によりsome_actionが起動した際には,リダイレクトしないようにしたいです.
some_action内にそのままredirect_toを書いてしまうと,コンボボックスの選択変更でsome_actionが起動したときにもリダイレクトしてしまうので困っています.
0603nobodyさん2009/12/25(金) 20:14:54ID:???
>>602
request.referrer を見る。(referでも可:-)
ただし、送らないように設定している人がアクセスできなくなる。

今回はAJAXみたいなので、別解として
verify :xhr => true, :only => :some_action
も紹介しておく。今回はたぶんこっちがよいのでは?

0604nobodyさん2009/12/25(金) 21:35:57ID:???
>>603
なるほど,そうすればいいんですか.
思ったとおりに実現できました.ありがとうございます.
0605nobodyさん2009/12/26(土) 04:11:25ID:???
rails2.3.5使う場合って
rubyのバージョンは1.8.6推奨なの?
reeは1.8.7出てるから、そろそろ1.8.7?
0606nobodyさん2009/12/26(土) 09:30:19ID:???
2.3系はどっちでもえーよ。
3.0.preでは1.8.6は切り捨て。
0607nobodyさん2009/12/26(土) 12:36:12ID:N7t9YIOf
古い資産がないなら1.8.7使っておいた方が良いような気がする
0608nobodyさん2009/12/26(土) 14:30:42ID:???
そもそも、railsの人って1.8.6じゃなきゃダメみたいなイメージがあるんだけど
1.8.6と1.8.7の差ってそんなに大きいの?
0609nobodyさん2009/12/26(土) 16:12:06ID:???
1.8.6を捨てたくなる程度には大きい。
0610nobodyさん2009/12/26(土) 18:16:55ID:5fe5VdgJ
Ruby 1.8.7で使えるようになったRuby 1.9のメソッドたち - (rubikitch
http://d.hatena.ne.jp/rubikitch/20080508/ruby187

http://drnicwilliams.com/2009/11/03/first-look-at-rails-3-0-pre/

0611nobodyさん2009/12/26(土) 22:35:03ID:???
>>600
どうっていうと?
デプロイは異常に楽だよ。
DBに溜め込むデータ量が少ない自分専用の小物アプリくらいなら無料でもいける。
まともなアプリを設置するには有料じゃないと無理。
0612nobodyさん2009/12/27(日) 02:54:47ID:???
rails3っていつベータリリースされんの?
0613nobodyさん2009/12/27(日) 03:56:24ID:???
まだlighthouseにも日付が出てないな。
見たいだけならgitからどーぞ。
0614nobodyさん2009/12/27(日) 05:59:02ID:???
from/to日付の入力チェックの際に
from>to ならエラーとするようなvalidateを書いたんだが

def validate
errors.add(:from_date, "日付が不正です。") if (from_date > to_date)
end


エラー発生時にfrom/toどちらとも赤い四角(class="fieldWithErrors")で囲む方法ってある?
0615nobodyさん2009/12/27(日) 09:48:34ID:???
>>614
そういうカスタマイズって、Railsは難しいよねー


質問なんですけど、ruby script/console してから、FooController.new.index()を実行するとエラーになります。
consoleのなかからControllerオブジェクトを生成するただしい方法を教えてください。
0616nobodyさん2009/12/27(日) 11:42:20ID:???
>>615
app というオブジェクトがある。

script/console> app.get '/foo/index'
のようにリクエストを投げると
script/console> app.controller
に対応するコントローラがセットされる。

0617nobodyさん2009/12/27(日) 14:33:15ID:???
>>614
フレームワークの範囲内でやるには、関係が満たされていないときに
両方を errors.add すればいいんじゃない?

0618nobodyさん2009/12/27(日) 17:34:38ID:???
>>605
http://rubyonrails.org/download みると冒頭に
We recommend Ruby 1.8.7 for use with Rails.
とある。
06196142009/12/27(日) 19:31:19ID:???
>>617
それだとエラーメッセージの表示がすっきりしない。
どうしたもんか。
0620nobodyさん2009/12/28(月) 01:09:51ID:???
>>619

全く未検証ながら、
ActionView::Base::Helpers::ActiveRecordHelper#to_date_select_tag(など)の定義を
app/helpers以下にコピってきて、

error_wrapping(to_date_select_tag_without_error_wrapping(options, html_options),
  object.errors.on(@method_name))
を、
has_error =
case @method_name
when :from_date, :to_date; object.errors.on(:from_date) or object.errors.on(:to_date)
else objet.errors.on(@method_name)
end
error_wrapping(to_date_select_tag_without_error_wrapping(options, html_options), has_error)
と書き換えた定義を作る。

from_date to_dateのフィールドのエラーを判定するときだけ相方のエラーも考慮。
0621nobodyさん2009/12/28(月) 06:27:12ID:6MaAP7GA
Rails and Merb Merge: The Anniversary (Part 1 of 6)
http://www.engineyard.com/blog/2009/rails-and-merb-merge-the-anniversary-part-1-of-6/

The Rails 3 Router: Rack it Up
http://yehudakatz.com/2009/12/26/the-rails-3-router-rack-it-up/
0622nobodyさん2009/12/30(水) 06:18:07ID:p1BkGZKi
【PHP】フレームワーク Akelos
http://pc11.2ch.net/test/read.cgi/php/1187333485/l50
0623nobodyさん2009/12/30(水) 10:01:16ID:+1QPHe9X
あけおめ
0624nobodyさん2009/12/30(水) 11:20:23ID:p1BkGZKi

Rails and Merb Merge: Performance (Part 2 of 6) | Engine Yard Blog
http://www.engineyard.com/blog/2009/rails-and-merb-merge-performance-part-2-of-6/
0625nobodyさん2009/12/30(水) 11:30:17ID:???
毎日1本ずつかと期待してたがやっとパート2が来たか。
0626nobodyさん2009/12/30(水) 15:10:49ID:???
Ruby1.9.2が正式リリースされないと、Railsも正式リリースされないんだろうな
1.9.2はpreview2も出ないし、まだ先なのかね
0627nobodyさん2009/12/30(水) 15:57:14ID:???
RubySpec走らせようぜぇ
0628nobodyさん2009/12/31(木) 06:41:41ID:0ZeyyLVy
dhh

@37signals is already running a few minor apps on Rails 3. We've just started playing w/ porting Basecamp. Exciting times!
http://twitter.com/dhh/status/7208264678

http://twitter.com/dhh/status/7107817801
Very tentative target date for Rails 3 beta is end of January. But core is staffed with volunteers, so very much subject to change.
about 1 hour ago from Echofon
0629nobodyさん2009/12/31(木) 06:58:56ID:0ZeyyLVy
@sockmonk 1.8.7. Rails 3 requires 1.8.7.
http://twitter.com/wycats/status/7138079908

dhh

@37signals is already running a few minor apps on Rails 3. We've just started playing w/ porting Basecamp. Exciting times!
http://twitter.com/dhh/status/7208264678

Very tentative target date for Rails 3 beta is end of January. But core is staffed with volunteers, so very much subject to change.
http://twitter.com/dhh/status/7107817801
0630nobodyさん2009/12/31(木) 08:31:33ID:0ZeyyLVy
Very tentative target date for Rails 3 beta is end of January. But core is staffed with volunteers, so very much subject to change.
http://twitter.com/dhh/status/7208225785
dhh
0631nobodyさん2009/12/31(木) 14:23:44ID:???
何度も書くほどの事かね.

dogfooding出来る程度動くようにはなってきたというのはわかった
0632nobodyさん2009/12/31(木) 22:48:13ID:0ZeyyLVy









0633nobodyさん2010/01/03(日) 01:04:56ID:???
railsでleft join whereって使えないよな。
has_manyとかはidしか条件にしないし、他の条件を使えない気がする。
0634nobodyさん2010/01/03(日) 17:24:17ID:Kv5gn0C+
http://github.com/rails/arel
0635nobodyさん2010/01/04(月) 00:12:50ID:???
>>634
ほほぅ
0636nobodyさん2010/01/04(月) 00:15:11ID:???
>>633
:joins 指定すればいいという話ではなく?
0637nobodyさん2010/01/04(月) 00:32:56ID:???
Railsの勉強で、簡単なブログツールを作っています。
記事のモデルオブジェクト(Post)にコメント数を表すカラム(comment_count)を作成しているのですが、これの更新方法がよくわかりません。
たぶんトランザクションを使って、コメントが保存できたらcomment_countを1増やすという方法になると思うのですが、
以下のようなコードであっているでしょうか。どなたか添削をお願いします。

def add_comment
 # ブログ記事のモデルオブジェクトを検索
 post = Post.find(params[:id]) or raise ActiveRecord::RecordNotFound.new
 # コメントオブジェクトを作成し、記事IDを設定
 comment = Comment.new(params[:comment])
 comment.post_id = post.id
 begin
  # トランザクション開始
  Post.transaction do
   # コメントをセーブ
   comment.save!
   # コメントがセーブできたら、コメント数を1増やす
   post.comment_count += 1
   post.save!
  end
  # エラーがなければ 'OK' を出力
  render :text=>'OK'
 rescue ActiveRecord::RecordInvalid => ex
  # エラーがあれば、エラーメッセージを出力
  errmsg = comment.errors.collect{|arr| arr.join(': ')}.join("¥n")
  response.status = 422
  render :text=>errmsg
 end
end
0638nobodyさん2010/01/04(月) 01:57:03ID:14ehE+TL
無駄が多くて全然railsっぽくない。以下のようにするといいよ。

def add_comment
 # ブログ記事のモデルオブジェクトを検索
 post = Post.find(params[:id]) # raise は明示的に書く必要はない。

 # アソシエーションを利用してコメントオブジェクトをビルド(post_idは自動的に代入される)
 comment = post.comment.build
 # パラメーターでアップデート(うろ覚えなのでシンタックスエラーがあるかも)
 comment.update_attributes!(params[:comment])
end

コメント数はcomment_countカラムを作らずに以下で数えるほうがいいと思うけど。よほど膨大な(100万単位の)コメントがつかない限り。
Comment.count(:conditions => 条件)

0639nobodyさん2010/01/04(月) 02:01:50ID:???
>>636
なるべく生のsql文は使いたくなくて
でもまぁこれが一番手っ取り早いか
0640nobodyさん2010/01/04(月) 02:08:21ID:???
営業能力も上げていかないと技術だけでは35歳以上はこの業界では生き残れないと断言しよう
40歳過ぎにもなれば、営業能力70%技術力30%くらいの割合になるマジで
同じ会社で死ぬまで雇ってもらえるなら別だが
そんな保障はどこにもない
0641nobodyさん2010/01/04(月) 02:09:27ID:14ehE+TL
それに def add comment でなくて、
restfulに書くならばComment Controllerを作って、createアクションで処理する方がいいよ。
before_filter でPost.find(:post_id) を常にしておくべき。
そうすればその情報を使ってアソシエーションに沿ってコメントを作成できる。
0642nobodyさん2010/01/04(月) 14:14:39ID:CMnexdc2
Rails 3.0.pre で遊ぶ準備
http://sakuro.tumblr.com/post/305322764/rails-3-0-pre
0643nobodyさん2010/01/04(月) 20:11:46ID:CMnexdc2
Getting a New App Running on Edge
http://weblog.rubyonrails.org/2010/1/1/getting-a-new-app-running-on-edge
So people have been attempting to get a Rails app up and running recently.
I also have some apps in development on Rails 3
0644nobodyさん2010/01/04(月) 20:48:54ID:???
>>637
自習するのは止めないけど、belongs_to の :counter_cache も忘れないで。
0645nobodyさん2010/01/04(月) 23:22:51ID:???
>>639
亀レスだが has_many :people, :foreign_key=> 'original_key_name'
とかじゃダメなのか?
0646nobodyさん2010/01/05(火) 02:00:40ID:???
>>645
おぉ。これでkeyを指定できるようになるのか。便利。
0647nobodyさん2010/01/05(火) 06:24:05ID:???
>>638
どうもありがとうございます。raiseは書かなくていいんですか。なるほどー。

> コメント数はcomment_countカラムを作らずに以下で数えるほうがいいと思うけど。よほど膨大な(100万単位の)コメントがつかない限り。
> Comment.count(:conditions => 条件)

すべての記事を、コメントやトラックバックの多い順でソートする機能を付けようとしています。
その場合、記事ごとにコメント数がついていたほうが簡単かつ高速なので、comment_countカラムを作っています。
とりあえず、トランザクションまわりについては>>637であってるのでしょうか。
詳しい方、お願いします。
0648nobodyさん2010/01/05(火) 10:27:07ID:???
>>647
コメント削除したらコメントカウントのカラムもupdateしないといけない
面倒くせ
0649nobodyさん2010/01/05(火) 10:42:18ID:???
ソートする機能を考慮しても
コメント数はcomment_countカラムを作る必要性がわからん
また高速性を考えるならrailsを使う意味がない、生産性重視ならcomment_countカラムはいらん
0650nobodyさん2010/01/05(火) 10:57:18ID:DXl89df8

イノベーションのジレンマ - Wikipedia
http://ja.wikipedia.org/wiki/%E3%82%A4%E3%83%8E%E3%83%99%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AE%E3%82%B8%E

ディスラプティブ技術 - Wikipedia
http://ja.wikipedia.org/wiki/%E3%83%87%E3%82%A3%E3%82%B9%E3%83%A9%E3%83%97%E3%83%86%E3%82%A3%E3%83%96%E6%8A%80%E8%A1%93

スタートアップの始め方
http://www.aoky.net/articles/paul_graham/start.htm
テクノロジーの世界では、常にローエンドがハイエンドを食っている。
安価な製品をより強力にするほうが、強力な製品を安くするよりも簡単なのだ。
だから安価でシンプルというところから始めた製品は徐々に強力なものへと成長していき、水が部屋に満ちるように、
「ハイエンド」の製品を天井の方へと押し込めることになる。
Sunはこれをメインフレームに対して行い、IntelはSunに対して行っている。
0651nobodyさん2010/01/05(火) 14:54:37ID:s5/1mF78


Twitter創始者が語るWeb 2.0の要諦 ― @IT
http://www.atmarkit.co.jp/news/200711/16/twitter.html
Railsを使って2週間でプロトタイプが完成
ウィリアム氏がOdeo内で始めた小さなプロジェクトが「Twitter」だ。
Ruby on Railsを使って2週間で最初の動くバージョンを作り上げたという。


Twitterをはじめると2週間でブログの更新が止まる理由 そしてはじまる(かもしれない)総表現社会 - mizchi log
http://d.hatena.ne.jp/mizchi/20090711/1247265579

0652nobodyさん2010/01/05(火) 22:42:48ID:???
>>647
transactionの使い方はそんな感じでいいと思う。
do..endのなかでsave!とかupdate_attributes!ね。AR::RecordNotSaved系の
例外が飛んで、transctionがrollbackする。

ただ、検索したり保存したりは >>638 の書いているコードのほうがキレイなので
それを参考にした方がいい。

コメント件数は>>644のいうとおり、counter_cacheを使うと同じようなことを
ARが勝手にやってくれるので、プロダクションコードではそちらを使う方がいいと思う。

あと >>649
> また高速性を考えるならrailsを使う意味がない、生産性重視ならcomment_countカラムはいらん

んなこたない。
counter_cacheなり、それの自作なりを使わないでソートするためには、
Rubyでゴリゴリ書くか、相関サブクエリ使うことになると思うんだけど、
前者はさすがに遅い/無駄だし、後者は面倒なだけだと思うんだけどどうか。
0653nobodyさん2010/01/06(水) 03:03:28ID:???
>>652
コメントカウント出すサブクエリなんてなんて1分もあれば書けるだろ
面倒なのかな?
0654nobodyさん2010/01/06(水) 12:25:42ID:3+83O9QS
Rails 3 in Action
http://www.manning.com/katz/
Yehuda Katz
MEAP Release: 2009
Softbound print: April 2010 (est.) | pages
ISBN: 9781935182276

1. Building Your First Rails 3.0 Application
2. Overview of the Rails stack(s) + architecture
3. Creating Rails Applications
4. Using DataMapper for Models
5. Using ActiveRecord for Models
6. Other Choices for Models
7. Processing Requests
8. Routing in Rails 3
9. Customizing Views
10. Working on the Client Side
11. Supporting Characters
12. Using the Plugin API
13. Testing Your Applications
14. Deploying a Rails Application
15. Scaling Rails

Appendix A Just enough advanced Ruby
Appendix B The migration story
Appendix C Rails 2 to Rails 3
Appendix D Merb 1 to Rails 3
0655nobodyさん2010/01/06(水) 16:39:08ID:3+83O9QS
http://www.engineyard.com/blog/author/yehudakatz/
0656nobodyさん2010/01/06(水) 16:45:50ID:3+83O9QS
Rails 3 beta eyed for late January release
http://www.computerworld.com/s/article/9143084/Rails_3_beta_eyed_for_late_January_release?taxonomyId=1
0657nobodyさん2010/01/07(木) 09:51:46ID:acpOW5s0
David Heinemeier Hansson
Bibliography
http://www.amazon.com/David-Heinemeier-Hansson/e/B001JS19Y8/
0658nobodyさん2010/01/08(金) 02:25:13ID:???
SQLite3で排他制御する場合どうすればいいですか?

SQLite3にはSELECT FOR UPDATEはないので
find(:lock => true)は使えないですよね。

トランザクションを
BEGIN IMEDIATE TRANSACTION
で開始すればいいのじゃないかと思うんですが
どこに書いたらいいものか分かりません。
0659nobodyさん2010/01/09(土) 14:09:25ID:C3iGMVdd
SELECT FOR UPDATE なんて使わないから、使える
0660nobodyさん2010/01/09(土) 18:20:07ID:eVooFF5+

Phusion Passenger 2.2.9 released
http://blog.phusion.nl/2010/01/08/phusion-passenger-2-2-9-released/
Fixed compatibility with Rails 3.
0661nobodyさん2010/01/10(日) 02:02:57ID:???
>>659
すいません。
だれ(なに)が使わないので
だれ(なに)が使えるのでしょうか?

0662nobodyさん2010/01/10(日) 12:04:22ID:shGxwVTU
http://intertwingly.net/projects/dashboard.html
0663nobodyさん2010/01/10(日) 12:10:39ID:shGxwVTU

http://intertwingly.net/projects/AWDwR4/
0664nobodyさん2010/01/10(日) 21:44:08ID:???
>>659
小学生でもわかる日本語でおねがいします
0665nobodyさん2010/01/11(月) 11:52:44ID:???
馬鹿にはrorは無理。
0666nobodyさん2010/01/11(月) 17:01:28ID:???
config/environment.rb にいろんな設定書くけど、
独自に設定を追加してもいいんでしょうか。
Rails::Initializer.run do |config|
 config.my_value = 'foobar'
end
みたいな。
あと、それを追加したとして、読み出す方法を教えてください。
0667nobodyさん2010/01/11(月) 19:32:25ID:yaZxWBJR
ActiveModel: Make Any Ruby Object Feel Like ActiveRecord
http://yehudakatz.com/2010/01/10/activemodel-make-any-ruby-object-feel-like-activerecord/
0668nobodyさん2010/01/11(月) 20:46:07ID:???
>>666
config(Rails::Configuration)はRails本体の設定しか受け付けない。
定数使って
MY_CONFIG = { :foo => 'bar', :hoge => 'fuga' }
のようにするのが手っ取り早い。

ちなみにアプリの利用者が変更する必要がない設定は
config/environment.rbやconfig/enviroments/*.rbに書く。
利用者が変えられる設定ならconfig/initializers/*.rbに書く(2.0以降のみ)。

設定が大量になりそうならYAMLファイルで外に出してenvironment.rbなどから読み込むか、
configatronのようなプラグインを使うか。
0669nobodyさん2010/01/12(火) 00:22:34ID:???
質問主ではないが、勉強になった。
ありがとん > 668
0670nobodyさん2010/01/12(火) 03:14:39ID:???
ここでアホな質問してる人らって、わからんことあったらまずここに書いて
のんびりテレビでも見てんの?
0671nobodyさん2010/01/12(火) 04:35:12ID:???
アホな質問続きだが
railsで使用しているpluginのバージョンを一括表示する方法ってない?
script/about みたいな感じで。
0672nobodyさん2010/01/12(火) 04:46:22ID:609VTkN+


Rails and Merb Merge: Plugin API (Part 3 of 6) | Engine Yard Blog
http://www.engineyard.com/blog/2010/rails-and-merb-merge-plugin-api-part-3-of-6/
0673nobodyさん2010/01/12(火) 19:07:46ID:???
Paginateを使いたいのですが以下のエラーが出ます。
---
undefined method `total_pages' for #<Array:0x5bcc4d8>

Extracted source (around line #42):
42: <%= will_paginate @items %>
---

scaffoldで新しくひな形を作り、

environment.rb の一番下に require 'will_paginate'

index.html.erb の一番下に <%= will_paginate @items %>

pages_controller.rb に
def list
@items = Item.paginate :page => params[:page], :per_page => 10
end

これらを追加しただけなのですが、何が原因でしょうか。
0674nobodyさん2010/01/12(火) 20:02:14ID:???
質問させてください。

テストサーバー(staging環境)用にproduction環境でRailsアプリを動かしているのですが、
エラーが出たときにサーバーにもぐっていちいちlog/production.logを見るのが面倒です。
また、サーバーのログイン権限が無い開発者にもローカルの開発サーバー(webrickやmongrelのdevelopment環境)のように
エラー内容を人目でわかるようにしたいのですが、そのようにエラーを表示する方法はないものでしょうか?
0675nobodyさん2010/01/12(火) 20:27:20ID:4XZzyMEc
>>666
configatron
http://www.moongift.jp/2008/09/configatron/
0676nobodyさん2010/01/12(火) 22:54:24ID:???
>>673
なぜpages_controller.rb? その説明だけだと、items_controllerになりそうな感じだけど。
0677nobodyさん2010/01/12(火) 22:57:41ID:???
>>671
これ使うとか。自分はまだ使ったことないけど。
http://github.com/grosser/tracked_plugins

>>673
ヘルパーメソッドのwill_paginateに渡すのはArrayじゃなくて、
paginateの戻り値のWillPaginate::Collectionじゃないといけない。
なので、コントローラかビューのなかで@itemsをArrayにしちゃってないか確認してみて。

>>674
・Exception Logger:DBにエラーを保存してアプリ上で閲覧
・Exception Notifier:エラーをメールで送信
・Syslogに記録:http://blog.s21g.com/articles/229
・Clarity:ログ監視ウェブアプリ http://www.moongift.jp/2009/11/clarity/
0678nobodyさん2010/01/14(木) 21:03:02ID:MmCuc8fs

Do One Thing for Rails 3 on January 16th and 17th
http://railsbridge.org/news_items/10
06796742010/01/14(木) 21:35:26ID:???
>>677
たくさんありがとうございます!

一番下の見ていて、webでログ監視すればいいのかって気づいて
tailコマンドのphp版設置してみました。部内LANサーバーなので問題ないです。
php1ファイルで設置らくちんw ちょっと不便ですが、致命的になるまではこれで試してみます。
jQueryとPHPでLinuxのtailコマンドを実装する - EC studio 技術ブログ
http://techblog.ecstudio.jp/tech-tips/phptail.html
0680nobodyさん2010/01/15(金) 16:09:17ID:???
MYSQLで以下のようなテーブルを使っています。
| id | name | email | check(boolean型) |

restful_authenticationプラグインのsignupでユーザーを新規登録した時、
"check"に自動的に0の値を入れたいのですがどのようにすれば良いでしょうか?
0681nobodyさん2010/01/15(金) 17:33:21ID:???
スキーマ定義を触れるならMySQLのcreate tableのほうで、
checkカラムにデフォルト値0を設定しておけばいいと思う。
create/save時に未指定なら0が入る。
あとはbefore_saveとかafter_initializeとかのフック。
0682nobodyさん2010/01/16(土) 04:57:42ID:???
>>680
はてなのタケルンバさんのblogで丁寧にまとめられていますよ
0683nobodyさん2010/01/16(土) 20:30:35ID:???
基本的にJava屋で、今年からRailsをやってます。

find_by_sqlってのを見つけた瞬間、

find_by_sql("select col1, col2 from table")

って感じで使いまくってんだけど、これっていいのだろうか?
だっせー、かっこわりーって思われないだろうか?
0684nobodyさん2010/01/16(土) 20:37:30ID:???
求めるタスクがこなせてるならいーんじゃない?
0685nobodyさん2010/01/16(土) 21:25:58ID:???
>683
ダサい。
なんでリファレンスをちゃんと読まないんだ。自称Java屋のくせに。
0686nobodyさん2010/01/16(土) 22:29:46ID:???
>>683
ほんとにその程度のSQLで使ってるのなら、
ださいとかじゃなくてありえない
0687nobodyさん2010/01/16(土) 23:25:29ID:???
もう転職考えた方がいいレベル
0688nobodyさん2010/01/17(日) 00:01:02ID:???
>>683
>find_by_sql("select col1, col2 from table")

あれ、Table.find() って col1, col2 の指定ってできたっけ?
できなかったと思うから、自分もfind_by_sqlよくつかうよ。

0689nobodyさん2010/01/17(日) 00:04:41ID:???
外のカラムが不要な場合は Table.find(:all, :select => 'col1, col2')
0690nobodyさん2010/01/17(日) 00:05:44ID:???
うおっ

× 外(ほか)
○ 他(ほか)
0691nobodyさん2010/01/17(日) 03:56:17ID:???
タケルンバに失笑されるレベル
Javaフレームワークは使ったことないんだろか
0692nobodyさん2010/01/17(日) 10:33:43ID:???
>>688
間違えた、find_by_sql()じゃなくてActiveRecord::Base.connection.select_rows(sql)だった。
group byやhavingが入るようなsqlだとこっちのほうが楽なんだけど、そんなことない?
0693nobodyさん2010/01/17(日) 10:41:10ID:???
AR::Baseとして取り出す必要がないならそれも手ではある。
0694nobodyさん2010/01/17(日) 11:30:47ID:???
パフォーマンス(笑)のためだったりするんだろうか。
0695nobodyさん2010/01/17(日) 16:13:12ID:mYKzzqeT
683です。

なるほど、やっぱりダサいのか
ちなみに例に上げたのは簡単なやつだけど
実際に使ってるのは、サブクエリーが絡むような複雑なやつなんだけどね

>> 691
Hibernate使ってたけど、あまり好きじゃないね

>> 694
find_by_sqlの方が、パフォーマンスよくなるん?
0696nobodyさん2010/01/18(月) 09:03:43ID:BApO165G

日本の富豪40人(2010年) - フォーブス長者番付・億万長者ランキング
http://memorva.jp/ranking/forbes/201001_japan_richest40.php
田中良和 グリー創業者 IT 32 1.60 1456億円
笠原健治 ミクシィ創業者 IT 34 0.72 655億円
0697nobodyさん2010/01/19(火) 13:32:36ID:aU7LUmun
passengerでrails動かしたいのですが、
DocumentRootにアクセスしてもdispatcher.fcgiのソースが表示されてしまいます。

これって正しくモジュールが読み込まれてないからなんでしょうか。
httpd.confにはLoadModuleもしてるしapacheのエラーは出てません。
LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.2.9/ext/apache2/mod_passenger.so
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.2.9
PassengerRuby /usr/bin/ruby

どなたか原因解明の手がかりwご存知の方ご教授願います。
0698nobodyさん2010/01/19(火) 23:30:34ID:???
.htaccessはどうなってる?
0699nobodyさん2010/01/20(水) 16:17:25ID:???
railsを勉強しようと思うんですが、初心者向けで
お勧めの本はありますか?あるいは、これは読んで
おくべき本でも構いません。
0700nobodyさん2010/01/20(水) 17:16:39ID:???
ちょっと古いかもしれないけど

かんたんRuby on RailsでWebアプリケーション開発
著者 arton さん
ttp://www.amazon.co.jp/dp/4798111570
0701nobodyさん2010/01/20(水) 17:53:46ID:???
>>699
ム板で回答しておいたのでそれを貼っときます。

Ruby 初心者スレッド Part 33
http://pc12.2ch.net/test/read.cgi/tech/1259990485/804

804 名前:デフォルトの名無しさん[sage] 投稿日:2010/01/20(水) 16:21:54
>>800
初心者が最低限これだけあればまずはなんとかなる!って書籍を3つ。
というか俺が実際にRails初心者レベルで仕事で使った本

・RailsによるアジャイルWebアプリケーション開発
http://www.amazon.co.jp/dp/4274067858/

・Ruby on Rails 逆引きクイックリファレンス Rails 2.0対応
http://www.amazon.co.jp/dp/4839928266/

・Railsレシピブック 183の技
http://www.amazon.co.jp/dp/4797336625/

あとは、webサイトだけど公式のガイド。ちょっとしたわからんことはまずこれ見たら大体すむ
Ruby on Rails guides
http://guides.rubyonrails.org/

毎回聞かれてるんで、Railsスレテンプレに入れといていいと思うんだ・・・
0702nobodyさん2010/01/20(水) 17:58:26ID:???
ついでに質問いいでしょうか?

script/serverで開発用のmongrelなどを立ち上げた場合は、
動的に読み込んでくれているためか大概は開発中にファイルの編集後でも
コードの反映はサーバーを立ち上げ直さずにブラウザのリロードで済みますよね?

こういうのをscript/consoleでする方法ってないもんでしょうか?
script/consoleの再起動はそんなに重くないとはいえ、何回もやってたらけっこう面倒です。
再度requireする?のがよいんでしょうか?
0703nobodyさん2010/01/20(水) 17:58:49ID:???
>>699
最近、Head First Railsて本の翻訳が出てて、洋書を読んだ感じだとだいぶよかった。
Rails 2.3にも対応している唯一?の本なので、独特のテンションが嫌いじゃなきゃかなりオススメ。
0704nobodyさん2010/01/20(水) 18:50:18ID:???
質問させてください。

コントローラーのbefore_filterのような感じで、レンダリング前にメソッドを実行するようなフィルタは定義できないものでしょうか?
layout/application.html.erb 内でコントローラーのメソッドを(ヘルパー化して)呼ぶしか無いでしょうか?
07057042010/01/20(水) 18:57:33ID:???
> layout/application.html.erb 内でコントローラーのメソッドを(ヘルパー化して)呼ぶしか無いでしょうか?
これダメでした。

ヘルパー内で @hoge = 1234 のようにしてもerbの方に反映されませんね…。
layout/application.html.erb の最初の行にロジックを直書きして対処しました。
何かいい方法ないもんですかね
0706nobodyさん2010/01/20(水) 19:46:07ID:???
>>699
Head First Railsが今一番新しくて初心者向けの本、オススメ。
これでわからなかったらRailsは諦めて別なのをやった方がいい。

あと
RailsによるアジャイルWebアプリケーション開発の第三版がオススメ
第二版と初版は古いバージョンのRails用だから間違って買うと泣くはめになる。

0707nobodyさん2010/01/20(水) 19:47:15ID:???
Rubyスレで質問して、Railスレ逝けと言われて来ました。

今回初めてRubyを仕事で扱うことになり、
RailsによるアジャイルWebアプリケーション開発のT部を読んで
Smarty使って、PHPで開発するのとそう変わらないなと思い、
本ちゃんプログラムの解析にかかったのですが・・・

・ controllers,models,viewsともにjsファイルばかり。
・ ブラウザでソースをみたら、ログイン画面なのに1万行近くソースがある。
・ 画面遷移しても、URLは変わらない。
・ サーバーとクライアントのソースがある?

等、ちょっと見かけたことのない構成でした。
こりゃわからんと思い、参考書の続きを読もうとしましたが、
そもそも参考書読んでわかる内容なのか疑問を持ちまして・・・

そこで、質問なのですが
1.上記のような構成はRailsでは一般的で初心者レベルの話
2.それなりに高度な技術で初心者が参考書を読んだ程度で
  太刀打ちできるレベルの内容ではない
3.製作者が変態。そんな作り聞いたことがない。まず見かけない。

いずれですか。
1なら参考書読んで調べます(キーになる単語を教えてくれると助かります)
2ならダメぽと上に報告します。
3なら・・・頑張ります。

以上、教えて下さい。。。
0708nobodyさん2010/01/20(水) 19:49:37ID:???
あとRails始めるなら
RSpecも同時に調べておいた方がいい。
BDD、TDDなどの開発手法を要チェック。
cucumberも
0709nobodyさん2010/01/20(水) 19:51:53ID:???
>>707
>>706
0710nobodyさん2010/01/20(水) 19:58:41ID:???
>>707
たぶんほとんど全機能をAJAXで実装しているんじゃないかね。
Railsがその中でどう使われているかは質問だけでは分からないけど…
0711nobodyさん2010/01/20(水) 20:38:09ID:???
>>710
ありがとうございます。
確かに、ブラウザの戻るボタンがグレーアウトしてる等
思い当たる節はあります。

AJAXを使用しまくっているという前提に立ってもう一度
解読してみます。
0712nobodyさん2010/01/20(水) 22:19:08ID:Qj1mXafK
>>702
reload!
0713nobodyさん2010/01/21(木) 00:05:32ID:???
>>704
レンダリング前ってつまりcontrollerのアクション内がそうだけど、
ビューのレンダリングのタイミングで処理したい理由は?

>>707
これだよね?
http://www.amazon.co.jp/dp/4274067858/

ソースコード↓を見ても、Ajaxなんて使ってないけど。
http://www.ohmsha.co.jp/data/link/978-4-274-06785-3/

第1版しか読んでないけど、最初から全部Ajaxで作るみたいな珍妙な本ではないはず。
0714nobodyさん2010/01/21(木) 00:14:02ID:???
>>713
本で学んだ後「本ちゃんのプログラム」にとりかかっている、と解釈した。
07157042010/01/21(木) 08:26:59ID:???
>>713
ありがとうございます。

layouts/application.html.erbのサイドバー内に
サイドバーなどにDBからクエリーしてきた最新の結果を常に表示したい、という感じです。

例えが難しいのですが、例えば睡眠時間を記録するサイトで
サイドバーに今日の睡眠時間、といったような数値を表示したいとします。
その場合、application_controllerにbefore_filterかまして
毎度呼ばれるのメソッド内にて今日の睡眠時間を取得する処理を書くと、
コントローラー内で処理をする前の数値を取得してしまいます。
コントローラー内で処理をした後の数値を表示したいのです(つまりできるだけレンダリング前に)。

なので、layouts/application.html.erbの先頭に、
今日の睡眠時間を取得する処理を書いちゃえ!ってことなんですが、
(できるだけモデル依存部はモデルに書くとしても)そういうロジックをviewに各のはどうなんだ、と思った次第です。
0716nobodyさん2010/01/21(木) 08:32:44ID:???
>>707
適当に予想します。

jsばっかり=フロントエンドがAJAX(JavaScript)、バックエンド処理がRails
(それでもmodelsがjsばっかりはない気が?)
JS(AJAX)がクライアント処理、サーバーがRailsと見た。

RSSリーダーのOpen Fastladder(Livedoor ReaderのRails実装でソース公開されてるやつ)
みたいなのをイメージしたんだけど違うかな。
つまり、RailsでwebアプリのAPIをガリガリ書いて、JavaScriptでガワを作るような構造。

まずは、テストコードを読むことから始めたらどうかな?
ちゃんとしたアプリならテストがたくさん書かれているはずなので、
どんな感じにモデルを扱っているかとか仕組みがわかるはず。
0717nobodyさん2010/01/21(木) 09:21:00ID:???
>>715
after_filterじゃいかんの?
0718nobodyさん2010/01/21(木) 11:03:39ID:???
scaffoldした時のshowアクションの挙動を止めたいんですが、何か方法はありますか?

新しい独自のアクション(hoge)を追加したときに、コントローラ名/hogeというアドレスに
アクセスすると、showアクションでIDがhogeという風に動作してしまいます

route.rbにて:exceptや:onlyなどを用いてshowアクションを取り除くようにしてみましたが、いずれも駄目でした
0719nobodyさん2010/01/21(木) 19:03:10ID:???
migrationの質問です。

DBのmigrationでself.downに元に戻す処理を書くと思うのですが、
カラムの追加や変更等簡単な処理は元に戻す処理は簡単にかけるのですが、
例えば、仕様変更であるキーの重複するレコードを削除するとか、その処理を元に戻す場合だと
処理が複雑で簡単には元に戻せなかったりしませんか?

そのような場合、self.downをどのように書いたものでしょうか?
self.upで変更するレコードを外部ファイルにまるごと(mysqldumpとかで)ダンプして、
self.downで戻すときはダンプしたのを(mysqlコマンドに)つっこむとかそういうったことしないといけないものなのでしょうか?

今は、整合性が取れなくならない場合(カラムとかをいじらないとか)で元に戻す処理が複雑な場合は、
self.downを書かなかったりしますが、どうしたものかなーと。

運用サーバーの方ではcapistranoでデプロイでdb:migrateをかけるときには
自動でmysqldumpするようにしかけてあるのでバックアップ自体は大丈夫なのですが・・・
0720nobodyさん2010/01/21(木) 19:22:34ID:???
>>718
rake routesしてルーティングを確かめるんだ!!
07217072010/01/21(木) 22:01:06ID:???
>>716
>jsばっかり=フロントエンドがAJAX(JavaScript)、バックエンド処理がRails

そんな感じでした。
フロントエンドで、SproutCore(始めて知ったのですが)を使用してました。
サーバーがRailsで、作りとしては、
最初にガサっとサーバーからデータを取ってきて、
フロントエンドで加工して使いまわして、
必要なときだけサーバーとデータをやり取りする感じでした。

>(それでもmodelsがjsばっかりはない気が?)
クライアント側を見ていました。
SproutCoreの構成がRailsによく似てたので。。。
サーバー側では、ちゃんとrbファイルがありました。

また、ブラウザでソースみたら1万行近く云々と言っていたのは
どうも、SproutCoreはビルドできるらしく、1つに固められた
rhtmlファイルのソースを閲覧していたみたいです。

今、試しに元のソースをビルドしようとしたら、文法エラー
undefined local variable or method 'output'
でビルドに失敗したので、このソースは本当にビルドできるのか
先方に確認中です。

まさかとは思いますが、Windowsではビルドできない(Ruby1.8.6.111)
なんてことはないですよね。。。

また何か進展がありましたら、報告させて頂こうと思ってます。
ありがとうございました。
0722nobodyさん2010/01/22(金) 01:43:39ID:???
>>715
いまのところ rails 標準にはないので、http://github.com/xtoddx/before_render のようなのを使うしか。
before_renderで検索するとこれの他にもいくつか実装が見つかる。

>>718
map.resources :items, :collection => [:hoge]
などと書けば良いかと。
詳しくはこの辺で http://d.hatena.ne.jp/zariganitosh/20080203/1202091772
0723nobodyさん2010/01/22(金) 01:57:31ID:???
>>720
なるほど
showに関するmapが先に呼び込まれていて、そちらが優先されていることがわかりました
自作アクションに関してconnectを使い、これをshowよりも先に記述するとうまくいきました
ありがとうございました
0724nobodyさん2010/01/22(金) 02:05:07ID:???
>>722
配列でアクションを指定するのですね
以前は以下のように指定していたのですが、これが原因だったみたいです
map.resources :items, :collection => {:hoge => :get}
これを先程のように配列指定にしたらすんなり解決しました
ありがとうございます
0725nobodyさん2010/01/23(土) 05:44:49ID:???
>>721
> まさかとは思いますが、Windowsではビルドできない(Ruby1.8.6.111)

そういうことって普通にあるよ。Railsプロジェクトならなおさらじゃないかな。
Rails開発はWindows環境はマイナー環境だと思うのでちゅうい
そういうときは、coLinuxとかVMWare使う
あとはRuby 1.8.7に上げてみるとか。
07267042010/01/23(土) 05:49:49ID:???
>>715
ありがとうございます。

実はあの後、layouts/appliacation.html.erbの先頭に @hoge = hogehoge のように書くと
他のyieldするerbからは参照出きなくて困っておりました。

before_renderでgithub等あさってみます。すでにあるということは需要はある要望なんですねw

>>717
after_filterだと変数参照出きませんでした。レンダリング後によばれるのかな?うーんん。
0727nobodyさん2010/01/23(土) 09:43:12ID:???
after_filterは、ページ全体をgzip圧縮するとか、携帯向けにShift_JIS+半角仮名
にするとかだねー。
0728nobodyさん2010/01/23(土) 17:17:27ID:???
特定ページのログを出力しない方法ってないのかな?

ファイル管理のコントローラだけ、ページ表示するたびにいっぱいログが出るので、
ログを出さないようにしたいんだけど、情報無いのよね。。。
他のページはデフォルトのログ出力のままがいい。

コントローラでconfigのlogレベルをいじろうと思ったんだけど、
configなんてのは知らないって怒られちゃった。

動的にconfigいじるのは無理なのかな。
loggerのレベルはinfoでやってます。

あとは、ログレベルをwarnにして、必要なログを手で入れてくかだな。。。
0729nobodyさん2010/01/23(土) 17:46:50ID:???
Rails.logger.level = Rails.logger.class.const_get(:FATAL)

3とか4とかベタに書いてもいいけど。

07307282010/01/23(土) 18:27:59ID:???
>>729
ありがとうございます。
configの動的変更できました。

ただ、途中までのログが出てしまいました。
ファイル管理のコントローラに以下追記。
before_filter :set_log_rebel_warn

Processing FilesController#show (for 127.0.0.1 at 2010-01-23 18:18:40) [GET]
・・・

このログを出してるところの前でクリアするか、
出そうとしてるログを消すようにしたらいけるかな。(出来るのか?)
もうチョイ調べてやってみます。

助かりましたー!!
0731nobodyさん2010/01/23(土) 19:55:54ID:???
ActionController::Base#log_processing
ActionController::Base#log_processing_for_request_id
ActionController::Base#log_processing_for_parameters
あたりをFilesControllerでオーバーライドしてみるとか。

0732nobodyさん2010/01/23(土) 20:02:09ID:???
>>707
707に同情するよ。Rails以上にSproutCoreでUIを書くのが大変だと思う。
多分テスト無いよね?なかったらそれこそ地獄だよ。
0733nobodyさん2010/01/23(土) 20:43:41ID:???
<%= link_to 'show', :action => 'show', :id => user %>
<%= link_to 'destroy', :action => 'destroy', :id => user %>

destroy クリックしたら show のページに飛ばされる
画面上の URL が両方 /usr/id になっとるしわけ分からん/(^o^)\
0734nobodyさん2010/01/23(土) 20:49:09ID:???
:method 指定したらできたよー

<%= link_to 'destroy', { :action => 'destroy', :id => user }, :method => 'delete' %>
0735nobodyさん2010/01/23(土) 21:11:18ID:???
ブラウザがDELETEやPUTにまともに対応する日は来るのだろうか。
07367282010/01/24(日) 09:31:59ID:???
>>731
ActionController::Base#log_processing
をオーバライドでいけました。
ありがとうございます。助かりました。
いやしかし、rorはいいですなー。楽だー!!
0737nobodyさん2010/01/24(日) 14:35:45ID:???
django も忘れないで~
0738nobodyさん2010/01/24(日) 14:59:53ID:???
ど・・・Django
07397072010/01/24(日) 15:24:37ID:???
>>725
ご指摘ありがとうございます。
sroutcoreのバージョンを0.9.11に戻したらビルドできました。
が、ビルド後出来上がったrhtml,jsファイルが本番と別物の欠陥品でした。
ビルド環境が腐ってるのか、ソースが腐ってるのかわからない状態です。

作成者にVMWareで環境(Macらしいです)もらうことも考えてますが、
PHPでその部分だけ一から作り直すことになるかもしれないです。
もともと社内で使う生産管理システムで、あまりリッチなUIは必要なく
遅い、ブラウザが落ちる等評判もよくないみたいなので。。。

>>732
>707に同情するよ。Rails以上にSproutCoreでUIを書くのが大変だと思う。
ですね。
最初何が何やらわからなかったです。
ただ、大体当たりはついてて修正プログラムも作成はしてあります。
環境が構築できてないので確認は全く出来てませんけど。。。

>多分テスト無いよね?なかったらそれこそ地獄だよ。
テストはあるにはありますが、ユニットテストというよりは、
開発者が色々試した結果を置いてあるだけで、
後でソースを修正する人のためのではないかと。。。

ただ、ブラウザをプラットフォームにして、システム構築する手法に
触れたのは良かったです。
AJAXは、”サーバーとデータやり取りしても画面遷移しない技術”
程度の認識だったので新鮮でした。
将来主流になってくるかもしれないですね。
0740nobodyさん2010/01/24(日) 17:36:00ID:???
RoR で↓これは使えますか?
ttp://www.smartclient.com/featureExplorer.jsp
0741nobodyさん2010/01/24(日) 17:42:49ID:???
>>739
10年後くらいやね
0742nobodyさん2010/01/24(日) 22:01:02ID:???
10年って、10年前がどんな状態だったか考えてのことか?
0743nobodyさん2010/01/25(月) 13:29:59ID:???
>>739
すごいなぁ、社内向けのシステムでSproutCore使うとか、
作り手のオナニーか、見積金額上積みのためとしか思えん。
フルスタックのUIフレームワークなら、まだしもdojoの方がメジャーだと思うし。

それに社内のブラウザが全部ChromeかSafariでも無い限り、
まずパフォーマンスに問題が出るとおもう。

Ajaxというか、正しくはJavascriptUIだと思うんだけど、
そういうのは技術的にもう普通だと思う。
GMailやGoogleReaderは多くの人が使ってるだろうし、
GoogleWaveもぜんぶJavascriptでできてる。
ただ、どうしてもコストがかかるので、
低予算の案件が多いWeb制作業界では浸透しないんだと思う。


PHPで一から作り直すくらいなら、Railsだけで作り直してみたらどうでしょうか。
Viewの作成と、Controllerの手直しだけで動くようになる気がします。
0744nobodyさん2010/01/25(月) 13:50:05ID:???
画面遷移ない方が低コストに出来ると思うけどなぁ
0745nobodyさん2010/01/25(月) 14:33:18ID:???
>>700
>>701
>>703
>>706
レスありがとうございました。
Head Firstシリーズで始めようと思います。
0746nobodyさん2010/01/25(月) 16:13:21ID:???
>>744
もしそうなら是非やり方を教えて欲しい。

デスクトップアプリみたいにFSMでGUIを作ろうとするとどうしてもテストが破綻する。
かといってテスト無しでGUIを作り込むと、あっという間にバグの温床になるし。

現状どうやってるのか、参考になるサイト・書籍などもあればお願いします。
0747nobodyさん2010/01/25(月) 17:15:57ID:???
その辺が整備されて実用になるのが10年後っていう意味かな
0748nobodyさん2010/01/25(月) 19:00:20ID:???
Dojoもそうだし、Extとか使うと、どうしてもJavascriptUI(というのか?)をメインにしないと、
Javascriptファイルの読み込み時間が長くて使えたもんじゃなかった。
だけど、Extメインにすると、Javascript側の記述がもりもりになって、
サーバ側のフレームワークがなんであってもほぼ関係なくなる、と思う。
Javaだろうが、Rubyだろうが、PHPだろうが。
Javascriptの技術(というか、使ってるJavascriptのライブラリの把握度)の方が重要になってくる。
俺はJavascriptってかなり難しい言語だと思ってて、人にはおすすめ出来ないので、
JavascriptUIは使わないようにしてる。
サーバ側の言語と、Javascript両方ともに熟知して貰わないといけないから。
0749nobodyさん2010/01/25(月) 19:53:41ID:zfSMIsHp

How to easily use Rails 3 now ? tomafro.net

http://tomafro.net/2010/01/how-to-use-rails3-gems-now
0750nobodyさん2010/01/26(火) 06:56:48ID:ATL7yxma
>>703 とか >>706 も書いてたけど、最近出た Head First Rails って本が超読みやすくてわかりやすくてマジ感動した。
初心者は2ちゃんとか見てる暇あったらとりあえず全員これ買って読むがよいと思うんだ。
07517072010/01/26(火) 10:01:38ID:???
続報です。
製作者が元の環境を消してて環境再現ができない。
作り直しは受注元にダメと言われる、と完全にオワタ\(^o^)/
と思ってましたが、どうにかこうにかビルドできる環境を構築できました。
gemとsproutcoreのバージョンを変え、Javaインストールしてetc...

何とかなりそうです。
皆さん。色々とありがとうございました。

>>743
>作り手のオナニーか、見積金額上積みのためとしか思えん。
そうだと思います。金額でも揉めたみたいです。。。

>ただ、どうしてもコストがかかるので、
>低予算の案件が多いWeb制作業界では浸透しないんだと思う。
その点は同意ですが、JavascriptUIの使用者の本命は、
Web製作業界ではなくアプリ製作者だと思います。
ブラウザが今よりも安定・高速・多機能になり、クラウドが一般にも
普及したら、ブラウザ上でゲーム、アプリを作成するのが
主流になるんじゃないかなと。
その方が、ユーザーの負担が減り自由度があがりますし。。。

将来的にはアプリの起動は、OSからブラウザに移行する気がします。
0752nobodyさん2010/01/26(火) 12:54:27ID:???
>>707 は6,7年くらい前からタイムスリップしてきたのかと小一時間w
0753nobodyさん2010/01/26(火) 14:34:11ID:???
懲役7年
0754nobodyさん2010/01/27(水) 01:12:32ID:???
rails(linux)でmssql使いたいんだけど

UnixODBC
FreeTDS
activerecord-odbc-adapter
Ruby ODBC

入れりゃいいの?


あとgemで見つけた
activerecord-sqlserver-adapter って何?
0755nobodyさん2010/01/27(水) 01:43:58ID:???
そんな口の利き方のやつには絶対に教えない
0756nobodyさん2010/01/27(水) 08:41:54ID:???
ブラウザが高機能になって安定高速に成った歴史なんて無いしな。
シンプルイズベストで、余計な機能そぎ落としたほうが高速安定すると思うよ。
もうJSとHTMLの拡張辞めればいいw みんなでHTML1.0に戻ろうw

ゲーム、アプリは普通にjavaで組むのが、グーグル携帯の先に有ると思うよ。
googleクラスのハカーでもchromeブラウザ上で全て実行させるなんて言い出してないし。

犬上で動くodbc-mssql driverが無いと思うw
jruby経由でjdbcでごにょごにょでもすれば? mssql捨てるのが一番だが。
0757nobodyさん2010/01/27(水) 09:59:14ID:???
ここでいいのかどうかわからないのですが。

linodeでRailsを動かしている方いらっしゃいませんか。
どのプランで、どういう構成で、どのくらいパフォーマンスが出ているか
分かる範囲で教えていただけると助かります。

よろしくお願いします。
0758nobodyさん2010/01/27(水) 11:42:12ID:???
>googleクラスのハカーでもchromeブラウザ上で全て実行させるなんて言い出してないし。

Chrome OS
0759nobodyさん2010/01/27(水) 12:57:30ID:vbYrOD4B
http://intertwingly.net/projects/dashboard.html
0760nobodyさん2010/01/27(水) 21:35:32ID:???
html.erbでコメントを入れる場合、
<!-- コメント -->
<% # コメント %>
どっちでも一応コメントになりますが、どっちの方が正しいやり方でしょうか?
0761nobodyさん2010/01/27(水) 21:52:40ID:???
そもそも<!-- -->で囲んでも、ERBの視点ではコメントではない。
ERBはHTML以外の中にも書けることを思い出そう。

<!-- <% RUBY %> --> と書くと RUBY はRubyコードとして評価される
ので、<%# %> にしたほうがよいと思う。

たとえば、
<!-- <% 1 + %> --> → Rubyコードが文法エラーになる。
0762nobodyさん2010/01/27(水) 21:55:07ID:???
あ、↑Rubyコードをコメント化する場合の話しかしてないや。

出力HTMLソースの中にコメントとして現れて欲しい部分は<!-- -->の中に。
Ruby評価中に解釈したくないRubyコード片は <%# %> の中で。
07637602010/01/27(水) 22:03:08ID:???
ありがとうございます。
なるほど…どのレベルでコメントになるかっていう違いあるんですね。そこまで頭が回ってなかった。
基本的には<%# %>でほとんど済みそうですね。
HTMLに残さなきゃいけないコメント、、、そんな場面はあり得るのかな?
07647072010/01/28(木) 01:50:38ID:???
>>752
古いっすか?私の考えw
まあ、Webを何年もやってきた同僚の意見は違うし、
私の見当違いである可能性は高いですね。

でもそうなると、ブラウザ上でシステム構築するのは
主流にはならない気がします。
ユーザーが望んでいるのは、付加価値よりも
安く・簡単・便利に使えることだと思うので。

ちょうどWEBメールが普及したように、
WEB画面がリッチになることには金出さなくても
安く簡単にダウンロード出来て、設定する必要もなく
どのパソコンでも動くアプリなら性能落ちても金出すでしょう。

でも本当に難しいでしょうね。そんなブラウザ作るのは。。。

>>756
>ゲーム、アプリは普通にjavaで組むのが、グーグル携帯の先に有ると思うよ。
そうなるでしょうね。
実際、携帯でアプリ作成するのが増えてきてません?

でも、スペックがPCに比較して落ちるのと、
結局、これまでのPC同様、機種依存が出てくるので
個人的にはブラウザに頑張ってもらいたいのですが。。。
07657072010/01/28(木) 01:55:02ID:???
スレ違いの話題を長々とすいません。
もう止めときます。

ちなみに修正まだやっとります。
もうこのプログラムやだw
0766nobodyさん2010/01/28(木) 02:06:38ID:???
HTML4.0以前、どれだけ苦労したか知らないバカがいるのか
0767nobodyさん2010/01/28(木) 02:28:56ID:???
>>707が結局何を言いたいのかさっぱり分からん
0768nobodyさん2010/01/28(木) 03:30:24ID:???
>・ ブラウザでソースをみたら、ログイン画面なのに1万行近くソースがある。

わろすw

ajaxもどきでもやってんだろうな
jQueryのソース全部貼り付けたとかじゃないかw
0769nobodyさん2010/01/28(木) 15:24:22ID:???
>>768
おまえ>>707以降のレスを全く見てないだろ
ほかの影響を考えないで脊髄反射でプログラムを書き換えるタイプだな
0770nobodyさん2010/01/29(金) 00:30:31ID:SeyjXxxZ

http://www.flickr.com/photos/46457493@N00/
07717072010/01/29(金) 04:03:11ID:???
>>769
ははは。まあまあ。

>>767
私が言いたいのは、宇宙開闢137億年の歴史に比べたら
納期を守れないやら、プログラムが読めないなどは
ほんの些細な問題だということです。






もうだめぽ。。。。
0772nobodyさん2010/01/29(金) 16:59:48ID:???
ちょっと質問、Rails 2.3.5のプロジェクトなんですが、
国際化は特に考えないで作ってきたんですが、
プラグインが英語で国際化考えてない感じで手を加えたいんですが、
プラグインの国際化ってどうやるものなんでしょう?

i18nとかを使うんでしょうか?
この辺はどこらの資料を見ればいいですか?

今は英語の部分を日本語にべた書き換えでリリースでも別にいいんですが、
後で英語のプラグイン本家にパッチ送って反映してもらいたいときに、メッセージを国際化しときたいんです。
0773nobodyさん2010/01/29(金) 18:57:57ID:???
そのプラグインの名前は?
0774nobodyさん2010/01/29(金) 21:24:31ID:???
おれもそうオモタ
0775nobodyさん2010/01/29(金) 22:55:58ID:azIwv80e
http://guides.rubyonrails.org/i18n.html
0776nobodyさん2010/01/30(土) 02:07:12ID:???
ちゃんとi18n実装してくれるなら助かるが、なんちゃって日本語実装だとみんなが不幸に成るだけ。
そういう中途半端な日本語対応パッチでみんな苦しんで来てるし。

PC用のUTFと携帯用のSJISとメール用のJISぐらいはまともに実装しないとねえ。
0777nobodyさん2010/01/30(土) 02:15:30ID:???
自分でプラグイン作ればいいじゃん
そんな大変なことではないんだが
0778nobodyさん2010/01/30(土) 02:20:08ID:???
railsのwebサーバをどうしようか悩んでる。
passengerが楽でいいんだけど
将来的に、ec2でスケールアウトさせることを考えると
apache(ngjinx/lighttpd)+mod_proxy_balancer+mongrel_cluster
とかの方がいいの?
0779nobodyさん2010/01/30(土) 03:05:38ID:???
まずはそこまで支持されるサービスを作りなさい
0780nobodyさん2010/01/30(土) 03:15:12ID:???
>>779
確かにそうなんだが
ec2に乗せるの前提で話がすすんでるんだ。

猛者はおらんかのぉ。wakame便利そうだけど、正式リリースまだだし。
0781nobodyさん2010/01/30(土) 04:41:34ID:???
Rackの価値ゼロだな
0782nobodyさん2010/01/30(土) 04:49:05ID:???
うちの会社はrails使うときはapache以外選択肢無いなぁ
0783nobodyさん2010/01/30(土) 15:57:35ID:???
テーブルのフィールドの説明ってさ,
マイグレーションのファイルにかくべき?
モデルに書くべき?
0784nobodyさん2010/01/30(土) 16:27:22ID:???
WordとかExcelとか
カラムの意味を調べるのに毎回ソース嫁とか言われたらたまらん
0785nobodyさん2010/01/30(土) 17:00:44ID:???
せっかくのアジャイル思考フレームワークなのに
DB構造変わるたびに毎回Excel編集しろとか言われたらたまらんな
0786nobodyさん2010/01/30(土) 17:35:17ID:???
編集するのは1人、閲覧するのはN人
どちらを優先すべきかは言うまでもない

それにそんなにコロコロ構造は変わらん
変わるのなら最初にちゃんと設計しないから
デスマでよくあるけどな
0787nobodyさん2010/01/30(土) 17:59:45ID:???
>>786
> 編集するのは1人、閲覧するのはN人
え?え?
0788nobodyさん2010/01/30(土) 18:56:53ID:???
>>783
まず、マイグレーションでもモデルでもいいがソース上に書いておくべきだと思う。
開発中はソースだけ見れば済むようにしたい。
ソースだけでは分かりづらいなら補足資料は必要だけども。

テーブル定義書は納品物として必要だけど、ドキュメント類は開発が終了してから提出するという事で顧客と事前に約束を取り付けておく。
開発が終了したら、CSEなどのツールで自動生成。そのファイルに日本語の説明を書いていく。
っていうのが自社のやり方。
0789nobodyさん2010/01/30(土) 19:01:12ID:???
仕事のスタイル次第だね
うちは自社サービスだけだからドキュメント自体ほとんど存在しない。
07907722010/01/30(土) 19:17:19ID:???
>>775
公式ガイドみてます。
プラグインところも見ているんですが、
The Basics of Creating Rails Plugins
http://guides.rubyonrails.org/plugins.html

本体だとconfig/lang/以下におけばいいわけですが、
プラグインの場合は、vendor/plugins/hoge/ 以下にconfi/lang/*.yml を配置すればOKなのかな。

>>776
??よくわからん

>>777
今はプラグインをそのまま修正して日本語化してます
0791nobodyさん2010/01/30(土) 19:17:46ID:???
テストケースに書いておくのがBDDであり
RSpecやCucumberだろう
07927722010/01/30(土) 19:18:37ID:???
>>773
プラグインはこれです。
phronos's rails_datatables at master - GitHub
http://github.com/phronos/rails_datatables
0793nobodyさん2010/01/30(土) 19:41:11ID:???
DataTablesってすごいねぇ。

phronos'sってどうゆう意味だろ?
0794nobodyさん2010/01/31(日) 18:17:54ID:???
phronosさんの作ったrails_datatablesってこと。
GitHubのプロジェクトトップページのタイトルは、
<author>'s <project-name> at master - GitHub
となる。
0795nobodyさん2010/02/01(月) 05:15:16ID:???
なお、masterは、あるgitリポジトリのデフォルトのブランチのこと。
0796nobodyさん2010/02/01(月) 12:37:55ID:???
parents, childrenというテーブルがあったとして
parents...id, child1, child2というカラムを持っている。それぞれchildrenのidが入る
children...id, parents_idというカラムを持っている

このようなときに、ある時はchild1を、ある時はchild2をキーにして
has_manyでのテーブル結合を切り替えたいのですが、こういう方法は無理なんでしょうか

今は両方ともhas_manyでparentsに追加しているのですが、切り替えができたら嬉しい
0797nobodyさん2010/02/01(月) 17:47:36ID:/Gi8FxAx
http://lingr.com/
スケールアウトからスケールアップへの回帰
http://japan.cnet.com/blog/kenn/2010/01/12/entry_27036420/
http://www.slicehost.com/


コピペ運動会 http://copipe.cureblack.com/
700万PVのRails製サイトが月$60のVPS(メモリ1GB)で動かせるという話
http://togetter.com/li/4514
http://www.linode.com/


http://gladiators.jp/
オンラインRPGの運営をはじめて1ヶ月経った
環境としては、OSはUbuntuサーバ版なんですが、実はVMware上で動かしていて、ホストOSはWindows XP Professional
http://blog.pettan.jp/archives/50938293.html
0798nobodyさん2010/02/01(月) 18:27:25ID:???
どこまで必死なんだよ
宣伝うぜぇ死ねよ
0799nobodyさん2010/02/01(月) 18:40:58ID:???
>>796
parentsテーブルがchild1とchild2のIDを持っているということは、やりたいことは
parent.children1 や parent.children2 (Parent has_many Child)
ではなく
parent.child1 や parent.child2
であってる?

class Parent < ActiveRecord::Base
belongs_to :child1, :class_name => 'Child', :foreign_key => 'child1'
belongs_to :child2, :class_name => 'Child', :foreign_key => 'child2'
end
class Child < ActiveRecord::Base
has_one :parent
end

でいいと思ったんだけど、これじゃchild1とchild2のどっちで結合すればいいか
特定できないからchild側からはparent参照できないのか。
(has_one parent1とかすれば可だけど)
0800nobodyさん2010/02/01(月) 23:11:35ID:???
>>798
実働報告なんてほぼ皆無なんだからこちらとしてはありがてーわ。

自治棒は消えろ
0801nobodyさん2010/02/02(火) 14:14:08ID:???
>>799
:class_nameというのがあるんですね。なんとかできそうです
ありがとうございます
0802nobodyさん2010/02/02(火) 20:25:53ID:tGNPNfj/
Rails 3 beta is almost ready for public testing. We're just hammering out the last bugs in Bundler. Stay tuned.
about 10 hours ago from Tweetie

dhh
http://twitter.com/dhh/status/8522612662
0803nobodyさん2010/02/02(火) 21:05:33ID:tGNPNfj/

Screencast: How To Upgrade Your Rails 2 App to Rails 3 in 25 Minutes
http://www.railsinside.com/screencasts/373-rails-3-upgrade-screencast.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+RailsInside+%28Rails+Inside%29&utm_content=Google+Reader


http://blog.peepcode.com/tutorials/2010/live-coding-rails-3-upgrade
0804nobodyさん2010/02/02(火) 22:47:00ID:???
2系から何が変わるんだろ…十分完成されたフレームワークだと思ってたのになぁ
0805nobodyさん2010/02/03(水) 01:52:04ID:???
フレームワーク本体を選べるようになるんじゃないの?
中心部分をRailsでつくったり、Marbでつくったりとか。
多機能にしたいならRailsで
シンプルにしたいのならMerbでとか
0806nobodyさん2010/02/03(水) 02:02:40ID:???
RailsってCでいうmakeファイル書き上げるような物なんだな
scaffoldコマンドを実行したら基本的な骨組みができあがるかと思ってたよ
ruby script/generateってコマンド打っていても意味を理解していなかったよ。

またscaffoldで作成しちゃったら戻すことは出来ないようだな。
タイムスタンプを利用したファイルをどんどん作って行くみたいだけど
人の手でソースに手を入れた後に、コマンド実行しても大丈夫って事かな?

0807nobodyさん2010/02/03(水) 02:04:42ID:???
え?
0808nobodyさん2010/02/03(水) 02:55:16ID:YvzJimsv

Railsプログラマのための英語 Part 1 (English) - Smart.fm
http://smart.fm/goals/1591/content
0809nobodyさん2010/02/03(水) 03:56:45ID:???
>>806
なんかちょっと勘違いしてませんか?
0810nobodyさん2010/02/03(水) 05:54:39ID:YvzJimsv
Rails 3 is coming! The first beta release of the new version is right around the corner
and it should be released today or tomorrow…
the release notes are already in the master branch.
http://railslove.com/weblog/2010/02/02/on-the-way-to-rails-3-a-link-list/


http://github.com/rails/rails/commit/428bdb50631ba03847367a15fedb2289269cd789
0811nobodyさん2010/02/03(水) 05:56:32ID:YvzJimsv

Ruby on Rails 3.0 Release Notes
http://guides.rails.info/3_0_release_notes.html

http://blog.plataformatec.com.br/2010/02/rails-3-i18n-changes/
0812nobodyさん2010/02/03(水) 06:58:55ID:???
ruby script/generate scaffold ********
うごかない。

rake db migrate
うごくようになる。
0813nobodyさん2010/02/03(水) 10:45:44ID:???
Rails 3リリースオメ!!

>>797
こういう事例は紹介してもらえるとありがたい。

しかし、ホストOSがWindowsの仮想マシンでまともに動くのかよw わろた

>>806
scaf
0814nobodyさん2010/02/03(水) 10:50:18ID:???
>>806
ごめん、途中で送信しちゃった

makeは関係ないよ。
makeをruby用にパクッたrakeのRakefileとかはrailsにもあるけど、それのことじゃないでしょ?

多分、宣言的に書くところが多いのでそう思っているだけだと思う。
.rbとか.erbはRubyのスクリプトだよ。ちゃんとした言語だよ。
ライブラリがいろいろやってくれるから、宣言したっぽくかけるけど、ちゃんとスクリプトはそことおっているよ。

scaffoldで作成したのを消すのは、destroyつかえばいけるはずだよ。
ruby script/destroy scaffold ********

その辺のことはrailsガイド読んでね。
Ruby on Rails guides
http://guides.rubyonrails.org/

後は書籍読むとか。最近は Head first のrailsのがオススメらしいよ。

> タイムスタンプを利用したファイルをどんどん作って行くみたいだけど
これはよくわからん???
同じscaffoldを実行しても、編集した後は上書きしようとしていちいち聞いてくるのは危ないからそうなっているとしか
0815nobodyさん2010/02/03(水) 11:05:34ID:???
>>813
リリースされたわけではない。
0816nobodyさん2010/02/03(水) 11:06:14ID:???
>>814
>> タイムスタンプを利用したファイルをどんどん作って行くみたいだけど
>これはよくわからん???

migration スクリプトのことかと。
0817nobodyさん2010/02/03(水) 11:14:48ID:???
http://twitter.com/a_matsuda/status/8569187999
0818nobodyさん2010/02/03(水) 11:27:26ID:???
>>815
あれ?リリースノートでただけなのか。失礼したw
0819nobodyさん2010/02/03(水) 14:42:44ID:???
てすと
0820nobodyさん2010/02/03(水) 18:55:02ID:???
ちょっとした質問です。
unko_chinkoヘルパーが定義されていた場合に、
コントローラーからunko_chinkoヘルパーをどうしてもどうしても呼びたくなった場合、
コントローラー内で以下のように書くと思いますが、

  ApplicationController.helpers.unko_chinko

ApplicationControllerコントローラー派生のコントローラーなら、
  self.helpers.unko_chinko
でいけそうなものなのですが、これではundefinedと言われてしまいます。

これはなんでなんでしょうか?
0821nobodyさん2010/02/03(水) 22:13:53ID:???
ヒント
ApplicationController.classは何でしょう。
また、その文脈でself.classは何でしょう。
0822nobodyさん2010/02/03(水) 22:16:06ID:???
どうでもいいけど
>コントローラー内で以下のように書くと思いますが、
>ApplicationController.helpers.unko_chinko

helper :unko_chinko
じゃね?
0823nobodyさん2010/02/03(水) 22:26:58ID:???
俺がRails3に一番期待することはサーバーのメモリ節約なのだが
あまりそういう方向には進まなかったみたいね
1年ぐらい前はめちゃくちゃメモリ節約できるようになるとの触れ込みだったのに
0824nobodyさん2010/02/03(水) 23:08:00ID:???
>1年ぐらい前はめちゃくちゃメモリ節約できるようになるとの触れ込みだったのに

え?
0825nobodyさん2010/02/04(木) 02:08:23ID:???
っつーか Rails つかってるとすぐメモリ使い切って
数日に一回は再起動しないといけなくなるw
0826nobodyさん2010/02/04(木) 04:34:13ID:???
>>824
違うの?
0827nobodyさん2010/02/04(木) 05:41:15ID:???
railsでメモリ効率とか…
元がrubyなんだし速度とかメモリとか期待しちゃ駄目だ
0828nobodyさん2010/02/04(木) 06:20:25ID:???
Passengerでインスタンス立ち上げすぎとか

> Railsインスタンスプロセスの立ち上がりすぎ
>
> PassengerMaxPoolSizeを適切に設定してないとそうなることがある。

Passengerがメモリを食いすぎるとき - ひげろぐ
http://brass.to/blog/passenger_memory_tuning.html
0829nobodyさん2010/02/04(木) 06:23:17ID:???
あとはこの辺

Phusion Passenger users guide
http://www.modrails.com/documentation/Users%20guide.html#_resource_control_and_optimization_options
Passenger のリソース最適化オプション
http://www.sssg.org/blogs/naoya/archives/1087
0830nobodyさん2010/02/04(木) 09:21:57ID:???
>>827
でもさ、ここ数年のシェアの伸び悩みは激安共用レンサバではロクに動かせないからって思わない?PHPみたいにさくらの共用でも動かせるようになれば皆もっと飛びつくのに
0831nobodyさん2010/02/04(木) 10:29:19ID:???
いや2000円台で快適に動かせる
2000円台というと少し高いように思えるが、本質はRailsで動かしたいアプリがないからだと思う
本当に動かしたいアプリがあれば普通にそれくらい出すと思うよ
やっぱり 利用者>>>>>>開発者 じゃないとな
0832nobodyさん2010/02/04(木) 12:52:19ID:???
海外 VPS なら $6/month くらいからあるよ
0833nobodyさん2010/02/04(木) 18:29:32ID:???
いや違う
PHPの偉大なところはFTPでアップすればそれだけで動くところ
railsもpassengerのお陰でだいぶ楽になったけど、それでも差は歴然としてる
0834nobodyさん2010/02/04(木) 20:57:57ID:G38u6Z+m
【WEB人・詳報版】路上でプログラミング - MSN産経ニュース
http://sankei.jp.msn.com/economy/it/100204/its1002040501000-n1.htm
「Ruby on Rails」を使うようになって1カ月後のことで、
開発期間はおよそ3時間。

http://ssig33.com/blog/2010-02-04-1.html

金くれ http://kanekure.ssig33.com/


0835nobodyさん2010/02/04(木) 21:07:01ID:G38u6Z+m

VPSプランってどうよ?7
http://pc11.2ch.net/test/read.cgi/hosting/1256929065/

http://prgmr.com/xen/
http://www.linode.com/
http://www.slicehost.com/

0836nobodyさん2010/02/04(木) 22:44:09ID:G38u6Z+m
UK STUDIO - プログラマの報酬について
http://ukstudio.jp/2010/02/04/programmers_pay/
例えば、優秀な人であればコード量は少なく労働時間も短く作れるものが、
他の人であればコードは肥大化し労働時間も長くなるだろう。
その場合、後者の方が残業代なども含めて給与が高くなるだろう。

結局のところ、プログラマが作りだす価値を定量的に評価できないのが問題だとは思うけど、
そこを解決する術が正直わからない。
0837nobodyさん2010/02/04(木) 22:53:36ID:G38u6Z+m
プログラマーって本当に労働者なのか?
http://blog.livedoor.jp/dankogai/archives/50766218.html
例えば、「コード1行につき10円」という取り決めがあったとする。
そしてプログラムの中に要素数1000からなる配列を初期化するルーチンが必要だったとする。
1万10円
40円
10円
0838nobodyさん2010/02/04(木) 23:29:31ID:???
>>832
VPSスレじゃないからアレだけど詳しく

>>835
> http://prgmr.com/xen/
やすっ $6は128Mメモリだから無理だけど、512MBなら$12か、これは試してみるかw

>>834
「金くれ」はたしかオープンソースじゃなかったか?githubにあった気がする(といったもscaffoldみたいなソースだが)
0839nobodyさん2010/02/04(木) 23:34:40ID:???
>833
ダウト。PHPでも設定は必要。
Rails だってあらかじめ設定しておけばFTPなりなんなりでアップロードすれば使える。
このご時世でFTPなんでありえんと思うが。
0840nobodyさん2010/02/05(金) 00:50:50ID:???
WordpressがRails製だったら、こぞってサポートされるだろうよ
0841nobodyさん2010/02/05(金) 05:00:34ID:???
>>837
実際メインテナンスを依頼されてソースを見たら
ループじゃなくて数行x1000回(一部パラメータ値だけ変えて)繰り返してあるのを見たことがある
0842nobodyさん2010/02/05(金) 05:16:05ID:???
>>839
いやいや、そういうことじゃないよね
実際問題railsアプリをそのままあげて動かせる共用サーバがどの位あるんだって話で。無いに等しいよね。
0843nobodyさん2010/02/05(金) 07:32:33ID:???
VPSなら余裕じゃん
最近は安いしひもじい学生でも何とかなるだろ
どんだけ貧乏なんだ
0844nobodyさん2010/02/05(金) 08:58:38ID:???
>>843
俺は仕事とプライベート含めてむしろ大量に借りてる。でもそんな話をしてるんじゃない。

railsの実行環境がPHPに比べれば敷居が高いことがネックになり続けてて、それはrailsにとって不幸じゃない?ってことが言いたい。
VPSなら可能ってそりゃ当たり前だよ。でも世間でPHPのシェアを支えてる一部の層はrootを持ってサーバー管理などできやしない。
彼らはアプリ開発はできてもサーバーの運用知識はない。

railsの欠点はサーバ管理技術が要求されることが多すぎると思うんだ。
cakePHPなんてサーバーの知識必要ないからWebアプリ層しかわからない開発者でもさくら共用あたりで手軽に動かしてるよね。
それこそFTPで上げるだけで動く。差は歴然。
0845nobodyさん2010/02/05(金) 09:32:55ID:???
う〜ん結局何が言いたいのかよく分からん。
個人的にそういう底辺層をRailsに取り込みたいとは全く思わない。
Railsの開発者は現状でもやる気満々だし、自分も満足してるし。
初心者でも誰でも使える、みたいな触れ込みで宣伝されるのが一番嫌だな
0846nobodyさん2010/02/05(金) 09:34:39ID:???
>842
日本には無いねー。
海外だといくつかあるよ。
http://www.railshosting.org/
http://heroku.com/

番外としては http://www.radiantmachine.com/ が RadiantCMS のホスティングをしてるな。
0847nobodyさん2010/02/05(金) 09:35:32ID:???
>845
同意。
0848nobodyさん2010/02/05(金) 15:37:40ID:???
>>846
EngineYardも忘れないで。
0849nobodyさん2010/02/05(金) 16:26:30ID:???
railsの運用は現実的じゃないと思うけどな。
一応、php見たいに使えるよというだけで。

だから、rails案件からjavaへの移行が多い。
0850nobodyさん2010/02/05(金) 17:22:42ID:???
一応初心者ですが
UbuntuServerを利用してRubyの野良ビルドからApacheでRails動かせるまで
構築してみました。
自分なりの結論だと、はっきり言って不親切というかgemが凶悪すぎたりして
運用が現実的じゃないとまでは言わないまでも、フレームワークと名乗る以上
運用までのプロセスをもう少し簡便にする努力は必要だと思います。
0851nobodyさん2010/02/05(金) 17:52:33ID:???
具体的に何が不満なんだよ
0852nobodyさん2010/02/05(金) 18:57:44ID:???
>>849
え?え?
なんか前後の文がつながってないような…

railsからPHPへの移行が多いっていうならわかるけど。
0853nobodyさん2010/02/05(金) 19:08:14ID:???
>>845

>>844 は初心者ということをお忘れなく
0854nobodyさん2010/02/05(金) 19:09:32ID:???
>>850
楽なフレームワークが欲しくて
PHPやPerlが嫌なら
RubyじゃなくてPythonの方がお薦め
0855nobodyさん2010/02/05(金) 20:19:04ID:???
ど・・・Djangoは日本語ドキュメントがほとんど無いので二の足
ほんとはRubyよりPythonのほうがすきなんだけど
0856nobodyさん2010/02/05(金) 20:38:33ID:5PrgsIzR

Riding Rails: Rails 3.0: Beta release
http://weblog.rubyonrails.org/2010/2/5/rails-3-0-beta-release


Twitter / DHH: Rails 3.0 has gone beta: h ...
http://twitter.com/dhh/status/8661675174
0857nobodyさん2010/02/05(金) 20:43:39ID:???
今度は本当だね。
0858nobodyさん2010/02/05(金) 20:51:09ID:???
雑魚は放っておいて先へ進もう
0859nobodyさん2010/02/05(金) 21:39:50ID:5PrgsIzR
Rails 3 Beta is Out ? A Retrospective | Engine Yard Blog
http://www.engineyard.com/blog/2010/rails-3-beta-is-out-a-retrospective/
0860nobodyさん2010/02/05(金) 21:42:03ID:???
なんで ― が ? に化けてるんだよ。
0861nobodyさん2010/02/05(金) 21:43:56ID:5PrgsIzR
Rails 3.0 Beta/Prerelease Available Now and How To Install It
http://www.rubyinside.com/how-to-install-rails-3-0-prerelease-beta-2955.html
0862nobodyさん2010/02/05(金) 22:47:51ID:5PrgsIzR

The Pragmatic Bookshelf | ChangesInRails30
http://www.pragprog.com/wikis/wiki/ChangesInRails30

Manning: Rails 3 in Action 
http://www.manning.com/katz/
0863nobodyさん2010/02/05(金) 23:33:51ID:???
このスレの人は排他的だなー

Railsを使う人が増えるのは素晴らしいことですよ
web上の情報や書籍も増えるし開発だってもっと進む
目玉の数は多ければ多いほどいいんです

底辺も含めて使う人が増えれば増えるほどその言語/FWの環境が良くなるということは
昔のPerlや今のPHP、そして海外限定でPythonが証明していませんか?
0864nobodyさん2010/02/06(土) 00:15:42ID:sFPKz/Gl

Hello Rails 3 World
http://mentalized.net/journal/2010/02/05/hello_rails_3_world/
0865nobodyさん2010/02/06(土) 02:45:14ID:???
まあ日本はガラパコス島だしな。世界の流れに取り残されまくり。

世界ではphp5+mysqlが主流なのに、php4+postgresだったりするし。いつも周回遅れ。
0866nobodyさん2010/02/06(土) 02:53:40ID:YL0PbaBD
質問です
最近railsの勉強を始めました。手始めに

Ruby のブログを 10 分で作成
http://netbeans.org/kb/docs/ruby/rapid-ruby-weblog_ja.html?print=yes

に挑戦しているのですが、ユニットテストでつまずいています。

rakeのdb:test:prepareを実行すると

rake aborted!
Task not supported by 'jdbcmysql'

というメッセージがでて、エラーになってしまいます。

環境はNetbean6.8 rails2.3.4 Jruby1.4 MySQL5.1.42 です
解決策をご存知の方がいらっしゃいましたら、教えてください。

もうすぐ仕事で使うので、できればTDDをやりたいのですが、困ってます。、
0867nobodyさん2010/02/06(土) 03:04:04ID:WHjoDDD7
>個人的にそういう底辺層をRailsに取り込みたいとは全く思わない。

これは酷い
君が誰だが知らないがたとえDHHだったとしても賛同できない発言だな
そもそもRailsってwebアプリケーション・フレームワークだろ
アプリ層以外のところにエンジニアが気をとられすぎてる現状は改善されるべき
0868nobodyさん2010/02/06(土) 03:25:02ID:sFPKz/Gl

ruby\rails\hello>rails generate controller hello
ruby/lib/ruby/gems/1.8/gems/railties-3.0.0.beta/bin/rails:2:in `exec'
: Exec format error - ruby/rails/hello/script/rails (Errno::ENOEXEC)
from ruby/lib/ruby/gems/1.8/gems/railties-3.0.0.beta/bin/rail
s:2
from ruby/bin/rails:19:in `load'
from ruby/bin/rails:19
0869nobodyさん2010/02/06(土) 03:27:48ID:???
底辺層がRails使ってくれないとRails案件が増えないんだよなあ
増えないどころか周りに合わせてPHPなんぞやらされたら死にたくなるよ
0870nobodyさん2010/02/06(土) 05:32:26ID:WcJ7lKTj

5行でrails3

$ rails example
$ cd example
$ ruby script/rails generate scaffold todo title:string body:text done:boolean due:datetime
$ rake db:migrate
$ ruby script/rails server

http://localhost:3000/todos/
0871nobodyさん2010/02/06(土) 06:07:43ID:???
>>866
10分で出来なかった事実を重く受け止めろ m9
0872nobodyさん2010/02/06(土) 06:11:06ID:???
>>855
Railsも日本語の「まともなドキュメント」は少ないぞ
0873nobodyさん2010/02/06(土) 09:26:17ID:???
>>866
jdbcmysqlアダプターで一部の操作が未サポートだって言われてる。
rakeを-t付きで実行して、どのタスクが未サポートか確認。
0874nobodyさん2010/02/06(土) 09:42:28ID:sFPKz/Gl
About your application’s environmentRuby version 1.8.7 (i386-mswin32)
RubyGems version 1.3.5
Rack version 1.1
Rails version 3.0.0.beta
Active Record version 3.0.0.beta
Action Pack version 3.0.0.beta
Active Resource version 3.0.0.beta
Action Mailer version 3.0.0.beta
Active Support version 3.0.0.beta
Middleware ActionDispatch::Static
Rack::Lock
Rack::Runtime
Rails::Rack::Logger
ActionDispatch::ShowExceptions
ActionDispatch::Callbacks
ActionDispatch::Cookies
ActionDispatch::Session::CookieStore
ActionDispatch::Flash
ActionDispatch::ParamsParser
Rack::MethodOverride
ActionDispatch::Head
ActiveRecord::ConnectionAdapters::ConnectionManagement
ActiveRecord::QueryCache
0875nobodyさん2010/02/06(土) 09:43:44ID:sFPKz/Gl
About your application’s environment

Ruby version 1.8.7 (i386-mswin32)
RubyGems version 1.3.5
Rack version 1.1
Rails version 3.0.0.beta
Active Record version 3.0.0.beta
Action Pack version 3.0.0.beta
Active Resource version 3.0.0.beta
Action Mailer version 3.0.0.beta
Active Support version 3.0.0.beta
Middleware

ActionDispatch::Static
Rack::Lock
Rack::Runtime
Rails::Rack::Logger
ActionDispatch::ShowExceptions
ActionDispatch::Callbacks
ActionDispatch::Cookies
ActionDispatch::Session::CookieStore
ActionDispatch::Flash
ActionDispatch::ParamsParser
Rack::MethodOverride
ActionDispatch::Head
ActiveRecord::ConnectionAdapters::ConnectionManagement
ActiveRecord::QueryCache
0876nobodyさん2010/02/06(土) 13:34:13ID:???
gem bundler でgemの管理は楽になるのかなー。
今はcomfig.gemで管理してもgemがうまく動かなかったりして
結局pluginにして入れる事も多いので。
0877nobodyさん2010/02/06(土) 15:03:10ID:???
Zed Shawって最近何やってんの?
0878nobodyさん2010/02/06(土) 15:30:41ID:???
>>876
今はgem bundleというgemのサブコマンドではなく、独立したbundleという
コマンドになってる。
0.9以降でそれまでとだいぶ変わったな。
08798662010/02/06(土) 15:39:36ID:YL0PbaBD
>>871
10分どころか10日も厳しい
>>873
まだコマンドプロンプトからの実行ができていないのですが
rakeのタスク一覧にはdb:test:prepareがあります。

いろいろ調べても、db:test:prepareはさらっと流されてるので
できないほうが珍しいのかな。

最初のソースはグダグダになるのが目に見えているので
テスト駆動にしといて後で直したいんですけどねぇ
0880nobodyさん2010/02/06(土) 17:07:11ID:???
jrubyをやめるのが一番簡単なんじゃないかねえ。
0881nobodyさん2010/02/06(土) 17:13:43ID:???
とりあえず、

1. config/database.yml に設定を書く。
2. mysqlでアクセスするユーザーを作っておく。(grant)
3. 開発用DBを作る。rake db:create
4. テスト用DBを作る。 rake db:create RAILS_ENV=test

db:test:prepareはそのあと。

mysql の前に sqlite3 でやったほうが楽だと思うけど、jrubyだとドライバないのかね。
0882nobodyさん2010/02/06(土) 17:16:34ID:???
netbeansの公式ドキュメントなのか、それ。
ちゃんと動作確認しながら書かれたものなんだろうか。
0883nobodyさん2010/02/06(土) 18:20:25ID:???
jrubyとか敷居高すぎだろ常考
08848662010/02/06(土) 18:50:43ID:O1uZpKfZ
>>880-883
レスありがとうございます

実は
rake db:create
rake db:create RAILS_ENV=test

も上手く言ってないです。エラーは出ないけどもDBも作成されて無いです。
ただ、Rubyのブログを10分で〜のページに、そういう場合は

「サービス」ウィンドウで、MySQL サーバーのノードを右クリックし、「データベースを作成」

と記述してあったので 手動で作成しています。

jruby、mysqlはnetbeansのデフォルトなので、そのあたりは触らないほうが
余計なリスクを背負い込まなくてすむと思ったんですけどね

とりあえず mysql⇒sqllite3 jruby⇒ruby でそれぞれ実験して
問題の切り分けをしてみたいと思います。
0885nobodyさん2010/02/06(土) 19:28:29ID:???
jruby やるならgrailsやったほうがいいんじゃない?
0886nobodyさん2010/02/06(土) 20:13:44ID:???
生rubyが好き。生がいい
0887nobodyさん2010/02/06(土) 20:41:12ID:???
>>884
最近JRubyで動作試したことあるけど、jdbcmysqlだとrake db:createとかが上手く動かない
必要ない限りJRubyは選ばない方が無難
0888nobodyさん2010/02/06(土) 20:44:13ID:???
db:create は初登場時から、全アダプタで対応しているわけではないって主張してたしなー。
0889nobodyさん2010/02/07(日) 03:39:00ID:lH6tE8FW

Looking for a few beta users of our Ruby 1.8.7 & Ruby 1.9 (& Rails 3) stack. Drop beta@heroku.com an email. Feedback required.
http://twitter.com/heroku/status/8649329782

0890nobodyさん2010/02/07(日) 04:07:15ID:lH6tE8FW

Rails 3.0 Beta の Release Notesを読んでみる
http://blog.livedoor.jp/maru_tak/archives/50808747.html
Rails3 リリースノート全文和訳 (ただし適当)
http://d.hatena.ne.jp/gom68/20100206/1265469879
Rails 3.0 リリースノート和訳 - 前編
http://d.hatena.ne.jp/willnet/20100206/1265467594
0891nobodyさん2010/02/07(日) 08:42:26ID:???
Rails3のメリットは何?って聞かれたらなんて答えますか。
多分これから各所で聞かれるだろうから想定回答を用意しておきたい
0892nobodyさん2010/02/07(日) 08:55:11ID:???
>>843-845
確かに鯖管理が面倒というのはあるね。

フレームワークとは違うけどwordpressとかphpbbの作者はスクリプトの普及のため
その辺はものすごく意識しているみたい。
要するにレン鯖で動くようにすることに執念を燃やしている。

WordPressに見るオープンソースWebアプリに向いた設計とは - p0t
http://docs.komagata.org/2815


phpはmod_php動作はともかく、一旦普及してデフォで採用されているのがデカイんだろうなー
mod_php相当のpassengerはいいんだけど、いまいち普及してないよね・・・。
海外だとDreamhostあたりは入ってたと記憶

>>846のherokuみたいにデプロイ簡単で、managedなサーバーはよいね。もう少し安ければいいけどw


ただ、無粋なので言うのやめようかとおもったけど、
動かそうと思えば、xreaとかcoreserverでCGI駆動でも動かせるよ?
どうせサービス作っても流行るかどうかはわからんのだから、人少ないうちはCGI駆動でも問題ないよ!
0893nobodyさん2010/02/07(日) 10:05:09ID:lH6tE8FW
http://www.google.com/search?hl=en&safe=off&tbo=1&num=100&q=rails3&tbs=qdr:d&ei=gRFuS4WmCsqIkAWX9J3UBw&sa=X&oi=tool&resnum=3&ct=tlink&ved=0CB4QpwU
0894nobodyさん2010/02/07(日) 15:47:44ID:???
cgiとかみんな重くて不幸に成るから辞めてくれw
さくらのphpみたいにrubyも上位サービス契約しないと使えない様にされるだけだ。


まともに出来ないレベルで仕事に仕様というのは無茶だな。
そんなレベルで金受け取って仕事される客も困るだろうw
08958662010/02/07(日) 20:54:16ID:AwzzZZa9
jrubyをrubyに変えたら上手くいきました。

ただ、MySQL5.1も問題ありみたいですね。とりあえず
ここを参考にして、エラーは回避しました。
http://d.hatena.ne.jp/kusakari/20091202/1259683140

SUNでまとめときゃ大丈夫と思ったのが甘かったみたいです。
それともwindowsが合わないのかな。

レスくれた方々には感謝してます。
0896nobodyさん2010/02/07(日) 21:34:57ID:???
あんま変わったことしない方がいいよ。悪く言えば寄せ集めなんだから
Google App Engine とかもあったけど、「○○で動いた」みたいな報告は、
ごく一部の機能を動かしただけで、実際の開発には耐えられないんじゃないだろうか。
0897nobodyさん2010/02/08(月) 13:58:49ID:UWYpis5j

http://www.flickr.com/photos/46457493@N00/sets/72157623251011769/show/

How to use both Rails and Sinatra in the same application: http://bit.ly/9nGcR2 -- love how easy this is!
http://twitter.com/dhh/status/8771056696


0898nobodyさん2010/02/08(月) 14:51:50ID:???
jrubyとrorはサン純正でもないと思うが。
サン純正でまとめるならちゃんとjavaで組んだほうがいい。
時代はoracle enterprise linux + oracle weblogic application server + oracle databaseかもしれないが。
0899nobodyさん2010/02/08(月) 19:43:14ID:???
rails3って2系とあんま変わらないらしいね。
一部の機能がモジュール化されて取替え可能になるだけか
0900nobodyさん2010/02/08(月) 20:05:25ID:???
GWT
0901nobodyさん2010/02/08(月) 22:59:49ID:???
jpmobileはRails3に対応してくれるんだろうか
0902nobodyさん2010/02/08(月) 23:23:01ID:???
先月に続き、今月またjpmobile会議があるっぽいから請うご期待。
0903nobodyさん2010/02/10(水) 06:22:01ID:F6Q2dOp+

Ruby on Rails によるシステム開発事例集 - 株式会社オイアクス
ttp://www.oiax.co.jp/cases
0904nobodyさん2010/02/10(水) 13:09:43ID:L494lCPs

Twilog - Twitterのつぶやきをブログ形式で保存
http://twilog.org/

ひとりで作るネットサービス:
ただしイケメンに限……らない! ネットならフリーターでも生活できる――ロプロスさん
http://bizmakoto.jp/bizid/articles/1002/10/news032_2.html
「今振り返ると勉強してよかったです。これから作るWebサービスもRubyで作ります。
やっぱり純粋なオブジェクト指向がすばらしいというか、
PHPで数行かかるところも1行で書けてしまったり、かゆいところに手が届く言語ですね」。
「よく言われることですが」と前置きしつつ
「やっぱりRubyは書いていて楽しい」という。



0905nobodyさん2010/02/11(木) 08:39:51ID:???
Rails事例ではないかもしれんが、参考になるな。
しかし、開発環境がRDEの男の人って・・・
0906nobodyさん2010/02/11(木) 11:54:04ID:???
sakuraで15000pv/日のサイト動いてるよん
0907nobodyさん2010/02/11(木) 12:56:06ID:d9Kyh7+c
自社サイトのPVを計算してみたら、119,932pv/日だった(1月分)。
Webサーバ1台、DBサーバ1台。
それぞれ専用サーバで、メモリは4GB。CPUはCore2DuoT8100。サーバ1台あたり月額14,700円
Apache + mongrel + PostgreSQL8.3。
Rubyのバージョンは1.8.7。
稼動年数は4年くらい。
0908nobodyさん2010/02/11(木) 14:17:14ID:???
10万pv/月ベースは個人で作っても結構簡単に達成できるなぁ。
日ベース常時1万に乗っけるのが難しい。
自分のサイトはなぜか休日にアクセス数激減してしまう
パフォーマンス意識しなきゃいけないほどのマンモスサイトを早く作りたい
09099072010/02/11(木) 15:10:07ID:???
>>908
上のサイトはPCサイトのみのアクセス数なんだけど、やっぱり土日や祝日はアクセスが減るね。
休日も見てもらえるようなコンテンツを用意しないといけないんだろうけど、今はアイデアがない。
ちなみに、1日で約11万pvだから、月だと11*31=341万pv。
当初は、月10万まで行くのも苦労したんだけど、簡単にいけるもんなのか・・・
0910nobodyさん2010/02/11(木) 16:48:41ID:???
スレ違い
0911nobodyさん2010/02/11(木) 16:56:25ID:XTMQuQu/

ミニブログの Twitterのstats(統計)データ。
http://kaworu.jpn.org/kaworu/2008-01-16-2.php
- 350,000を超えるユーザ。
- 秒間600リクエスト
- 平均毎秒200-300コネクション。最大時は秒間800コネクション
- MySQLは秒間2,400リクエストを処理する
- 180のRailsインスタンスがある。MongrelのWebサーバを使っている。
- 1つのMySQLサーバ(1つの大きな 8コアのサーバ)と1つのスレーブ。スレーブは、統計とレポートのための読み込み専用(リードオンリー)。
- 雑用処理をするための30+のプロセス
- 8台のSun X4100s
- Railsでのリクエストの処理時間は200 msec
- データベースにかかる時間の平均は、50-100 msec
- 16GBの memcached
0912nobodyさん2010/02/11(木) 17:09:17ID:XTMQuQu/

RORのままアーキテクチャの変更で10000%高速化したとな。
ttp://b.hatena.ne.jp/entry/highscalability.com/scaling-twitter-making-twitter-10000-percent-faster
0913nobodyさん2010/02/11(木) 18:00:46ID:???
DBを中心としたデータアクセス周りは手を抜いて作るとバカみたいに遅くなるからな
ツイッターのエンジニアもそのあたりの失敗を認めてたような
ここまで使われると思ってなかったんだろうけど
0914nobodyさん2010/02/11(木) 19:27:35ID:???
>>904 の主は2chねらっぽい
K氏と一緒に稼ぐチンパン団 入団20日目
http://pc12.2ch.net/test/read.cgi/affiliate/1262801285/

スレタイトルのチンパン団はインタビューで小一時間説明したのに華麗にスルーされたとかw
0915nobodyさん2010/02/12(金) 00:23:36ID:???
railsでkeyvalue型のDBって使えないの?
0916nobodyさん2010/02/12(金) 06:49:51ID:GlKVK1JQ
単にActiveRecord使わなければいいだけ
というか今もmemcachedとか普通に使われてないか?
0917nobodyさん2010/02/12(金) 08:49:26ID:???
TokyoTyrant、Roma、Kumofsなどなど好きなの使えばという感じだが。
0918nobodyさん2010/02/12(金) 09:32:46ID:???
URL helper関数をRails Consoleから確認することはできますか?
StoryモデルとStoriesコントロールがあったとして、

>stories_path
(/stories を期待している)

としても、そんなメソッドはないと言われてしまいます。
0919nobodyさん2010/02/12(金) 10:47:03ID:???
UrlHelperというのは別途存在するので確認だけど、
map.resourcesで作られるURLを表すメソッドだよね?

ActionController::Routing::Routes.install_helpers して helper.stories_path かなー
と思ったんだけど、違った。

認識されるURLパターンを見るだけなら rake routes でいいんだけど。
0920nobodyさん2010/02/12(金) 12:44:06ID:???
>>919
レスありがとうございます。
はい、map.resourcesで作られる4つの関数です。
結局、protectedメソッドらしく確認できないっぽいです。
0921nobodyさん2010/02/13(土) 00:53:22ID:???
paperclipで画像登録する時、ファイル単位じゃなくてフォルダ選択して中身を一括登録ってできる?
0922nobodyさん2010/02/13(土) 01:02:56ID:???
ブラウザの<input type="file">に、ディレクトリを指定すると
その中身をごっそり送るような仕組みが出来ない限り無理じゃないか?

09239212010/02/13(土) 01:09:26ID:???
>>922

昔作ったやつでフォルダ一括って出来たんだけど、
確かDBにバイナリで格納してたから重かった気がした。
最近paperclipって知ったからコレは!って思ったんだが…

会社行ったら前どうやって作ったのか確認してみます。
0924nobodyさん2010/02/13(土) 01:39:55ID:???
フォルダ一括ってブラウザにそんな機能あったんかw
0925nobodyさん2010/02/13(土) 11:03:58ID:???
「一括アップロード jquery」とか「一括アップロード JavaScript」とかぐぐればいろいろ出てくるけど、
フォルダ一括はそもそもブラウザに機能ないから、何か工夫しないといけないはず。

↓フォルダは無理だが複数一括ならこんなのとか
MOONGIFT: ≫ 華麗にアップロード「SWFUpload」:オープンソースを毎日紹介
http://www.moongift.jp/2007/07/swfupload/
って公式サイト死んでるがな・・・

あとはzipで圧縮したのをアップロードして、サーバー側で展開とか。一手間増えるが
0926nobodyさん2010/02/14(日) 00:55:54ID:???
なるほど、JavaScriptだと、1個ずつ選択してストックしておくしかないけど、
Flash(ActionScript)を使えば一度に複数選択できるのか。
0927nobodyさん2010/02/14(日) 13:54:20ID:6lVOAOxG
どなたか教えてください。

link_to_remoteを使って「ほげ」をクリックすることで"hoge"の内容が
書き変わるようにしています。

<%= link_to_remote 'ほげ',
:update => "hoge",
:url => {:controller => 'foo', :action => 'index'} %>
<div id="hoge"></div>

これをクリックとかの能動的な操作を必要とせずに、画面の初期表示段階で
{:controller => 'foo', :action => 'index'}を実行させるようにしたいです。

何か良い方法はありませんか?

よろしくお願い致します。





0928nobodyさん2010/02/14(日) 16:10:17ID:???
>>918
include ActionController::UrlWriter
0929nobodyさん2010/02/14(日) 16:24:39ID:???
>>927
function foo() {
<%= remote_function(オプション) %>
}
document.observe('dom:loaded', foo)
かな
0930nobodyさん2010/02/14(日) 17:21:58ID:6lVOAOxG
>>929
ありがとうございます。
おかげさまで、うまく実装できました。

当方、jQueryを使っておりますので以下のようになりました。
jQueryでdocument.observe('dom:loaded', foo)に相当するものを探すのに
時間が掛かってしまいました。

<%= link_to_remote 'ほげ',
:update => "hoge",
:url => {:controller => 'foo', :action => 'index'} %>
<div id="hoge">
<script type="text/javascript">
function foo() {
<%= remote_function(:update => "user_week_block",
:url => {:controller => 'user_week', :action => 'index'}) %>
}
$(document).ready(foo)
</script>
</div>
0931nobodyさん2010/02/14(日) 19:00:42ID:???
いやprototype.js使えよrailsなんだから…
0932nobodyさん2010/02/14(日) 19:12:56ID:???
>>931
まあ、ありでしょ。jQueryもメリットある。
remote_function 使うんだからPrototypeもロードしてるはずだけど。
0933nobodyさん2010/02/14(日) 19:13:48ID:???
jRailsつかえばいいのでは
0934nobodyさん2010/02/14(日) 19:17:34ID:???
>>930
なんかコントローラ名とか漏れてるぞw
week blockって
0935nobodyさん2010/02/14(日) 19:17:56ID:???
よほどUIに凝ってるサイトでもなければjquery使うメリットなんて無いと思うぞ
0936nobodyさん2010/02/14(日) 20:31:43ID:???
web-app-themeをうまいこと使う方法ありませんか?

タグにいちいち :class => "label" ってやるのは DRY じゃないと思い
alias_method_chain で FormHelper のメソッドをオーバーライドしようと
label メソッドだけは上書きしてみたんですが

これを、text_field やら form_for やら同じようにやってくのは
これまたDRYじゃないと思い、そこでいきづまりました

:class が nil ならタグ名をクラスとする、スマートな方法があったら教えて下さい
09379362010/02/14(日) 21:36:39ID:???
自己レス
groundworkなるプロジェクトテンプレートが参考になりそうですね
Windows環境だと使えなさそうなので、Linux環境構築中…
0938nobodyさん2010/02/14(日) 22:56:50ID:???
>>935
状況と好みによって選択だな。

jQuery は動的に DOM をバシバシいじるのは確かに楽だ。
配列や文字列なんかのユーティリティ系は Prototype のが素直に書けるよね。
0939nobodyさん2010/02/14(日) 23:01:35ID:???
JS名前空間汚したくない人はjQuery好き
0940nobodyさん2010/02/14(日) 23:28:02ID:???
俺レベルになると生でjavascript書く方が楽だ
0941nobodyさん2010/02/14(日) 23:47:56ID:???
おれもヘルパー使う気にならん
結局生で書くことになったりするから、混在させるのが嫌だなあ
0942nobodyさん2010/02/15(月) 07:55:38ID:???
このスレ的にRails3のunobstrusive javascriptはよいもの?
0943nobodyさん2010/02/15(月) 07:58:05ID:???
unobtrusive ですた…


他のフレームワークで結構採用されてんのね。
0944nobodyさん2010/02/15(月) 15:02:24ID:???
railsって自動で負荷分散もしてくれるの?
もしできるなら勉強してみるかな
0945nobodyさん2010/02/15(月) 15:31:18ID:???
>>944
それは無理
09469212010/02/15(月) 16:20:19ID:???
前作ったの見てみたら、あらかじめ設定したフォルダに
入ってる複数の画像ファイルをjavascriptで持ってきてた。

1年以上前に書いたモノだから今見ると欠片もワカラン。
paperclip使って1ファイルづつ登録するしかないかな…

3000ファイルくらいあるけど
0947nobodyさん2010/02/15(月) 18:42:58ID:9Iqj2ojJ

Rails基礎文法最速マスター - cod.note
http://d.hatena.ne.jp/codnote/20100214/1266132768
0948nobodyさん2010/02/15(月) 19:34:53ID:???
>>947
なんという薄っぺらい内容・・・

「続きは本で!」メソッドだな。
0949nobodyさん2010/02/15(月) 19:54:14ID:???
薄っぺらいっつーかどこかのヘルプを丸写ししただけじゃね
何で☆付いてんだろw
0950nobodyさん2010/02/15(月) 20:01:34ID:???
Rails3っていつリリースされるんですか?
0951nobodyさん2010/02/15(月) 20:12:33ID:???
>>950
βなら出てる。
0952nobodyさん2010/02/15(月) 20:15:15ID:???
ソラ少年はべつにHead First Javaの翻訳者でも何でもないんだから
別にメソッドと呼ぶほどのものではなかろう。
あ、でもアフィは入ってくるのか。

0953nobodyさん2010/02/15(月) 20:16:06ID:???
自演キモ過ぎ
0954nobodyさん2010/02/15(月) 20:43:43ID:???
>>951
ありがとうございます。まだβでしたか。
新サービスをRailsで作りたいのに3を待つか2で行っちゃうかでウズウズ…
0955nobodyさん2010/02/15(月) 20:50:13ID:???
βはちょっと見ただけだが、
* モンキーパッチするなど、実装の深いところを触るのは避ける
* プラグインは全滅するので使わない
というレベルでとりあえず2.3.5で作りはじめておくくらいなら、大丈夫かも。
0956nobodyさん2010/02/15(月) 21:03:13ID:???
実運用するなら2.3.xがいいんじゃないだろうか
たぶんそれなりに開発できるようになるには半年くらいかかるように思う
リリースが大幅に遅れたプロジェクトは要注意。勉強なら平行してやればいいし
0957nobodyさん2010/02/16(火) 00:18:29ID:???
Windows上でRuby1.9とした場合
サーバーはどれがいい(動く)の?

Mongrel? LightTPD? thin?
09589542010/02/16(火) 00:47:56ID:???
>>955
>>956
ありがとうございます。参考になりました。
とりあえず2.3.5で行くことにします。
0959nobodyさん2010/02/16(火) 04:43:08ID:???
なんとかpid
ってファイルを手動で消さないと起動しないことあるんだけど
installの仕方間違えたのかな
0960nobodyさん2010/02/16(火) 14:33:15ID:???
検索、一覧っていう
簡単な流れの画面作ってんだけど
検索画面の入力チェックってcontrollerにもりもり書いていいの?
0961nobodyさん2010/02/16(火) 15:12:55ID:vr/Y6Irj
modelへ
0962nobodyさん2010/02/16(火) 19:26:00ID:???
>>960
検索ワードのことなら、俺ならコントローラに書く。
検索ワードの入力チェック的なこと、そんなにいらなさそう。
検索式の中に入れるならエスケープは必要だけど。
0963nobodyさん2010/02/16(火) 19:39:38ID:???
エスケープはモデルでやるべきだろ
09649602010/02/16(火) 20:02:05ID:???
>>962
検索ワードです。

>>963
プレースホルダ使ってるのでSQLInjectionなら大丈夫です。

ttp://gendosu.ddo.jp/redmine/projects/rails/wiki/モデルとは関係ない検索条件などのパラメータをviewとcontrollerでやりとりする
とりあえずここみながらmodelに書いてみた。

controllerの方がもりもりいけるけど、汚い。
modelだと専用class用意すんのがちょっと面倒。

大抵の人はcontrollerなのかな。
0965nobodyさん2010/02/16(火) 20:40:30ID:???
コントローラはあくまでオマケで、 script/console でモデルだけ操作して
アプリすべての処理が簡単に行えるのが理想だと思ってる
0966nobodyさん2010/02/16(火) 21:17:26ID:???
四階層モデルですねわかります
0967nobodyさん2010/02/16(火) 23:27:40ID:???
(´・ω・`)
0968nobodyさん2010/02/16(火) 23:33:25ID:???
controllerとmodelの間にサービス層が欲しい。
ある程度以上の規模になったら絶対必要だと思うんだけど皆はどうしてるんだろう。
独自に層を挟むのはアリなのかな?
0969nobodyさん2010/02/17(水) 00:16:32ID:???
presenter層について紹介。
http://kpumuk.info/ruby-on-rails/simplifying-your-ruby-on-rails-code/

これはrailsのブログでも紹介されていたよ。
http://weblog.rubyonrails.org/2009/10/22/community-highlights
0970nobodyさん2010/02/17(水) 00:17:30ID:???
アリでしょ。
app/modelsの中に勝手にクラス作ればOK
0971nobodyさん2010/02/17(水) 00:31:26ID:???
>>970
sample codeがみたい
09729682010/02/17(水) 00:36:13ID:???
>>969
>>970
ありがとうございます。

>>969
こんなプラグインがあるんですね。参考になりました。
ただapp直下に新しいディレクトリ作るのは少し抵抗あります。。

>>970
独自に作る場合はmodels以下に作るべきでしょうか?
個人的には、サービス層はコントローラクラスに依存するからcontrollers以下に作った方がすっきりしそう。
例えばloginコントローラ内でabcモデルとxyzモデルを利用する処理がある場合、サービスクラスを保持するファイル名はlogin_serviseのようにコントローラ名に依存すると思います。
なのでcontrollers以下に入れた方が綺麗かなぁと。ほとんど好き嫌いの問題だけど。
0973nobodyさん2010/02/17(水) 01:07:35ID:???
サービス層はコントローラじゃないんだからcontrollers以下に作るのはおかしいと思うけどね。
サービス層はサービス層用にディレクトリ作って、まとめたらいいんじゃないかな
0974nobodyさん2010/02/17(水) 12:50:45ID:???
ごめん、ちょっとわかんなくなってきた。
Service / Model / Controller の役割を誰か例付きで解説して。
0975nobodyさん2010/02/18(木) 16:38:59ID:I3xk6O8m

Wikipediaのダウンロードできるデータファイル一覧
http://www.mwsoft.jp/programming/munou/wikipedia_data_list.html
0976nobodyさん2010/02/18(木) 18:26:01ID:???
>>969
これは、「層」というか、ControllerとViewに介在してシンプルにするパターン(って書いてあるけど)かなあ。

>>968,973,974
質問にもなるけどサービス層として切り出したいものって、
いわゆる「ビジネスロジック」ってやつかな、と思ってるんだけど合ってる?

データに属していない処理(複数のモデルが関わっていて、どのモデルにも置きにくい)で、
Webにも依存しないので単独でも起動できるようなものを、
「サービス」としてまとめたいのかなと思った。

(Railsの)ControllerはWeb依存なのでView間の遷移とかデータをViewにパスするとかを専門でやる。

俺のイメージはこんなん。
09779732010/02/18(木) 23:36:13ID:???
>>976
自分の言っているサービス層は、そういう意味だと思う。
モデルまたはサービス層はWebに依存しないようにして
runnerやconsoleで動作確認しやすいように作ってる。

とりあえず、今はlib/services以下にサービス層を作って置いてる
lib/services/sample_service.rbという感じ。
Services::SampleServiceという感じで名前が長くなるのがちょっと面倒だけど。
サービスを作る時の基準ってみんなどうしてるのかな。
自分は複数のモデルが絡むトランザクション処理とかだけサービスにまとめて、
単一のモデルで簡潔する処理は、そのモデル内に書いてる。
0978nobodyさん2010/02/19(金) 02:41:48ID:???
libに置くのは最悪だろ
アプリケーションから取り外して再利用できるコードを置く場所
09799772010/02/19(金) 02:48:31ID:???
>>978
自動で読み込まれるところに置きたい
モデルとは区別したいので、app/models以外に置きたい
この2点で考えると、lib/serviceというディレクトリに置くのが手っ取り早いってだけで
今はそうしてる。

他にいい場所あったら教えて欲しい。
app/services以下に置く事にして、
environment.rbあたりにapp/services/*.rbをrequireする処理を書けばいいかな。
0980nobodyさん2010/02/19(金) 08:35:28ID:???
そのへんのためかどうか知らないけど、Rails3ではRails.root/app/ の下の
ディレクトリが全部load pathに含まれるようになる。
0981nobodyさん2010/02/19(金) 09:10:06ID:???
そういうのはrorは弱いしな。

梅。
0982nobodyさん2010/02/19(金) 11:40:07ID:???
>>979
environment.rb に

# Add additional load paths for your own custom dirs
# config.load_paths += %W( #{RAILS_ROOT}/extras )

っていう箇所があるからそうすればいいのでは。
config.load_paths += %W( #{RAILS_ROOT}/app/services )
0983nobodyさん2010/02/19(金) 12:05:30ID:???
埋める前にそろそろ次スレ他てようぜ
0984nobodyさん2010/02/19(金) 16:13:46ID:WbFNhWFy

【Ruby】Ruby on Rails Part9
http://pc11.2ch.net/test/read.cgi/php/1266563593/
0985nobodyさん2010/02/19(金) 23:08:27ID:???
それじゃ埋め。
0986nobodyさん2010/02/20(土) 01:47:12ID:???
埋められまsrん。
レス数が950を超えています。1000を超えると書き込みができなくなります。