【Ruby】Ruby on Rails Part8at PHP
【Ruby】Ruby on Rails Part8 - 暇つぶし2ch166:nobodyさん
09/10/05 16:07:22
スレリンク(tech板)
Subversion r11

167:nobodyさん
09/10/05 19:49:34 yk3Qebit
windowsで開発したアプリケーションをlinuxで運用したいんですが
どうすれば良いでしょうか?

168:nobodyさん
09/10/05 19:57:45
>>167
日本語でok

169:nobodyさん
09/10/05 20:13:31
ウィンドウズで開発したアプリケーションをリナックススで運用したいという意味です

170:nobodyさん
09/10/05 20:21:28
>>169
いや、確かに英単語がカタカナにはなっているけどさwww

171:nobodyさん
09/10/05 20:25:53
クススって馬鹿にされてるみたいだ

172:nobodyさん
09/10/05 21:51:18
RubyとRailsの実行環境さえ用意できればあとはwindowsとかわらんよ

173:nobodyさん
09/10/05 23:00:27
Windowsで開発したRailsアプリケーションでもLinux用の特別なデプロイは
必要ないと考えてよろしいのでしょうか?

174:nobodyさん
09/10/06 00:09:18
特別なデプロイってのが意味分からん
何が気になってるのか具体的に言ってよ

175:nobodyさん
09/10/06 00:19:49
あ、すみません
簡単に言うとWindowsで書いたソースコードをLinuxのルートにコピーするだけで
動くんでしょうか?

176:nobodyさん
09/10/06 00:40:32
環境言ってくれなきゃ何もアドバイスしようが無いんだってば
Webサーバーは使うの?RubyとRailsのインストールと設定は終わってるの?DBは?

177:nobodyさん
09/10/06 00:59:22
何度もすみません

開発環境はOSがWindowsVistaとXP。NetBeansを使おうと思っています。
実行環境はOSがUbuntu9.04。
開発実行環境ともRubyのバージョンは1.8.7、Railsは2.3.2です。
WebServerはApacheです。
DBはsqliteかMySQLどちらが良いか検討中です。

178:nobodyさん
09/10/06 01:29:31
> Linuxのルートにコピーするだけ
ってほど簡単ではないけど普通はそのままのコードで動くよ。

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



179:nobodyさん
09/10/06 01:37:49
ありがとうございます。

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

180:nobodyさん
09/10/06 02:03:27
自力でLinux上のRails環境を作れたなら時間をかけて
頑張れば何とかできるのではないでしょうか。

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

頑張ってください。


181:nobodyさん
09/10/06 02:33:02
お節介だけど、サイト構築だけが目的の趣味プログラマならそれでいいけど
プログラミングを勉強したいという趣味プログラマならLinux環境で開発することをお勧めする。

182:nobodyさん
09/10/06 02:45:11
I think so

183:nobodyさん
09/10/06 07:38:34
>>181
ターミナルへのお誘いきたぁ

184:nobodyさん
09/10/06 08:36:54
>>180
重ね重ね、ありがとうございました。

>>181
時間と環境と勘案して検討してみます。

185:nobodyさん
09/10/06 09:45:34
Poderosaおすすめ、Puttyもいいけど。

186:nobodyさん
09/10/06 11:31:18
UTF-8 TeraTerm だろ JK

Putty は、いろんな便利な機能があるけど、いまいちなじめない。

187:nobodyさん
09/10/06 13:06:28
Linux環境で開発した方が結果的に時間も短くて済むよ

188:nobodyさん
09/10/06 14:21:23
いやそれは無いわ
emacs暦8年ぐらいだけどeclipse開発の方が効率は上だぜ

189:nobodyさん
09/10/06 14:41:07
WindowsのRuby遅いからなぁ
ちょっとした事も遅いから、Linuxの方が良いな

190:nobodyさん
09/10/06 20:25:04
NetBeansで開発だからjrubyだよ
ネイティブ版使うより安定した環境だと思う
使ったことないけど

191:nobodyさん
09/10/06 20:32:13
ねっとびーんずって何?美味しそう

192:nobodyさん
09/10/06 22:28:07
Windowsで開発なんて難易度高すぎる…

193:nobodyさん
09/10/06 22:34:04
俺の想像ではあるが、10年後、20年後にはCUIでの開発ってレアな
存在になっていると思うぞ。

194:nobodyさん
09/10/06 22:38:03
>>191
UTF-8でいうと仙豆です

195:nobodyさん
09/10/06 22:58:26
CUIコンパイラも新しくなるんだろうか?

196:nobodyさん
09/10/07 05:36:01
ここって質問して良いのかな。

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です。

197:nobodyさん
09/10/07 08:15:30
少なくとも設定が間違っているならプログラムがエラーを検出して
起動に失敗したりするはずで、それがセグメンテーション違反で落ち
てしまうのは、プログラム自体のバグかモジュール作りで失敗しているか。




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

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


スレリンク(php板)
△▲ WebProg 初心者の質問 Part19 ▼▽
スレリンク(php板)
くだらない質問でもど偉そうに聞いていいスレ
スレリンク(php板)
初心的な質問なのですが・・・・

199:nobodyさん
09/10/07 11:13:28
>インストール方法

了解。ってもごく普通に
gem install passenger
して
passenger-install-apache-module
しただけです。ちなみにwindowsじゃなくてlinux。red hat enterprise es 3だけどです。
今日は関係すると思われるファイル全部消して1からやり直したけど失敗。全力で諦めムードです。レスくれた人、㌧クス。

200:199
09/10/07 11:14:38
だけどです、ってなんだ。焦るな俺。

201:nobodyさん
09/10/07 11:35:16
その手の実行時エラーでありがちなミスで、
ビルド時に使用したライブラリと、実行時に読み込むライブラリが異なる、ってのがあるけど、
その辺は確認したの?。lddとか、ld.conf関連変数をチェックするとか。

あるいは自分で関連ライブラリを変なとこに入れてない? /home とか /usr/local/hoge とかに。
で、ビルドに使ったユーザアカウントだけLD_LIBARY_PATHとかを設定して、
Apacheのプロセスにライブラリの場所を教えずに実行しようとしてるとか?


202:nobodyさん
09/10/07 11:36:21
ld.confってなんだ。ld.so関連変数だ。焦るな俺


203:nobodyさん
09/10/07 17:53:45 3DfRmTbM
自宅と職場で開発したいんですけどPCがwindowsで
リモートとかはできない環境です。
C#はプロジェクトフォルダごとUSBメモリにコピーして
両方で使用してたんですが、Railsだとどうするのが簡単でしょうか?

204:nobodyさん
09/10/07 18:33:55
まえにJRuby + JasperReport で帳票印刷できんかなぁ、とか言ってたモンだけど...
結果、まぁ出来そう。

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

>>203
なんらかのSCMのリポジトリをUSBメモリに入れて持ち回せば?


205:nobodyさん
09/10/07 19:36:32
passenger-spawn-server は自分で作らないとだめ
空のファイルで実行権限があればおk
だった気がする

206:nobodyさん
09/10/08 00:33:25
passenger-spawn-server を自分で作ったことなんて一度もねえよ

207:nobodyさん
09/10/08 01:09:08
rails.vimのメジャーバージョンアップ

rails.vim - Ruby on Rails: easy file navigation, enhanced syntax highlighting, and more : vim online
URLリンク(www.vim.org)
rails.vim script version4.0

208:nobodyさん
09/10/08 04:13:15
emacsでrubyとかrails補完できるものってないの?
ruby-mode.elとかってインデントとか色を制御するだけだよね?

209:nobodyさん
09/10/08 10:42:37
>>134
>environments/production.rbの中でconfig.log_level = :warn
をやったのですが、相変わらずすべてのログが記録されてました…

config/environment.rbにもconfig.log_level = :warn してみましたが変わりません
passenger使ってるのですが、関係ありますでしょうか?

210:nobodyさん
09/10/08 12:35:05
webserver再起動した?

211:nobodyさん
09/10/08 15:36:17
>>203
mac買え、ノートタイプでもいいから
最初からインストールされてて優秀なエディタTextMateもあるから初心者にとって超簡単。

212:nobodyさん
09/10/08 16:12:20
補足。
・(Railsが)最初からインストールされてて
・優秀なエディタTextMateも(シェアウェアで)ある


213:nobodyさん
09/10/09 00:21:52
>>208
あるよ

214:nobodyさん
09/10/09 03:10:21
railsって10分でブログが作れるらしいね。
ということは相対的に考えて100万ぐらいの軽い案件は2~3日で出来るわけか
1週間で1案件として月400万、年収5000万は堅いな
夢ひろがりんぐ!

215:nobodyさん
09/10/09 07:49:14
>>214
おめーさてはバカだろ?

216:nobodyさん
09/10/09 11:50:00
>>215
おい、スルーしろ
単なる釣り針に引っかかるんじゃねYO

217:nobodyさん
09/10/09 17:25:38
AWDwR3rdの邦訳はいつ出るのかな.
原著発売日にはすでに日本語への翻訳が始まってると
著者が書いてたけど,それ以降なにもわからんのです

218:nobodyさん
09/10/09 17:32:15
3rd は初期 Rails 2 だから、今更出るのは問題あるからじゃないかな。

219:nobodyさん
09/10/10 08:11:21
Railsやるのに英語避けられないから
両方の勉強のつもりで読んだら?

220:nobodyさん
09/10/10 08:12:18
避けられる

221:nobodyさん
09/10/10 14:02:22 k2nLAcqK
RESTfulの利点ってなんですか?
アクションのみで遷移してほうが簡単だと思うのですが…



222:nobodyさん
09/10/10 14:54:39
>>221
「リソースとそれに対するCRUD」という形でモノを考えることを
強制されることだと思っている。


223:221
09/10/10 15:15:46 k2nLAcqK
>>221
強制されることで生じるメリットはどのようなものがあるのですか?

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



224:221
09/10/10 15:16:52 k2nLAcqK
アンカー間違えました。
222の方に対する質問でした。


225:nobodyさん
09/10/10 18:06:20
個人でやってる範囲だけど…

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

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

RESTが、というよりは、何かの型に自らはまることのメリットだな、こりゃ。


226:nobodyさん
09/10/10 18:19:41
根拠は無いけどRESTは名前が浸透する前に廃れると思う

227:nobodyさん
09/10/10 20:14:30
浸透してるからRailsで採用されたんじゃなくて?

228:nobodyさん
09/10/10 21:01:24
浸透させたくなったDHHがRailsに採用したという感じではないかな。


229:nobodyさん
09/10/10 21:40:48
RESTが浸透してないとか言ってるやつは、WebAPIでなんか作ってみれば?

230:nobodyさん
09/10/10 21:50:07
なんちゃってRESTも多いからなー。

231:nobodyさん
09/10/11 01:12:46
最近の技術はほとんど名前の後付けに過ぎないからな

232:nobodyさん
09/10/11 03:54:40
ajax
cloud

233:nobodyさん
09/10/12 00:31:02
型に自らはまっておくと、
link_to("詳細", record) だけで詳細へのリンクになるのが便利

234:nobodyさん
09/10/12 11:26:41 w/VULtBT
RESTfulに書くときってコントローラとモデルが1対1になる感じですよね?

235:nobodyさん
09/10/12 14:10:05
マク使うとか馬鹿過ぎw
どうせ鯖はリナックスなんだから、PC買ったほうがいいよ。

236:nobodyさん
09/10/12 18:31:42
>>235
意味不明

237:nobodyさん
09/10/12 19:21:15 PIBBLJL/
has_many関係にある2つのモデルに対して情報を登録するフォームにおいて、
error_messages_forでエラーを表示すると、2つのモデルのエラーがまとめて表示されてしまいます。
一方のモデルのエラーだけを表示するような方法はあるのでしょうか?


238:nobodyさん
09/10/12 19:38:28
エラーを伏せたいほうのオブジェクトの #errors.clear でどう?


239:nobodyさん
09/10/16 05:53:31 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です。
誰か解決策をご存知の方ご教授おねがいします。よろしくお願いします。

240:nobodyさん
09/10/16 06:57:43
mysqlの文字コード設定がsjisとか?


241:nobodyさん
09/10/16 07:07:43
>>239
controllerのクラス名か、ファイル名がおかしいんじゃね?

242:nobodyさん
09/10/16 09:10:01
p の結果が配列に見えるんだが。

243:nobodyさん
09/10/16 10:54:54
githubとかで手軽にソース公開できるようになればこんな問題も即解決


244:nobodyさん
09/10/16 11:34:38
>>239
ソース上 #<Book:0x24319ec> となっているなら、
<%= @book %> と書いてしまっているはずなんだが。


245:239
09/10/16 13:05:10 tsHntjAe
>>240-244

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

とりあえず解決はしたので、良かったです。みなさんありがとうございました。


246:nobodyさん
09/10/16 13:15:33
すいません、↑はテーブル名ではなく、カラム名です。

247:nobodyさん
09/10/16 13:25:38
単純な名前にして予約名とかぶってたんだろ

248:nobodyさん
09/10/16 13:31:02
<%= debug @book %> も地味に役に立つことがあるよね。


249:nobodyさん
09/10/16 13:32:05
>>247

実際は挙げた例とは違い、最初はカラムも変数もnameでしてたのですが、ほかに変えるといけました。
昔はnameでいけた気がするのですが。。。わかりません。

250:nobodyさん
09/10/16 18:50:52
昔はmysqlだったが、いまはsqlightがデフォルトで、その違いのせいとか?

251:nobodyさん
09/10/16 22:13:12
つーか、エラーが起きたんなら別の例に置き換えずに
そのまま上げてくれや…

252:nobodyさん
09/10/16 23:30:47
>>250

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

>>251
おっしゃる通りです....rubyスレの方で質問させていただいたもので答えていただいたときに、
titleカラムで指摘していただいたので、具体的にそのまま上げてしまいました。
まさかそこは関係ないだろうと思っていたので。浅はかでした。混乱させてすいません。

253:nobodyさん
09/10/17 05:14:42
いちよう

254:nobodyさん
09/10/17 18:18:42
マカってホント情報弱者だなw

255:nobodyさん
09/10/17 18:51:19
いちょう

256:nobodyさん
09/10/18 00:59:25
ひぐち


257:nobodyさん
09/10/18 14:09:03
J^ω^し

258:nobodyさん
09/10/18 14:45:29
カッター

259:nobodyさん
09/10/19 22:30:30 BV3oZVvu
Railsでファイルをアップロードして取り込む方法は分かるのですが、URLからWeb上のファイルをダウンロードするようなコードはどう書けばいいですか?

260:nobodyさん
09/10/19 22:34:25
>>259
ダウンロードさせるのがRailsアプリで
ダウンロードするのがブラウザ?

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



261:nobodyさん
09/10/19 23:19:48 BV3oZVvu
>>260

はい。ブラウザからアクセスして、Railsアプリに保存させます。
send_data, send_file試してみます。有難うございました。

262:nobodyさん
09/10/20 01:18:43
URLって画像の直リンか?


263:nobodyさん
09/10/20 01:19:24
それとも画像サイトのurlを指定して画像をrailsで保存したいのか?

264:nobodyさん
09/10/20 02:07:36 E10g0f4b
まず直接リンクから取り込もうと考えています。いずれはサイトのurlを指定して取り込みたいですが、
こちらは何だか難しそうな気がするんですよね。。

265:nobodyさん
09/10/20 02:34:32
public以下、もしくはapacheがよきにはからってくれる場所にファイル
を配置して構わないなら(アクセス制御とかいらないなら)、単にファイル
を置くだけでRails側では何もしなくていいよ。


266:nobodyさん
09/10/20 09:19:41
open-uriじゃないの

267:nobodyさん
09/10/20 09:20:39
え、アプリがどこかのサイトからhttp getするの?


268:nobodyさん
09/10/20 10:15:42 E10g0f4b
例えばurlをフォームにコピペしてダウンロードボタンをクリックすると、
画像なりpdfファイルがパソコンに保存される、というWebアプリを想定しています。

269:nobodyさん
09/10/20 10:42:16
既出だけど、そういうアプリなら、整理すれば
指定されたURLからダウンロード => open-uriライブラリ
ブラウザに結果を返す => send_dataメソッド
となる。


270:nobodyさん
09/10/21 05:37:40
素直にリダイレクトするだけのほうが簡単の様な。

271:nobodyさん
09/10/21 10:16:15 YXYYyrvA
urlからファイルを保存する時はダイアログを出現させずに、
保存先のフォルダも手動で指定せずに自動でやってほしいなと思いまして。

272:nobodyさん
09/10/21 14:52:08
それはブラウザ依存だし、Rails関係ない

273:nobodyさん
09/10/21 17:32:30
OSXだけの話題ですみません。昨日、Snow Leopardを入れたら、Railsがこけました。
ググると当然のように情報があったので、その通りやってみたのですが、MysqlもSqliteも
動きません。やっぱり、上書きインストールは止めとけばよかったかな。(しかもTigerから)
クリーンインストールしてみて、また報告したいと思います。

274:nobodyさん
09/10/21 21:05:25
>273
ただの愚痴ならはてなにでも書けばいいのに。

275:nobodyさん
09/10/21 22:44:47
sproutcoreってどうよ

276:nobodyさん
09/10/21 23:32:09
なにそれ?

とりあえずググるのめんどくさいから解説しれ

277:nobodyさん
09/10/22 03:15:44
マカってホント情報弱者だなw
マクってアンインストールも無いポンコツOSだから大変だwww

278:nobodyさん
09/10/22 08:14:36
ごみ箱に捨てるとアンインストールだよ ^ ^

279:nobodyさん
09/10/22 10:21:14 KXOXFRLn
open-uriについて回答有難うございました。試しにRubyでスクリプトを書いてみたのですが、どうも上手くいきません。

require 'open-uri'

open ("URLリンク(www.fusokk.co.jp)") {|io|
open("fuso_blance_sheet.pdf", "w") {|f|
f.write(io.read)
}
}

上記のコードを実行すると真っ白なpdfファイルが作成されます。また、pdfファイルを画像ファイルに変更しても破損した画像ファイルが作成されます。
open-uriでアクセスしたファイルの正しい保存の仕方(作成の仕方?)を教えて頂けないでしょうか。よろしくお願いします。

280:nobodyさん
09/10/22 10:27:34
>>279
Mac(UNIX)で普通に出来たけど、windowsだとバイナリモードとか
意識する必要があるかも。


281:nobodyさん
09/10/22 11:01:09 KXOXFRLn
>>280

バイナリモードでいけました。有難うございます!

282:nobodyさん
09/10/22 11:11:37
基礎知識足りなすぎだろ、
こうゆうのを砂上の楼閣・・・・

283:nobodyさん
09/10/22 12:16:08 LmLblO9Z
>>281
Railsやる前にRubyの入門書を一通り読んだ方がよい気がする

284:nobodyさん
09/10/22 12:17:58
C言語やれ!

285:nobodyさん
09/10/22 12:48:35
アセンブラ学べ

286:nobodyさん
09/10/22 12:54:03
まじでアドバイスするとC#あたりがいい
どうしてもRubyでやりたいってことならそれもありだと思うが
ただどの言語やるにしても基本くらい勉強しろ

287:nobodyさん
09/10/22 19:32:24
まあrubyの基礎を一通り遣ればいいだけ。いきなりRoRじゃなあ。

288:nobodyさん
09/10/22 21:32:58
railsの本はrubyの事はさっと基本的なことは書いてあっても
それなりに使うには言語自体覚えてこなきゃな


289:nobodyさん
09/10/22 21:56:01
正直C#の方が素直で憶えやすいと思う

290:nobodyさん
09/10/22 21:57:41
自分の勝手なイメージかもしれんけど
多言語でバリバリ書いてる人が
その知識をもとにすいすい書くのがRubyだと思う

291:nobodyさん
09/10/22 21:58:38
ミス
×多言語○他言語

292:nobodyさん
09/10/22 22:05:12
むしろ、プログラミング初心者とか初学者の方が
Rubyの変態仕様はなじみやすいと思う
C系やってたやつがVBのコード見たら発狂するのと同じ

293:nobodyさん
09/10/22 22:15:00
Rubyが変態とかwww
一番素直な言語だと思うんだが

294:nobodyさん
09/10/22 22:21:06
柔軟すぎて気持ち悪いって言う人がいるのはまあわかる

295:nobodyさん
09/10/22 22:26:39
VBでなぜ発狂するのかわからん。普通にわかるし
Perlあたりでみかけるすばらしく圧縮されたコードならわかるが

296:nobodyさん
09/10/22 22:52:10
変数のほうに型がないと不安なんじゃない?


297:nobodyさん
09/10/22 23:17:12
CとRubyの基礎的な本は読んだのですが、読み落としがあったり忘れたりしてしまうんですよね。
そこでRailsでアプリを作ればプログラミングも覚えていけると思いました。
Webアプリ以外だとどういうものを作るか思いつかなくて、CやC++は勉強が進んでいないです。。

298:nobodyさん
09/10/22 23:19:31
マインスイーパ
次にソリティア

299:nobodyさん
09/10/22 23:23:17
>297
100マス計算
計算100 (脳トレに入ってるアレ)
じゃんけんゲーム
数独問題生成
数独を解く

上三つが簡単。



300:nobodyさん
09/10/23 00:46:33
英語読んだだけで覚えないだろ?使えないし、しゃべれないし
どんどん使って行かなきゃ名


301:nobodyさん
09/10/23 00:51:03
>>297
ちょうどいいサイトがある。
Ruby のサンプルプログラム投稿サイト - Masaru
URLリンク(projects.netlab.jp)

ここにどんどん投稿しろ、いやしてください。(m´・ω・`)m

302:nobodyさん
09/10/23 09:29:47
人気のあるサンプルプログラム
1. String#* /
同じ文字列を複数並べて表示する。 47pt | 2008-08-23

(;^ω^)

303:nobodyさん
09/10/23 12:14:31
レベル低すぎてワラタ

304:nobodyさん
09/10/23 12:55:13
>>303
ばか、>>297用へのリンクだとなぜlogを読まん?

305:nobodyさん
09/10/23 17:53:28
フォームから取得した値をコントローラで受けとって、何もせず再度表示させたいと思い以下のコードを書きましたが、何も表示されません。

ビューのコード

<% 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 %>としただけのビューのコードが間違っているのでしょうか?
どなたか教えて頂けないでしょうか。よろしくお願いします。

306:nobodyさん
09/10/23 18:12:39
ruby script/server -u
でデバックモードで起動してくれるからログ見ろ

307:nobodyさん
09/10/23 18:22:29
HTML間違ってる訳だが

308:nobodyさん
09/10/24 01:13:38
リダイレクトしたらフォームの値は消えるだろ。
GETでパラメータ渡すか、セッション使わない限り。

ビューといっているのが、list.html.erb(またはlist.rhtml)なのであれば、
render :action => :list
で動くだろう。
もし、違うファイル名(例えば、name.html.erbとか)だったらそれを指定する必要がある。

309:273
09/10/24 20:56:08
ただの愚痴とか情報弱者とかご指摘をいただきました>>273でございます。
Snow Leopardのクリーンインストールをしたところ、問題なく動く
ようになりましたので、ご報告させていただきます。
あちこちに書かれている通り、Mysqlの64ビット版をインストール、
mysql gemを-arch x86_64フラグ付きインストールでうまくいきました。
やっぱり、OSのアップグレードのような作業で手間を惜しむと後でよけいに苦労
することが多いのは世の常ですね。

310:nobodyさん
09/10/24 22:59:57
gem入れ直すだけで十分だったのに

311:nobodyさん
09/10/25 05:56:11
>>308

パラメータ消えるんですね。知らなかったです。
リダイレクトとレンダーの違いがよく分かってなかったです。
回答有難うございました。

312:nobodyさん
09/10/26 18:27:15
マカってホント情報弱者だなw

313:nobodyさん
09/10/27 17:37:01
既存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」でなきゃいけないのだけれどもカラム名の変更はできないという…
できそうなんだけどググっても不明ですどなたか教えて頂けませんか

314:nobodyさん
09/10/27 18:34:14
こういうのならば
belongs_to :folder , :foreign_key => "h_id"

ここの真ん中らへんにあります
URLリンク(api.rubyonrails.org)
Specify the foreign key used for the associationで検索してください



315:nobodyさん
09/10/27 18:34:38
:foreign_key

316:313
09/10/27 19:15:30
>>314
>>315
おおおうああできました!
ありがとうございます。
そうか、foreign_key でカラムに固有名をつけてあげればいい、ということなんですね。
すっかり凝り固まっていて思い至りませんでした。ありがとうございました!

317:313
09/10/27 19:21:50
あああちがう、foreign_keyで外部キー名を指定してあげる、ですね
理解が浅くて申し訳ないです

318:nobodyさん
09/10/28 14:26:55 /NsMtcRB
>>317
そのDBを、新しく作るrailsアプリからしか使わないんだったらマイグレーションでDBの定義変えちゃった方がいいと思うけれど。

foreign_key使うより個人的にはそっちの方がrailsのやり方に沿ってて好き。というかカラムの名前がrailsの命名規則に従ってないのって気持ち悪くない?まぁ人それぞれだと思うけど。

319:nobodyさん
09/10/28 16:11:34
そんなこと出来る環境なら誰だってそうするだろ。
既存DB弄れないのはよくあること。

320:318
09/10/28 17:48:49 /NsMtcRB
>>そんなこと出来る環境なら誰だってそうするだろ。
>>既存DB弄れないのはよくあること。
まぁだからもちろん、「そのDBを、新しく作るrailsアプリからしか使わないんだったら」なのだけれど。
313が業務じゃなくて個人的に色々作ってる人のような気がしたので、
だったらDBの定義変更もできるんじゃないかなと思って。なんとなく。

321:nobodyさん
09/10/28 17:57:57
質問よろしいでしょうか?

うまくいきません、どうやったらよいものでしょうか?

322:nobodyさん
09/10/28 17:59:40
よいよい詳しく申してみなさい

323:nobodyさん
09/10/28 18:00:59
すいません、質問の中身書き忘れました・・・

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

どのように実現するのが早いでしょうか?
JavaScriptを絡めないと無理なものでしょうか?

324:nobodyさん
09/10/28 19:55:21
>>323
submitを一つのformに複数置く場合、アプリではsubmitを名前で
区別して動作を変えることができる。

結果表示の方だが、確か、formにも target="_blank" を指定できたと
思う。ただし、今回は、一つのformの複数のsubmitという条件なので、
片方のときだけ、実際にサーバにデータを送る寸前にtargetをすり替える
ようなJavaScriptを用意する必要があると思う。


325:nobodyさん
09/10/29 09:41:06
>>324
サンクス

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

ありがとうございました

326:313
09/10/29 11:06:29
>>318
>>319
提案とお気遣いありがとうございます。
使用しているDBは別のフレームワークで利用しているもので、
それにRailsで拡張アプリみたいにしてみたかったのでカラムの変更なしが前提でした。
でも本来ならばRails方式に変更した方がいいし、別フレームワークでもRailsと同じ方式でカラム命名ができるので、
Rails側アプリが巨大化する前に手をうとうと思います。
Railsの生産性の高さに元アプリから作り直しそうな勢いですw

327:nobodyさん
09/10/30 02:39:16
3.0って1.9.2が出たあとか?来年の4月に洋書で本が出るようだが
2系で作って大幅改修が嫌だから待ってるのだが遅すぎるわ

328:nobodyさん
09/10/30 02:43:45
>>327
洋書はどこから出るの?

329:nobodyさん
09/10/30 07:45:24
>>328
これのつもりだったが
URLリンク(www.amazon.co.jp)

これはもうすぐ出るんだな
URLリンク(www.amazon.co.jp)

よく見たら上のはドイツ語だった・・・

330:nobodyさん
09/10/30 08:21:29
ぶっちゃけその3はRails3じゃなくて、本自身の第3版じゃないか?


331:nobodyさん
09/10/30 08:22:43
失礼、英語の本のほうはRails 3か。

332:nobodyさん
09/10/30 12:38:37
ActeveRecordでupdate_atだけ更新する方法を教えてください

333:nobodyさん
09/10/30 22:40:57
>>332
railsのバージョンによって回答数が異なります。
バージョンは何?

334:nobodyさん
09/10/31 06:45:29
>>333
2.3.2です

335:nobodyさん
09/10/31 10:44:38
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です。
どなたか解決方法を教えて頂けないでしょうか。 よろしくお願いします。

336:nobodyさん
09/10/31 11:17:28
>>335
そのエラーてどこのレベルでててるんだろ。
真ん中に赤枠があって、その中にエラー文字列があるなら、Railsがエラーはいているだろうけど

apacheのログ確認してみた?

337:nobodyさん
09/10/31 11:49:10
"GET/financial_statenents HTTP/1.1" 404

ログの見方はよく分からないのですが、Railsで用意された404が表示されているみたいです。

338:nobodyさん
09/10/31 12:10:24
追加したってのは、Rails.root 直下の public の下にHTMLファイルを
追加したってこと? Railsの機能を追加したってこと?



339:nobodyさん
09/10/31 12:47:05
新しいコントローラのクラスと、それに対応するビュー、モデル、データベーステーブルを追加しました。

340:nobodyさん
09/10/31 12:59:55
とりあえず、apacheではなくRailsプログラムの問題のようなので、

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

または、

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

などでより詳しい情報を得ることを勧める。


341:nobodyさん
09/10/31 13:34:57
何度も申し訳ないのですが、Passengerの設定ファイルってどこにあるのでしょうか?

342:nobodyさん
09/10/31 14:46:41
PassengerでRailsEnv指定できました。

Routing Error

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

という表示に変わりました。routes.rbに何か設定を追加すればよいのでしょうか?

343:nobodyさん
09/10/31 14:50:58
いいかげんにしろ

344:nobodyさん
09/10/31 15:00:09
/financial_satementesというURLでRailsになんらかのアクションを
してほしいなら、あなたが追加したコントローラとそいつのメソッド
がそのURLにマッピングされなければならない。

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

routes.rbに
map.resources :financial_statements とでも書けばいいんじゃない?


345:nobodyさん
09/10/31 15:39:28
回答有り難うございます。

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

同じようなURL(/controllername)はマッピング出来ているのに/financial_statementsはエラーになる理由がよく分からないです。。

346:nobodyさん
09/10/31 15:42:24
まー、あとは routes.rb の問題ぽいからドキュメントみつつ
rake routes しつつ、試行錯誤してくれい。


347:nobodyさん
09/10/31 19:08:53
おまたせしました
質問です
RoRはWindows7で動作しますか?

348:nobodyさん
09/10/31 20:26:19
動かないと思います

349:nobodyさん
09/11/05 17:41:39
Ruby on Rails解説書の定番"Agile Web Development with Rails"の
日本語最新版『RailsによるアジャイルWebアプリケーション開発 第3版』が、
この2009年11月末にオーム社より発行されます。

ついにでるー.

350:nobodyさん
09/11/05 21:57:32
>>350

URLリンク(ssl.ohmsha.co.jp)

351:nobodyさん
09/11/05 23:41:40
Head first railsもRails2.3対応で同時期に出るらしいんだけど,
どっちがいいかな

352:nobodyさん
09/11/06 01:47:30
以下のようなプログラムを作成し、実行しています。

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

クエリキャッシュを有効にしていたのですが
エラーの出現回数があまりに多いので
毎回クリアさせてみたところ多少減りました。

353:nobodyさん
09/11/06 01:47:47
そのタイミングでrails3が来たら全員涙目w

354:nobodyさん
09/11/06 03:08:33
一度出たら2年くらい出ないから、3系を待ってくれた方がよかったかも
正直2.3系はあまり困ってない

355:nobodyさん
09/11/06 17:55:44
質問させてください。

/lib/xxx.rbのモジュールをControllerでincludeして利用しています。
BackgrounDRb(/lib/workers/yyy_worker.rb)でも
xxx.rbのモジュールをincludeして利用したいのですがどうすればいいでしょうか?

356:nobodyさん
09/11/07 00:52:56 ygEaPrn0
Rails勉強中なのですが、DBのリレーションのところでつまずいてます。
目的:下記条件下で、new.html.erbから名字と子供のnameを登録したい。

テーブル
Parent
id:
myoji:

Child
id:
parent_id:
name:

という二つのテーブルがあり
それぞれのモデルには、
has_one :child
belongs_to :parent
を指定しています。

357:nobodyさん
09/11/07 00:54:17 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などは最新バージョンです。



358:nobodyさん
09/11/07 01:01:03 ygEaPrn0
すみません。
@user = Parent.new(params[:data])
ではなく、
@user = Parent.new(params[:user])
だと思うのですが、、、まちがってますよね。。。

359:nobodyさん
09/11/07 02:01:48
>>355>>356も、どう困ってるか書いてないのだが同じやつか?

360:nobodyさん
09/11/07 02:36:17
自分でも何が分かってないのか分かってないんだろ。
なんかよく分からないけどヒントください、みたいな。

361:nobodyさん
09/11/07 02:36:32 ygEaPrn0
いえ、違う人です。

いろいろ変えてやってみたのですがいろいろなエラーで
収集がつかなくなったので、根本的に、基本的なところで
どう間違っているのか、指摘してもらえればありがたいなーと
思いまして。。(^^;;

362:nobodyさん
09/11/07 02:39:37
そのコントローラーに対してどういうアクセスをしたのか、
その結果どういうエラーが出たのか、
具体的に示さないとあかの他人がアドバイス出来るはずないでしょ。

363:nobodyさん
09/11/07 08:13:45
何もしてないならコントローラの名前がmain.rbって時点で変。


364:nobodyさん
09/11/07 08:40:04
ずーっと使っているとメモリの消費量がすごいことになるんだけど
どうしたらいいの?
いったん再起動するの?

365:nobodyさん
09/11/07 09:14:59 iBTE7BNg
自分の場合、monitなどの監視ツールでメモリの使用量が一定量を超えたら自動で再起動させてる

366:nobodyさん
09/11/07 09:15:41
freeしても使用メモリはOSが実際に必要とするまで返還されなかったり
するからとりあえずOSとかいろいろ教えれ。


367:nobodyさん
09/11/07 09:22:59
>>364
放っておくと死ぬから頻繁に再起動するしかないw

368:nobodyさん
09/11/07 09:53:27 iBTE7BNg
Passengerの場合は、5分間アクセスがなければプロセスを終了させるとか、1000回アクセスを処理したら終了などの設定ができるので、特にツールを使わなくても再起動できるのでおすすめ。

369:nobodyさん
09/11/07 11:37:51
rubyってガベコレしてないの?

370:nobodyさん
09/11/07 12:03:22
してるけど、Conservative GCなのでどうがんばっても回収漏れは発生する。


371:nobodyさん
09/11/07 12:07:23
>>366
ubuntu 8.04をxp上のvmware playerで動かしてる
メモリの割り当ては512M

monitなどで再起動か
なるほろ

372:nobodyさん
09/11/07 12:14:14
GCはOSからもらっているメモリで再利用していいはずの
箇所を実際に再利用できるようにすることなので、
OSにメモリを返すという意味ではない。



373:nobodyさん
09/11/07 14:27:25
じゃあ再起動しなくていいはずなのに
どうして再起動しないと固まるんだろうw

374:nobodyさん
09/11/07 15:00:41
GC以外のところに原因があるからという風に読めるな

375:nobodyさん
09/11/07 16:06:55
railsお勧めのレン鯖って存在しますか?

376:nobodyさん
09/11/07 16:36:34
メモリリークしまくるのはオブジェクト指向言語の伝統だし。

377:nobodyさん
09/11/07 16:40:02
ちょいと質問があります。

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化するにはどのように書いたものでしょうか?

378:nobodyさん
09/11/07 16:42:07
>>375
定評あるのはslicehostかな?
最近なら、Rackspaceとか

379:nobodyさん
09/11/07 17:02:18
>>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 を呼ぶ。

380:377
09/11/07 17:12:43
>>379
うほっ!できました、できました!

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

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

今までmoduleの中身はincludeした方のスコープで動くもんだと思ってたw そういうことだったのか

381:nobodyさん
09/11/07 19:06:05
>>373
>>じゃあ再起動しなくていいはず
逆。OSには返してないわけだから、基本的にOSから見た
プロセスが食うメモリってのは増える一方。


382:nobodyさん
09/11/07 19:46:08
freeしてもOSにメモリを返却するってわけじゃないんだよな。
プロセスのメモリサイズをいじるのはsbrkとかbrkだっけ?


383:nobodyさん
09/11/07 20:08:11
>>379
自分には関係ないけど
なるほどーと思った

384:nobodyさん
09/11/07 21:19:04
>>379
宣言的に見えるけど、実のところnamed_scopeもただの
メソッドだからな。


385:nobodyさん
09/11/08 02:45:09
qmailで受信して、.qmailのパイプ経由で
script/runnerしてメール処理をしてるのだが、
一度受信したメールが何度も繰り返し送られてくる。

これって、こういうものなのかな?
それとも的確な処理をしてないから?


386:nobodyさん
09/11/08 02:58:14
受信したら消せよ

387:nobodyさん
09/11/08 03:13:16
うそん

388:nobodyさん
09/11/08 03:16:34
外部から何度も送られてくるのよ。
受信したメールをコマンドで処理するのみで
保存しないようにしても症状は同じ。

受信したときに相手のサーバに的確なメッセージを
返してあげないとダメなのかな?
そういうのはqmailが勝手にやってくれてると思うのだけど…

389:nobodyさん
09/11/08 10:25:46
>>388
> そういうのはqmailが勝手にやってくれてると思うのだけど…

おいおい


390:nobodyさん
09/11/08 11:28:57
これがruby厨

391:nobodyさん
09/11/08 14:55:17
そんなくれくれruby厨に助言してくれよう。
終了コード0返すだけじゃだめなの?

392:nobodyさん
09/11/08 16:35:04
ActiveRecord::Migration.execute('CREATE TABLE hoge (・・・); CREATE INDEX ・・・;')
とかしてもインデックス作られないんだけどCREATE TABLEだけしか実行してくれないの?

393:nobodyさん
09/11/08 18:22:12
そんな事はない。
インデックスも正しく作成される。
その前にマイグレーションを使っているのに、わざわざSQLを直接実行するのはなんでだ?


394:nobodyさん
09/11/09 20:11:21
Railsではidを渡すところに大概は、Hoge.find(id) した後のオブジェクトを渡しても
自動でidに変換してよしなに計らってくれますよね?

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

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

環境はRuby 1.8.7、Rails 2.3.4です。

395:nobodyさん
09/11/09 21:43:53
>>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


396:nobodyさん
09/11/09 21:58:57
んなもんソース見るまでもなくね?

397:nobodyさん
09/11/09 23:09:34
見ないでどうやってしらべんの

398:nobodyさん
09/11/10 04:32:44
んなもん調べるまでもなくね

399:nobodyさん
09/11/10 12:23:52
初心者スレか本スレに帰れ

400:nobodyさん
09/11/10 15:45:57
>>395
無事動作を確認できました!

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

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

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

他の場面でもソース見ててハマりそうだ・・・。
この辺てCSSとか直したらなんとかなるんかな。

401:nobodyさん
09/11/10 16:15:53
「SQL文の条件句に埋め込む数値の表現」なので、
最終的に文字列が得られるようになってるのよ。


402:nobodyさん
09/11/10 16:23:20
>>401
ああ、確かにドキュメントに

> Quote strings appropriately for SQL statements

と書いてありますね。

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

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

ありがとうございました。

403:nobodyさん
09/11/10 20:20:41
質問よいですか?

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

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

設計の問題なのかもしれませんが、ぜひご助言ください。

404:nobodyさん
09/11/10 22:01:55
formならhiddenでいいんじゃね?


405:nobodyさん
09/11/10 22:09:57
セッションに保存するのが駄目な理由が分からん。
application_controllerにチェックするメソッド定義して、各コントローラでfilterで呼ぶとか。
filterを工夫すればいいんじゃないの?

406:nobodyさん
09/11/10 22:11:23
>>403

例えば、link_toの場合は、こんな感じで書くとGETパラメータを付加してくれる。
formでも同じ事ができるかは分からないが。
<%= link_to("編集", :action => :edit, :id => @item, :params => params) %>

407:403
09/11/11 09:59:21
>>405
そういうことが聞きたいのです。

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

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

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

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

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

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

>>404
確かにformならhiddenでもいいですね。GETパラメータでやらなくてもいいか

408:nobodyさん
09/11/12 03:49:23 K53v7ACD
ファイルをアップロードするときってform_tagとかfile_fieldを
つかってファイルを選ぶ方法しかないのでしょうか?
クライアントがパスを書いてそこにあるファイルをサーバに保存する
ことは不可能ですか?

409:nobodyさん
09/11/12 04:51:31
可能

410:nobodyさん
09/11/12 15:35:06
/etc/passwdとか上書き出来たら楽しいね。

411:nobodyさん
09/11/12 15:36:59
当たり前のような質問があります。

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

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

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

などとかかなくてはいけないものなのでしょうか?

412:nobodyさん
09/11/12 22:47:21
find_by_sqlで複数のSQLを実行したとき
返ってきた結果セットがほぼ同時に別プロセスで
実行していた別なSQLのものに変わってしまっています。
mysqlの設定などでチェックすべきところとかないでしょうか?

413:nobodyさん
09/11/12 23:21:24
>>411
無指定の map.resources だけだとそこまで面倒みてくれない。
map.resources に追加するか、昔ながらのやり方で

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

のように定義してやるとか。


414:nobodyさん
09/11/12 23:37:15
トランザクションとかストアドプロシージャだろうか
やったことないけど

415:411
09/11/14 04:27:35
>>413
ありがとうございます。
こちらでも試してみましたが、やはり、必要なのですね。

>>411のは間違ってまして、/hoge/foobarの場合は、
 map.resources :hoge, :collection => { :foobar => :get }
でした。
/hoge/1/foobarなら、>>411のでいいみたいです。

416:nobodyさん
09/11/17 14:03:16
ちょっと聞いていいでしょうか?
psousa's baseapp-orange at master - GitHub
URLリンク(github.com)

以前でてた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
とするのですが、何ごともなく終了します。

どうしたものでしょうか?

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

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

なるべくシステムに入っているgemを使いたいのですが、満載のvendor/gems以下や、vendor/rails以下は
手動で削除しちゃっていいものなのでしょうか?

418:nobodyさん
09/11/17 16:12:30
rails 2対応の初心者用参考書でお勧めはどれですか?

419:nobodyさん
09/11/17 16:13:42
既存のapache管理下のものに影響与えないように導入することはできないのでしょうか

420:nobodyさん
09/11/17 18:37:57
>>418
>>350がいいんじゃないかと思う

421:nobodyさん
09/11/17 22:36:49
>>419
影響ってどういう意味?

422:nobodyさん
09/11/18 02:13:20
restful_authenticationを使ってログイン認証を行おうと思ってるんですが、
画面の遷移がない場合5分経ったらセッションを消してログアウト状態にしたいと思っています。

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

restful_authenticationを使う場合は、データベースに値を持たなくても上記のような事ができるのでしょうか?
すみませんが、お知恵をお貸しください。宜しくお願いします。

423:nobodyさん
09/11/18 17:36:25 8qlvL/3i
都道府県のデータをRubyの配列で用意しようと思うんだけど、
どこのファイルにおくのがおすすめでしょうか。

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

こんな感じのデータです。

424:nobodyさん
09/11/18 18:51:10
Railsアプリのルートディレクトリを表す変数とかありませんか?

425:nobodyさん
09/11/18 22:12:48
>>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

426:nobodyさん
09/11/18 22:14:23
いまは Rails.root でもOK

427:nobodyさん
09/11/19 00:14:02
Wikiみたいなアプリで、文字列をHTMLに変換する処理をParserとしてモデルに切り分けたいのですが
url_forとかhoge_urlとかはモデルから使えないので、リンク生成をどうしたものかと思っています。
config/routes.rbの設定と重複しないために、できればURL生成メソッドで作りたいのですが
どうにかできないでしょうか?

428:nobodyさん
09/11/19 15:24:41
>>427
モデルじゃなくて(モデルでもいいけど)、
ふつうのライブラリみたいに lib/以下にParserとしておいて、
コンストラクタでコントローラーのインスタンスを渡す、とかどうだろか

lib/以下に置く時の注意は、moduleにしてRailsが想定する名前の付けか足しておくと、
requireとかしなくても、自動で読んでくれる。はず。
詳しい方きぼん

429:nobodyさん
09/11/19 15:32:45
ついでに質問なのですが、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側におけないものでしょうか?

430:nobodyさん
09/11/19 20:01:14
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のチュートリアルだと
URLリンク(rspec.info)
get 'some_action'
response.should have_text("expected text")
とあるので、getだけでいいと思うんですけど、ほかに何か必要でしょうか。

431:nobodyさん
09/11/19 21:37:22
>>429
プラグイン化するとか。
結局はincludeするんだけど、vendor/plugins に丸ごと置くだけでよくはなる。


432:nobodyさん
09/11/20 16:48:45
Railsで、text2html みたいなヘルパーってありませんでしたっけ?
「rails text2html」でぐぐっても、それらしいのは見つからず。

433:nobodyさん
09/11/20 17:56:43
RoRをWindows上で稼動させていてアップローダーを作ったところ
日本語のファイルがUTF-8で生成されてWindows上で文字化けします
ファイルを保存するときにSJISに変換しないといけないのでしょうか?
NTFS自体はUNICODE対応のはずだし
なにかが間違ってるような気がするんです

434:nobodyさん
09/11/20 18:02:42
>432
textile とか markdown のこと?

>433
お前が間違ってる

435:nobodyさん
09/11/20 18:55:59
form_remote_tagとselect_tagを使ってAjaxで選択リストの値を送りたいのですが、値を受け取るにはコントローラでどのようなコードを書けばよいのでしょうか?

436:nobodyさん
09/11/20 19:17:38
>>433
UTF-8で保存するのでもなければSJISで保存するのでもない
UNICODEで保存するんだぞ

437:nobodyさん
09/11/22 03:24:06
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です。
よろしくおねがいします。

438:nobodyさん
09/11/22 04:51:41 Z6X1KQFW
>>436
UNICODEで保存?
UTF-8/16じゃなく?


439:nobodyさん
09/11/22 06:54:00
write open するときに
OpenFileA()じゃなくて
OpenFileW()使えっていう意味では

440:nobodyさん
09/11/23 20:58:50
RailsでjQuery使うにはどうするのがよいんでしょうか?
jRailsというのがあったみたいですが、公式サイトなくなってるし・・・

jRails - jQuery on Rails
 URLリンク(ennerchi.com)

441:nobodyさん
09/11/23 21:27:37
ふつうに <script src=></script> でいいんじゃないの?



442:nobodyさん
09/11/24 00:15:15
当方Windowsで開発をしています
ruby script/serverを実行した際に

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

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

解決方法がさっぱりわかりません
どなたか解決方法知っている方がいれば教えていただけるとありがたいです

443:nobodyさん
09/11/24 00:38:56
こっち最新なんだろうか
URLリンク(github.com)

444:nobodyさん
09/11/24 03:53:25 igGLII2V
>>442
まるち

445:nobodyさん
09/11/24 07:33:31
>>442
誘導されておきながらそれを書かないからマルチ扱いされる
あと誘導前のスレにも移動する事くらい書いた方がいい
ちなみにMongrelの事は知らないので質問には答えられない

446:nobodyさん
09/11/24 09:45:43
>442
もっと詳しく。
エスパーは希少なのでそれだけの情報では足りない。
何が足りないのかは考えろ。

447:nobodyさん
09/11/25 01:38:14
知らんがな。
自分で調べる能力無いなら、サポートしてくれる業者を捜すなり、商用ソフトでも使ってサポート受けたら?

スレリンク(php板)
【PHP】下らねぇ質問はID出して書き込みやがれ 90
スレリンク(php板)
【質問】ASP.NETスレ Part6【雑談】
スレリンク(php板)
【 スクリプト改造依頼スレ】(丸投げ) part7再々
スレリンク(php板)
△▲ WebProg 初心者の質問 Part21 ▼▽
スレリンク(php板)
くだらない質問でもど偉そうに聞いていいスレ

448:nobodyさん
09/11/25 16:20:37
>>442
何をしたいのか、何を聞きたいのか、意味がわからん。

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

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

Ctrl-Cは何回かおしたら止まる気はする

449:nobodyさん
09/11/25 16:25:33
質問をお聞きします。

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

ソースも見ているんですが、どこで付加されているのかイマイチわからんです・・・

450:449
09/11/25 16:51:10
実際はlib/以下に配置したモジュール内から、以下のようにして記述しているのですが、
ApplicationController.helpers.javascript_path "hoge"
hoge.js?1235343 のようになってくれません。
Rails consoleで上記を試すとちゃんとついてくれるのですが・・・

451:nobodyさん
09/11/25 17:02:11
わからないけど、これは関係あるだろうか
cache_asset_timestamps


452:449
09/11/25 17:24:16
>>451
ありがとうございます。

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


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

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

解決しました。
おかげさまでありがとうございました。スレよごしスマソ

453:nobodyさん
09/11/26 11:02:42 S4TWLvc3

Ruby 1.9 And Rails 3.0
URLリンク(www.slideshare.net)

454:nobodyさん
09/11/26 17:33:35
ぬるぽ

455:nobodyさん
09/11/26 17:50:14
Rails 2.3 = Rails 3.0 ってあるけど、そうなの?

456:nobodyさん
09/11/26 19:34:03 S4TWLvc3

First look at rails 3.0.pre
URLリンク(drnicwilliams.com)

URLリンク(woodie-rails.appspot.com)

rails 3.0 pre
URLリンク(github.com)
URLリンク(woodie-rails.appspot.com)

457:nobodyさん
09/11/27 00:40:04
ossでソースきれいで参考になるプロダクトってある?

458:nobodyさん
09/11/27 16:27:52 uE3HMbl5
rails version 2.3.5 just released.

459:nobodyさん
09/11/27 17:51:25
やっとこさrails2系に慣れてきたのにrails3とかワロス

460:nobodyさん
09/11/27 18:43:36
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"
となる。
何が足りない?誰か助けて。

461:nobodyさん
09/11/27 18:59:16
>>460
サンプルの config/locales/en.yml にあるキーは小文字の hello なんだが、
YMLに小文字で書いて呼び出しで大文字のHelloを使っているのではあるまいか?



462:nobodyさん
09/11/28 00:57:41
>>460

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

単に、hello: の行だけでは動かなかった。
たぶん、そのあたりじゃない?

463:462
09/11/28 01:06:47
あ、ごめん。
よく見てみたら、>>460もちゃんと書いてたね。

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

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

確認したrailsのバージョンは2.3.4。

464:nobodyさん
09/11/28 01:21:36
>>463
全部小文字で書かないといけないというわけではなく、
ファイルでしたキーとコードから参照したキーが違ってるんじゃないかという
指摘だと思う。
ただのYAMLで定義したHashだし。


465:nobodyさん
09/11/28 17:18:18 gofPBBCV

10,000,000 todos
URLリンク(twitter.com)

466:nobodyさん
09/11/30 00:11:03
>>198
> 教祖がデビアンで開発してるから、

そのわりにパッケージが古いんだよな。
railsはgemで入れるとしてrubyがいつもチョット古いのが面倒だ。

467:nobodyさん
09/11/30 03:07:01
>>466
sidも古いの?


468:nobodyさん
09/11/30 15:32:02
<%=h foo.bar.name.blank? ? '-' : foo.bar.name %>
というのが頻繁にでてくるので、ヘルパーメソッドを定義したい。
def default_val(val, default='-')
 val.blank? ? default : val
end

・質問1: すでにこのようなメソッドはありますか?
・質問2: いいメソッド名があれば教えてください。

469:nobodyさん
09/11/30 16:49:47
1: ないと思う
2: value_or_default(foo.bar.name) とかどうだろ


470:nobodyさん
09/11/30 18:24:46
>>469
さんくす。
できればもうちっと短い名前がいいんだが。いいのがないものか。

471:nobodyさん
09/11/30 19:20:53
#blank? になるものが常に偽とみなせるなら foo.bar.name || '-' でいいんだけどねー。
"" とか [] は #blank? になるけど真だからなあ。




472:nobodyさん
09/11/30 20:45:02
blank?で判断する || 演算子が欲しくなるな。


473:nobodyさん
09/11/30 21:33:41
StringとNilClassにorってメソッドを・・・

474:nobodyさん
09/12/01 11:59:14
Rails初心者です。
fixturesは使わずに手軽にテストデータを入れようと、
勝手データテキストファイルと勝手スクリプトを書いて、
/db/migrateに両方起きつつ、NetBeans上からファイルを実行してみたのですが
ファイル読み込みの時点でNo such file or directoryとなってしまいます。
そこで質問ですが、
●このデータにアクセスさせるためにはどう書くべきですか?
●データ投入はfixturesを必ず使うべきですか?
よろしくお願いします。

475:nobodyさん
09/12/01 19:09:38
>474
知るか

476:nobodyさん
09/12/02 11:16:20
>>474
・Rails環境を利用した勝手スクリプトはscript/runner経由で使う

他なにかあったけ。

477:nobodyさん
09/12/02 11:18:43
>>474
あと必ずしもfixtureということもないと思う。

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

Rails アプリの初期データを設定する機能 - takihiroの日記
URLリンク(d.hatena.ne.jp)

478:nobodyさん
09/12/02 11:21:25
>>474
>>477似追記してコレも
Rails 2.3.4で追加されたseeds.rbについて - ひげろぐ
URLリンク(brass.to)

479:nobodyさん
09/12/02 11:38:12
Rails 2.3.5来てるな。
セキュリティfixあるからいれろ

Riding Rails: Ruby on Rails 2.3.5 Released
URLリンク(weblog.rubyonrails.org)

hなくてもエスケープするRailsXssプラグインが便利そうだ。生中出しするときはrawつける

480:nobodyさん
09/12/02 14:31:45
フォームを入力してSubmitボタン→「ありがとうございました」ページ
というのをつくったのですが、ありがとうございましたページでブラウザの戻るボタンを押し、
再度Submitボタンを押すと、同じデータが送信されてしまいます。
これは二重サブミットと呼ばれているそうですけど、これを防ぐにはどうするのがいいんでしょうか。
よさげなプラグインとかありましたら教えてください。

481:nobodyさん
09/12/02 18:39:32
RailsによるアジャイルWebアプリケーション開発第3版
買ったぞ。改訂版だから当然だけどパっと見で2版とほとんど内容変わらず…
2版で見慣れたスクリーンショットやコラムがそのまま載ってる。
これからじっくり読んでみよう

482:nobodyさん
09/12/03 00:03:06
>>480
rails トランザクショントークンでググれ


483:nobodyさん
09/12/03 05:28:57
>>480 >>482
これで簡単にいけそうだな

Railsでトランザクショントークン(ダブルサブミット、2重登録対策)を使う - diaの備忘録
URLリンク(d.hatena.ne.jp)

484:nobodyさん
09/12/03 09:20:01
ちょっと質問があります。

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で日付と数値を次々と入力していったものを
日付別のデータにして保存したい(例えばデイリーの累積グラフにしたり)という場合の話です。

485:484
09/12/03 09:23:29
想定がわかりづらくてすいません。

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
という累積したデータを保存しておくというのを想定しています。

486:nobodyさん
09/12/03 11:36:12
色々と酷くて答えようがない

487:nobodyさん
09/12/03 12:44:15
>>485
この場合、UTCで集計してるんだから、
日付もUTCにせざるを得ないんじゃないの。

488:nobodyさん
09/12/03 15:51:32
そもそもローカルタイムで格納するつもりはないの?
config.active_record.default_timezone


489:nobodyさん
09/12/04 00:25:22
ローカルはあとで困ると思うよ。utcを変換して使っておいたほうがいい。

490:nobodyさん
09/12/04 01:35:49
>>485
UTCで保存する必要がないなら、config/environment.rbにある
config.time_zone = 'UTC'
この行をコメントアウトするか、削除すればローカルタイムで保存される。

>>489
UTCで保存して得した事なんて一度もないんだが、
どういうケースで役に立つの?
また、どういう場合に困るの?


491:nobodyさん
09/12/04 08:40:19
>>490
国際的なアプリでユーザーの指定したタイムゾーンに合わせて
時間を表示するような場合は、ローカルタイム基準だと
話がややこしい。
どこからでも使われる可能性があるなら場所には依存しないほうが楽。

492:nobodyさん
09/12/04 11:43:43
>>490
自分(or特定の相手=日本人)しか使わないならそれでいい
不特定多数相手なら考えを改めた方が良い

493:nobodyさん
09/12/04 18:21:14
質問させてください。

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

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

作成しているアプリは規模も小さいので、
Controller一つでもできそうなんですが、
後から見たときに管理しやすい形にしたくて。

494:nobodyさん
09/12/04 19:05:57
設計次第だし、一般論で答えろといわれてもそりゃ無理だ。
質問が曖昧で答えようが無い。
modelと必要機能の一覧ぐらいは示してくれ。

495:nobodyさん
09/12/05 02:24:29
実際rorでショッピングサイトなんて組まないと思うよ。決裁の認証が通らないと思う。

496:nobodyさん
09/12/05 07:46:07
>>495
ほう。お?なに?誤爆?

497:nobodyさん
09/12/05 16:59:31
PHPの方がマシだな
Railsで重要な個人情報を扱うこと自体が怖い
簡易SNSとか個人で使うブログとかもっと軽いノリで作る時にしか使わない

498:nobodyさん
09/12/05 17:13:02
意味が良くわからん。
開発者のセキュリティを考慮する能力しだいであって言語関係ないだろ。

499:nobodyさん
09/12/05 17:15:36
>>497のレベルが低いことだけは理解しました

500:nobodyさん
09/12/05 17:23:34
釣りにしてもレベル低過ぎワロタ

501:nobodyさん
09/12/05 19:24:59
>>498-500
IPAという法人がいましてね

502:nobodyさん
09/12/05 20:30:01
>>501
IPAがどうした?
IPAはRuby/Railsに関する調査報告書を発表してる事は知っているし、
その内容はRailsを否定するものではない。

それからPHPについては、明らかに無関係だろう。
PHPなら問答無用でセキュリティに問題のないアプリケーションが出来上がるのか?
そんな訳があるまい。セキュリティは言語の問題ではなく、開発者側の問題だ。


503:nobodyさん
09/12/05 22:08:48
>>502
IPAがPHPディスってんのは有名な話だけど、そのことなのかな?

IPA ISEC セキュア・プログラミング講座:Webアプリケーション編 第1章 総論:より良いWebアプリケーション設計のヒント
URLリンク(www.ipa.go.jp)

504:nobodyさん
09/12/05 22:30:14
セキュリティが言語選択とは無関係って頭悪すぎだろ

505:nobodyさん
09/12/05 22:35:11
いや、PHPとRubyの2つで考えた場合、
どちらかを選べばセキュリティの問題が解決するってわけではない
という事でしょう。
利用する側がセキュリティに対する意識をしっかり持って開発しないと脆弱なシステムが出来上がる。


506:nobodyさん
09/12/05 23:26:46
PHPのフレームワークに比べて
Railsってセキュリティホール多い印象がある

507:nobodyさん
09/12/05 23:49:22
>>506
スレリンク(tech板:181番)

508:nobodyさん
09/12/05 23:55:51
印象だけで語られてもな・・・
ソースとかないの?


509:nobodyさん
09/12/06 00:32:13
馬鹿は伝染るから気を付けよう
相手をしてスレのレベルが下がっていく様を何度も見てきただろう?

510:nobodyさん
09/12/06 15:27:04
印象も何もChangeLog見れば分かるだろ

511:nobodyさん
09/12/06 17:50:02
お前がchangelogのどのあたりを言ってるのかわからない

512:nobodyさん
09/12/06 19:37:48 eFQH73Wn
Rails 3
URLリンク(railsnotes.com)
[Last Updated: Nov 24th, 2009]

513:nobodyさん
09/12/06 21:51:40
Rails2からだいぶ変わるのかなぁ
やっと2系に慣れてきたのにマジでだるいー

514:nobodyさん
09/12/06 22:07:39
どうせならGUI環境にも力入れてほしいわ
NetBeansでも良いけど

515:nobodyさん
09/12/06 22:44:15
IDEは別口だろう…


516:nobodyさん
09/12/07 00:02:15
>>476-478
かなり亀ですが、レスありがとうございました。
独自のモデルメソッド?を作ってコントローラから呼ぶみたいなことしてました。
seed.rbはまだ試してないので、今度機会がある時はそちらを利用してみます。
ありがとうございました。


517:nobodyさん
09/12/07 02:27:18
楽天がRoR使うって言ってたな

518:nobodyさん
09/12/07 03:43:32
いや、すでに使ってるよ。
Ruby会議2009ではスポンサーにもなってるし、Railsに関する発表も行った。
まぁROMA(楽天が開発したKVS)の宣伝も兼ねてたと思うけど。

519:nobodyさん
09/12/08 01:59:02
winでrailsで並列処理って出来ませんか?
backgroundrbはwin対応していないらしく・・・

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

力技でやるとしたら、
ファイルかDBに変換処理情報書き出して、WINのタスクで実行して、
出来たファイルのサイズ監視して進捗を返すぐらいしか思いつかない・・

520:nobodyさん
09/12/08 02:28:49
>>519
Threadでごりごりやればなんとかなるんでない

521:nobodyさん
09/12/08 22:41:01
>>519
win32-serviceを使って変換処理を常駐させておいて、
Railsアプリと変換処理をdRubyでつなぐ、とか適当に考えてみた。

522:nobodyさん
09/12/09 02:23:11 EO2jQSYV
URLリンク(www.chikawatanabe.com)

523:nobodyさん
09/12/09 08:57:42
>>519
ファイル進歩具合なら、それは単にAJAXで出来そうな気がするが・・・
開発用サーバーで一個しか立ててないなら、他の処理はできないかもしれないが

524:nobodyさん
09/12/09 08:59:29
てか、>>204にヒントがありそうだ。
・自前のDRbサーバをrunnerで動かす
・kovyrin's loops at master - GitHub
URLリンク(github.com)

525:nobodyさん
09/12/09 15:46:47
mod_proxy_balancerとmongrelを使っています。
mongrelが起動していないときは
Service Temporarily Unavailable
というページが出るんですが、これをカスタマイズするにはどうしたらいいでしょうか。
やりたいことは、「現在停止中です。再開見込みは何時何分です。」というメッセージを出すことです。

526:nobodyさん
09/12/09 16:56:42
>>525
mod_~~てことはapacheがフロントエンドだと思うんだけど、apacheの設定で503表示をカスタマイズすればいいんじゃまいか?

527:nobodyさん
09/12/09 17:11:13
質問させてください。

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

528:nobodyさん
09/12/09 17:12:25
>>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

529:nobodyさん
09/12/09 18:06:20
RailsをSubversionで共同開発する場合ってgenerateで作成したファイル一つ一つにsvn addするんですか?

530:nobodyさん
09/12/09 18:29:28
>529
$ script/generate xxx -c ... で作る。gitは -g
generateを引数無しで実行してみよう。

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



531:529
09/12/09 19:02:19
>>530
ありがとうございます!
まさに望んでた機能でした。Railsに抜かりなしですね

532:nobodyさん
09/12/10 08:22:58
ActiveMailerでのメール送信がうまくいきません。
ログには
Sent mail to xxx@gmail.com
とあるので、ActiveMailerがメールを送信しようとしていることはわかりました。
ただActiveMailerが内部でどのようなコマンドを使ってメールを送信しているのかが
わからず、困っています。

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



533:nobodyさん
09/12/10 09:22:43
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'
}
以上リファレンスより。


534:nobodyさん
09/12/10 11:27:09
初学者に対してIDEはどれがおすすめですか?
エディタ+コンソールで十分だとは思いますが、もしおすすめがあれば教えてください。

535:534
09/12/10 11:30:11
連投すみません。
もしくは、開発に何を使われていますか?
良いところも含めて教えてもらえるとありがたいです。

536:nobodyさん
09/12/10 11:39:33
初学者は何使っても同じ。ツールの使い方で悩む。
自分が持ってる本に載ってるやつにしとけ。

537:nobodyさん
09/12/10 12:17:29
IDE慣れしてるならNetBeans使った方がいいと思うなあ
デバッグ楽ちんだし

538:nobodyさん
09/12/10 13:57:45
>>533
ありがとうございます。
ActiveMailerが内部でどういうコマンドをどういうオプションつきで起動しているか、調べる方法はありますか。
現在以下のような設定を行なっているのですが、うまくいきません。
ActionMailer::Base.delivery_method = :sendmail
ActionMailer::Base.sendmail_settings = {
:location => '/usr/sbin/sendmail',
:arguments => '-i -t',
}

現象としては、フォーム入力を受け取ってデータを作成し、そのときにObserverを使ってメール送信するようしています。
しかし実際にフォームを送信すると、HTTPレスポンスが返ってこずタイムアウトします。
どこでエラーになっているのかがまるでわからず、ActiveMailerのソースを読んでいるんですけど。。。わかりません。

539:nobodyさん
09/12/10 14:00:10
sendmail のログを見たらいいんじゃね?

540:nobodyさん
09/12/10 14:02:07
そもそも delivery_method = :test ではうまくいってるのかな。
どうなったか書かれていないからそこからきかにゃならん。


541:nobodyさん
09/12/10 16:16:30
>>534-536
NetBeans使ってるよ。

Eclipse + aptanaもあるが、あれは重くてかなわんなw

542:nobodyさん
09/12/10 16:23:27
debian + emacs + rinari + yasnippet

543:534
09/12/10 17:25:42
>>542
emacsで開発とか憧れです。

Aptana重いですよね。やっぱりnetbeansですかね。イマイチ使いこなせてない…。

544:nobodyさん
09/12/10 20:46:43
ブラウザの戻るボタンを使わせないために、ブラウザにキャッシュをさせないようにしたいのですが、うまくいかないので相談にのってください。

あるページをブラウザにキャッシュさせたくなくて、以下のようにしました。
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 です。

よろしくお願いします。

545:527
09/12/10 20:58:13
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が走るなど、
富豪的なのですが、もっとよい書き方はないのでしょうか?

546:527
09/12/10 20:59:16
>>545
is_selected_by_userじゃなかった。has_unko_by_userメソッドでしたミス失礼・・・

547:nobodyさん
09/12/10 22:55:20
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 がついてくるぞ。文字列としてだけど。



548:nobodyさん
09/12/10 23:03:15
unkos = Unko.all(:include => :users) ??


549:nobodyさん
09/12/12 00:19:41
>>544
キャッシュさえしなければ「戻る」を使えないように
できると思ってるの?

550:nobodyさん
09/12/12 01:19:06
というかアプリケーションからブラウザのそんなコアな機能を制御出来るの?

551:nobodyさん
09/12/12 03:46:46
キャッシュしないなら、もう一度取りにくるだけだしな。
プロパや組織のネット管理者に、間に勝手に通過型プロクシ埋め込まれてキャッシュされる事も有るし、無視するブラウザも居るし。
フラッシュかアプレットかジャバアプリかドトネトアプリで、ブラウザに頼らずに自前で制御するしか無いよ。

スレリンク(tech板)
うーたんブラウザを作るスレ00001
スレリンク(tech板)
Geckoベースのブラウザを作ろう。

552:nobodyさん
09/12/12 08:15:13
全部のページに
戻るボタンからアクセスされたら
元のページにForwardするjavascriptを埋めておく

553:nobodyさん
09/12/12 10:37:46
urlに?yymmddhhmmssとか現在時刻のライムスタンプつけたらキャッシュされないんじゃないかな?
自分は、よく更新されるファイルをこれで最新版返すようにしたよ。

554:nobodyさん
09/12/12 11:08:16
ちゃんとよく読んでレスしろよ

なんで戻らせたくないのかは書いてないが、
戻るボタンを押すとなんたらかんたらってメッセージが出るからじゃないのか?

555:527
09/12/12 12:40:11
>>547-548
ああ!そういうときにjoinsとかinclude使うのか。
SQLとかの知識少ないせいか最初、意味分からんかったw

サンクサンクス 試してみます

556:nobodyさん
09/12/12 12:42:12
銀行の利用者用ページだと戻るおしたら戻った先で、表示できないことあるけどそういうことか?

557:nobodyさん
09/12/12 18:09:44
amazonとか注意してないと同じもの二つ注文してたりするよな

558:nobodyさん
09/12/13 19:52:52
そういうのはゴニョゴニュして検出するべきだけどね。
商用フレームワークとかだと当たり前に機能有ったりする。rorなら自前で用意するしかない。
金融系はちゃんと検出して、戻るボタンが押されましたとか表示するね。

559:nobodyさん
09/12/13 23:56:52
そういう細かいケアをするのって日本くらいでは。
ユーザを無能のクレーマーと想定して作るのが生産性下げてると思う。

560:nobodyさん
09/12/14 00:11:20
どうせいくら防御しても、ユーザーはとんでもないことやらかしてくれるからなー。
ダグラス・アダムスの警句は真だ。




561:nobodyさん
09/12/14 01:29:59
金がらみのシステムとブログシステムとかは考え方を変えないと

562:nobodyさん
09/12/14 02:24:38
>>559
なわけない。
URLリンク(www.google.co.jp)

日本人が気にするようなレベルはその先の話。
つまり「◯◯で大丈夫ですよ」と言われたら米国人は安心するが、
日本人はその処理の信頼性を調査する。

563:nobodyさん
09/12/14 14:08:42 o/Pytjxa
>>558
>金融系はちゃんと検出して、戻るボタンが押されましたとか表示するね。

戻るボタン自体は受け付けてくれないと
本当に戻りたいときに困るよなぁ

564:nobodyさん
09/12/14 14:28:04
もともとのページ遷移モデルが間違ってるんだよな
ajax でページ移動が一切起こらない設計にするべき

565:nobodyさん
09/12/14 18:20:43
このスレで言うのもなんだが、WebアプリはSilverLightとかFlashとか、
バイナリにしてしまった方がいいと思うんだ。

566:nobodyさん
09/12/14 18:40:53
>>565
バックエンドはRailsにすればこのスレの範疇w
全部Flashでもいいと思うが一般のwebサービスだとpermalinkとかないとちょっと困るな

567:nobodyさん
09/12/14 18:47:01
質問があります。

認証プラグインAuthlogicを勉強してみた - MothProgのうしろがわ
URLリンク(d.hatena.ne.jp)

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のサーバーの場合、モデルのクラス変数が初期化されないのだと思うのですが、
この場合の対処法はありませんでしょうか?

568:534
09/12/14 18:49:03
>>566
今はPermalink大丈夫。

569:567
09/12/14 18:49:37
すいません下のコード間違えました…

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

570:534
09/12/15 12:11:56
「Railsによるアジャイル~」の内容が本当にアジャイル過ぎて内容が理解しにくい…。

571:nobodyさん
09/12/15 17:23:18
Railsで、クッキーが有効かどうかを調べる方法ってありますか。

572:nobodyさん
09/12/15 23:01:42
それは Rails じゃなくて javascript の話です。

573:nobodyさん
09/12/15 23:48:27
HTTPだけでやるには、最初にリクエストが来たときにクッキーを食わせて、
仮ページにリダイレクト、クライアントが改めてリクエストしてくるときに、
リクエストにそのクッキーが入っているかを見る。
で、必要なら仮ページから元のページにリダイレクトし直す。

とかだろうか?




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