【Ruby】Ruby on Rails Part6
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
2008/10/24(金) 17:46:53ID:???http://pc11.2ch.net/test/read.cgi/php/1207425569/
■参考サイト
<英語>
本家: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 33
http://pc11.2ch.net/test/read.cgi/tech/1223709050/
Ruby 初心者スレッド Part 22
http://pc11.2ch.net/test/read.cgi/tech/1221467121/
0002nobodyさん
2008/10/24(金) 17:48:05ID:7gSUOf45【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/
↓
イマココ
0003nobodyさん
2008/10/24(金) 23:27:04ID:???月単価7万が平均らしいけどさ
0004nobodyさん
2008/10/24(金) 23:33:55ID:???0005nobodyさん
2008/10/25(土) 02:39:11ID:9ih01Xfaどうにかならんの?
0006nobodyさん
2008/10/25(土) 07:52:53ID:Z4jD/NUt工数で請求するんだから。
0007nobodyさん
2008/10/25(土) 10:18:03ID:???calendar_helperプラグインで作ったカレンダーにドラッグ&ドロップでタスクを入れたりしたいんですが、可能ですか?
Ajax効果をカレンダーに組み込むことが出来るのか、いまいちわからないんですが…
0008nobodyさん
2008/10/25(土) 10:40:38ID:???0009nobodyさん
2008/10/25(土) 10:50:40ID:???回答ありがとうございます
IDを振るというのは、現在表示されている月のカレンダーだけでないところ(翌月、前月など)でも出来るでしょうか?
そもそも振り方も良くわかってないのですが…
0010nobodyさん
2008/10/25(土) 11:31:10ID:???HTMLを出力コードを書き換える方が楽だと思う。
0011nobodyさん
2008/10/26(日) 01:11:05ID:???http://detail.chiebukuro.yahoo.co.jp/qa/question_detail.php?qid=1220150877
506 :目のつけ所が名無しさん:2008/10/26(日) 00:47:20
大手ECサイトで、ここまで派手なリリース失敗は初めて見た。
エンジニア向けIT情報誌や関連サイトは、ぜひ取材して原因を明かして欲し
いは。
0012nobodyさん
2008/10/26(日) 01:51:30ID:???0013nobodyさん
2008/10/29(水) 13:57:48ID:???検索してもあまり評判で出てこないのですが
0014nobodyさん
2008/10/30(木) 00:39:29ID:???0016nobodyさん
2008/11/01(土) 02:53:43ID:???cronでRailsを叩きたいのですがcrontabの設定で足止めくらっています
RailsRootは /home/username/railsapp
Userモデルのcleanメソッドを叩きたいのです
↓のように色々試してみたのですがうまくいきません
1 * * * * root /usr/bin/ruby /home/username/railsapp/script/runner 'User.clean'
1 * * * * /usr/bin/ruby /home/username/railsapp/script/runner 'User.clean'
cron自体は問題なく動いており、Rails向けの書き方がおかしいのだと思います
よろしくお願いします
0017nobodyさん
2008/11/01(土) 07:13:41ID:???0018nobodyさん
2008/11/01(土) 09:15:57ID:???railsも/usr/localに入ってるとかな。
0019nobodyさん
2008/11/01(土) 12:33:11ID:???cron云々ではなくscript/runnerで'User.clean'が叩けていないようで
cleanメソッドは存在するのにundefined methodエラーが返ってきます
script/runnerムズカシイ・・・
0020nobodyさん
2008/11/01(土) 13:35:02ID:???0021nobodyさん
2008/11/01(土) 13:41:28ID:???002219
2008/11/02(日) 03:33:36ID:???class User < ActiveRecord::Base
def self.clean
end
end
これがインスタントメソッドなのでしょうか
script/runnerやscript/consoleから呼び出す場合はselfを付けるとうまくいっています
ただ、一部self無しでも動く場合もあるんですよね
勉強して出直してきます!ありがとうございました
0023nobodyさん
2008/11/02(日) 13:04:46ID:???>>21は、インスタンスメソッドとして定義してる*から動かない*んじゃね?と言っている。で、それが当たったわけだな。
0024nobodyさん
2008/11/02(日) 14:14:30ID:???そうですね、21さんの言葉をきっかけになんとなくselfを付けてみました
Railsはクラスやメソッドを意識しなくてもそれなりに動くものが作れる反面、
自分はRubyについて何もわかってないんだなーと再認識させられました
0025nobodyさん
2008/11/02(日) 21:25:49ID:???=> Booting WEBrick...
=> Rails 2.1.2 application started on http://0.0.0.0:3000
=> Ctrl-C to shutdown server; call with --help for options
[2008-11-02 20:35:38] INFO WEBrick 1.3.1
[2008-11-02 20:35:38] INFO ruby 1.8.5 (2006-08-25) [i486-linux]
[2008-11-02 20:35:38] INFO WEBrick::HTTPServer#start: pid=17580 port=3000
となってるのにローカルマシンのhttp://localhost:3000で見れないのって何ででしょうか?
一応動いていたapache2はとめました。
OSはdebian4.0です。
# gem list
/usr/bin/gem:14:Warning: Gem::manage_gems is deprecated and will be removed on or after March 2009.
*** LOCAL GEMS ***
actionmailer (2.1.2)
actionpack (2.1.2)
activerecord (2.1.2)
activeresource (2.1.2)
activesupport (2.1.2)
rails (2.1.2)
rake (0.8.3)
#
一行目の警告がでたので
gem install -v=2.1.2 rails
しました。
どなたかご教示いただければ助かります。
よろしくお願いいたします。
0027nobodyさん
2008/11/06(木) 02:38:58ID:uZzb8DwwActiveRecordのhas_many使って
1対多のテーブル関係を持つ(親-子)
form_forを使用してデータをhtml表示させたいんですが
<%= f.text_field :name %>
みたいな感じで、親は表示できるのですが
子を表示させる方法で躓いています。
<%= f.text_field :子のカラム名 %>
のような方法で出力できるかと思ったのですが
うまくいきません。
どなたか、お願いします。
002927
2008/11/07(金) 00:12:42ID:F8NNnS0mおおおお!ありがとう!!
you will go to heaven!!
0030nobodyさん
2008/11/09(日) 10:33:14ID:???idカラム生成の時にシーケンステーブルも自動生成しましたといった
NOTICEメッセージがダラダラ出てうざいです。
NOTICE消す方法ってありますか?
0031nobodyさん
2008/11/10(月) 05:39:35ID:???0034nobodyさん
2008/11/12(水) 19:14:27ID:???つか、みんなどんなエディタ使ってる?
#定期的に出る話題だとおもうけど、すまんのう。
0035nobodyさん
2008/11/12(水) 20:21:19ID:???vi使ってる人もたくさんいると思うけどvi使うのが不便なのかい?
0036nobodyさん
2008/11/12(水) 21:41:34ID:???0037nobodyさん
2008/11/12(水) 21:42:52ID:???マカーなので一番多いのはTextMateだがな。
最近NetBeansもお試し中。
0038nobodyさん
2008/11/13(木) 00:23:40ID:???色づけとソース整形ができれば十分。
0039nobodyさん
2008/11/13(木) 00:50:35ID:???ttp://wota.jp/ac/?date=20060105
ttp://d.hatena.ne.jp/MillyC/20080924/1222255886
この辺にscoped_methodsの話があるけど、
ちょっとコードが複雑で追い切れてない。
with_scopeみたいにブロックの範囲内じゃなく、
任意のタイミングでscopeの開始、終了したいときは、
こんな感じでinstance_evalでscopet_methodsに
scopeをpush,popするだけでいいのかな。
def my_scope
{
:find => {:conditions => ["name <> ?", "name1"] }
}
end
Page.instance_eval do
self.scoped_methods << my_scope
end
pages = Page.find(:all)
Page.instance_eval do
self.scoped_methods.pop
end
0040nobodyさん
2008/11/13(木) 01:38:23ID:vZzK0dowpassengerを入れて、apache2を自動起動にして、
OSをリブートすると、apache2の自動起動に失敗するようです。
ログイン後、
$ sudo apachectrl start
だと、ちゃんと起動するのですが。
httpd.confから、passenger絡みの記述を削除すれば、正常に自動起動します。
何が悪いのでしょう。。。
0041nobodyさん
2008/11/13(木) 10:22:29ID:???Hope this helps.
code.google.com/p/phusion-passenger/issues/detail?id=131
>The following code change resolves the problem on my machine:
>1. Edit ext/apache2/Hooks.cpp
>2. Go to the function 'init_module'.
>3. Change 'delete hooks;' to '// delete hooks;'
>4. Reinstall Passenger.
0042nobodyさん
2008/11/13(木) 11:53:31ID:???それとも、viアプリケーションみたいなのがあるの?
Emacsだと、Terminalでも使えるけど、最近はウィンドウアプリケーションとして使ってる人が多いよね。CarbonEmacsとか。
同じように、viでもウィンドウアプリケーションがあるのかな。
0043nobodyさん
2008/11/13(木) 12:09:13ID:???0044nobodyさん
2008/11/13(木) 13:18:40ID:???たとえば「会社」に「倉庫」が必ず1つあって、
そこで「商品」を扱う場合、
class company < ActiveRecord::Base
has_one :storage
end
class storage < ActiveRecord::Base
belongs_to :company
has_many :goods
end
class goods < ActiveRecord::Base
belongs_to :storage
end
ってなると思うんだけど。
倉庫自体はとくに固有のデータは持たなくて、
ActiveRecordの操作系メソッドが欲しいだけなんけど、
storagesテーブルは作成しなくちゃならないのかな。
モデル上、会社が直接商品を操作するんじゃなくて
手続きの集合としての倉庫クラスを置きたいんだけどさ。
0046nobodyさん
2008/11/13(木) 21:33:30ID:???会社オブジェクトにその手続きを持たせても構わないんじゃないの?
「現実にあるモノとそれらの関係」をそのままモデル化する必要はない。
0047nobodyさん
2008/11/13(木) 21:34:48ID:???end
class Company < AR::Base
include StorageOperations
end
とか。
0049nobodyさん
2008/11/14(金) 03:14:57ID:???vimとscreenとbashでやってる。
macだからTerminal.app上で。
rails.vimはいれてるけど、使かわなくなってる。てか使いこなせてない。
まわりに使ってる人もいないし、
emacsやほかのエディタと比較してどうかはわからない。
0050nobodyさん
2008/11/14(金) 03:29:40ID:???思ったよりメモリ食うイメージがあって手を出してないんですが
0051nobodyさん
2008/11/14(金) 10:27:06ID:???趣味で試すには面白そう。
でも仕事はRailsかな。
チームのみんながある程度習熟してないと困るし。
0052nobodyさん
2008/11/14(金) 17:04:20ID:???0053nobodyさん
2008/11/14(金) 20:01:15ID:???メモリーの使用量は変らない。
1プロセス、35MB以上くう。
railsはメモリーくいすぎ。
0055nobodyさん
2008/11/14(金) 23:44:05ID:???rubyが悪いのか、ActiveRecordがわるいのか、ActionPackか?
PHPでなんかしらのフレームワーク使った場合と比べてどうなんすかね
0056nobodyさん
2008/11/16(日) 03:32:41ID:???create_table :hosts do |t|
t.binary :macaddr, :limit => 6
t.string :hostname
end
のようなテーブルを作って、MACアドレスをバイナリで保存する処理を考えているのですが、
Host.find_by_macaddr(mac_bin)
のようにMACアドレスで検索しようとしたらログに
ActiveRecord::StatementInvalid: SQLite3::SQLException: unrecognized token: "'": SELECT * FROM "hosts" WHERE ("hosts"."macaddr" = '') LIMIT 1
と出力され、うまくいきません。
Host.find_by_macaddr(ActiveRecord::ConnectionAdapters::SQLiteColumn.string_to_binary(mac_bin))
のようにすることで一応動くのですが。
0057nobodyさん
2008/11/17(月) 00:52:51ID:???RailsでURLをクリックした時に、そのURLをcontorollerに渡す方法はありますか?
URLは、link_to title,urlで生成されているものです。
0058nobodyさん
2008/11/17(月) 03:21:33ID:???コントローラではrequest.url、request.request_uriあたりじゃね?
何が返るのかは定義を見ること。
# 実は referr?er だったり……
0059nobodyさん
2008/11/18(火) 01:48:36ID:???「URLをパラメータにする Rails」あたりでぐぐる
006057
2008/11/21(金) 03:55:17ID:???そんなやり方があったのですね、どうもありがとうございます。
重ねてまた聞きたいのですが、外部のサイトに飛びつつactionも呼ぶことって出来ますか?
具体的に言うと、yahooの検索apiから結果を取得してresultsに入れたものを
view上で
<% @results.each do |result| %>
<li><%= link_to result.Title, result.ClickUrl %></li>
<% end %>
のように書き、このリンクをクリックした時にactionを呼び出して、そこでrequest.urlを使って色々とやりたいのですが。。
0062nobodyさん
2008/11/21(金) 21:49:12ID:???コントローラの中で @results が得られて、それをビューで一覧。
ビューに示されたリンクを辿ると最終的に該当URLに飛ぶ、ということか。
コントローラに
def goto
redirect_to params[:url] # 値に対してなんらかの検証をしたほうがいいかも。
end
みたいなリダイレクト専用アクションを用意して
<%= link_to h(result.Title), :action => 'goto', :url => result.ClickUrl %>
JavaScriptが使えるならクライアントサイドのみで
<%= link_to_function h(result.Title), %Q|location.href="#{result.ClickUrl}"| %>
とかも可能かも。
0063nobodyさん
2008/11/22(土) 04:30:32ID:???なら >>61-62 みたいに、リダイレクトが一番素直でしょ。
でもこれだと訪問済リンク問題がでるから、これを避けたい場合 >>62 みたいにJavaScriptを使うことになる。
Googleの検索結果ページは後者だよね。
0064nobodyさん
2008/11/22(土) 06:12:17ID:???<%= link_to_remote h(result.Title), :url => { :action => 'goto', :url => result.ClickUrl } %>
か?
0065nobodyさん
2008/11/22(土) 21:19:46ID:???migrationしてデータベースと Hoge modelだけ作って、
./script/console からデータベースをいじってる。
hoge = Hoge.new() してhoge.name = hage などしてデータを入れて、
hoge.save をした。
その後 hoge2 = Hoge.find(:all, :conditions=>"name = hage") をして
データを呼び出したんだが、これが array クラスになってしまって、
hoge2.name で hage を呼び出せない。
要は Hoge.find で呼び出したデータを簡単に Hoge クラスとして扱いたい。
どうしたらいいのか教えてほしい。
0066nobodyさん
2008/11/22(土) 21:48:48ID:???name = "hage" がユニークなら、Hoge.find(:first, :conditions => ["name => ?", "hage"]) や
Hoge.find_by_name("hage") とすればいい。
あるいは、仕様上 name = "hage" のオブジェクトが複数存在するなら、
hoges = Hoge.find(:all, :conditions=>"name = hage")
hoges.each{|hoge| do_something} と複数のオブジェクトに対して順に処理すればいい。
0067nobodyさん
2008/11/22(土) 22:02:19ID:???0068nobodyさん
2008/11/23(日) 01:08:31ID:???0069nobodyさん
2008/11/23(日) 04:16:51ID:???http://www.tutorialspoint.com/ruby-on-rails-2.1/index.htm
を参考に初めてrailsやってるんですが、
http://www.tutorialspoint.com/ruby-on-rails-2.1/rails-views.htm
まできて、 /book/list にアクセスした際に、「テンプレートが無い」ではなく、「uninitialized constant BookController::Book」となりました。
見た感じ、BookControllerというクラスにBookなんて変数無い、と見えたので、BookControllerのlistメソッドを下記のように変更したら、次に勧めました
def list
+ @books = Books.find(:all)
- @books = Book.find(:all)
end
これはチュートリアルの間違いですか?それとも2.1と2.2.2の違いですか?
0070nobodyさん
2008/11/23(日) 06:20:47ID:???0071nobodyさん
2008/11/23(日) 06:22:06ID:???ruby script/generate Book とすべきところを
ruby script/generate Books としてしまったのではないかと思うのだが。
0072nobodyさん
2008/11/23(日) 06:23:02ID:???0073nobodyさん
2008/11/23(日) 13:43:37ID:???app/modelsにbooks.rbがあるのと、コマンド履歴に>71がありました。
どう見てもtypoです。本当にありがとうございました。
0074nobodyさん
2008/11/24(月) 02:00:37ID:???0075nobodyさん
2008/11/24(月) 03:10:41ID:???0076nobodyさん
2008/11/24(月) 13:43:36ID:???入門向けコーナーができたらしい
0078nobodyさん
2008/11/25(火) 17:37:28ID:???model? controller? それともどっか別の場所?
0079nobodyさん
2008/11/25(火) 18:49:48ID:???ActiveRecord::Errorsオブジェクト。
validate対象オブジェクトのerrorsメソッドで取り出せる。
validateを自分で定義したりvalidates_eachの場合は
errors.addで自分でエラーを突っ込む必要がある。
http://api.rubyonrails.org/classes/ActiveRecord/Validations.html
http://api.rubyonrails.org/classes/ActiveRecord/Errors.html
0081nobodyさん
2008/11/26(水) 16:26:48ID:???0082nobodyさん
2008/11/26(水) 22:20:54ID:???0083nobodyさん
2008/11/27(木) 14:54:31ID:???0086nobodyさん
2008/11/28(金) 04:24:33ID:???rubiniusは縮小らしいですからね…
ところでRails画像アップロードプラグインって今もFile_columnが最強ですかね?
0087nobodyさん
2008/11/28(金) 15:14:55ID:???0088nobodyさん
2008/11/28(金) 16:09:21ID:???>アンテナ低すぎ。
Railsはメディアが取り上げたりしてるから、盛り上がってるのはわかる。
でもMerbは個人のブログでその名をちょくちょく見かける程度で、どうみても盛り上がってるようにはみえない。
だから、どこでMerbが盛り上がってるのか聞いたんだけど?アンテナ高い>>85が教えてくれ。
0089nobodyさん
2008/11/28(金) 16:14:38ID:???Merbにするメリットってあんまりないきがする。
0090nobodyさん
2008/11/28(金) 18:14:03ID:???end
だけれど、これってどのモデルのtransactionメソッド呼ぼうが
違いは無いという認識でよい?
テーブル毎にトランザクションの単位がかわるわけではないし。
0091nobodyさん
2008/11/29(土) 12:20:47ID:???0093nobodyさん
2008/11/29(土) 20:11:35ID:???booksテーブルを作成し、カラムを追加する手順です。
■booksテーブルを作成
./script/generate model Book
■booksテーブルにカラム作成するためにファイル編集
vi db/migrate/20081129110040_create_books.rb
class CreateBooks < ActiveRecord::Migration
def self.up
create_table :books do |t|
t.string :title
end
end
以下略
■DB作成
rake db:create
■migrate
rake db:migrate
booksテーブルが出来る。カラムはidとtitleのみ
0094nobodyさん
2008/11/29(土) 20:12:29ID:???■booksテーブルにnameカラムを追加するためにファイル編集
./script/generate migration books_add_name
vi db/migrate/20081129110451_books_add_name.rb
class BooksAddName < ActiveRecord::Migration
def self.up
add_column(:books, :name, :text, :default=>'')
end
def self.down
ramove_column(:books, :name)
end
end
■migrate
rake db:migrate
ここまででbooksテーブルを作成し、カラム追加ができるのですが、以下が疑問です。
・booksテーブル作成時、 ./script/generate model Book のように「Book」と単数形で実行したのに、何故出来上がるのは「books」という複数形なのか
・そもそもスキーマを変更する手順はこれで合っているか
以上をよろしくお願いします・・
0095nobodyさん
2008/11/29(土) 20:17:49ID:???ファイル編集せずに
$ ./script/generate model Book title:string name:text
とかやった方がいいよ。
なんでnameがtextなのか知らんけど。
本番になるまではテーブルなんて壊し放題なんだから
add_columnとかするよりも元のファイル書き換えて
$ rake db:migrate VERSION=0
$ rake db:migrate
で作り直しちゃった方が良い。
0096nobodyさん
2008/11/29(土) 20:51:55ID:???> CoC。テーブル名は複数形
「設定より規約」で、「テーブル名は複数形、そのテーブルを扱うモデルは単数形」というルールがあるから、
自動的に複数形になるってことですか?
> ファイル編集せずに
ファイル編集した理由が、
http://www.tutorialspoint.com/ruby-on-rails-2.1/rails-active-records.htm
に従ったからなんですが、開発時のスキーマ定義は普通generateの引数に取るものなのですか?
開発時の常識とか、普通はこうする、とかを全然知らないので分からないので、変なところがあれば指摘してもらえると助かります。
参考に、redmineと9arrowsのソースを見たのですが、redmineはスキーマ変更用のマイグレーションファイルがたくさんあって、
9arrowsはスキーマ作成用のしかなかったので、95氏のいうような手法のようです。
> 本番になるまではテーブルなんて壊し放題なんだから
確かに開発時はその方法の方がスマートですね。
本番になった後にスキーマ変更したい場合なのですが、>94の方法は変なことをやっていますか?
0097nobodyさん
2008/11/29(土) 21:41:46ID:???本番になった後はもちろんそうする。
ただスキーマ定義はgenerateの引数の方が手っ取り早いかな。
generateしたあとでファイル開いて編集するの面倒だし。
あと、generateコマンド使うと勝手に複数形になってしまうので
そういうもんだと思った方がいい。
generateコマンド使わないなら、テーブル名を単数形にすることもできる。
class Book < ActiveRecord::Base
set_table_name 'book'
end
0099nobodyさん
2008/11/29(土) 23:40:23ID:???そのために下記のページを参考にしているのですが、暗号の作り方
の部分がいまいちよく分かりません。
ttp://d.hatena.ne.jp/nyaago69/20080904/1220519371
特にdef self.new_salt の中身が分かりません。
rand.to_s.tr('+', '.') と書いてありますが、randを使ってる限り
その中に+が入り込むことはないと思いますし、
s[0, if s.size > 32 then 32 else s.size end]
は何をやっているのか分かりません。
解説をお願いします。
0100nobodyさん
2008/11/30(日) 00:19:54ID:???「s[0, if s.size > 32 then 32 else s.size end]」は
RubyのStringには「self[nth, len]」という書式があって、
文字列のnthバイト目から長さlenバイト目までの部分文字列を新しく作って返す
よって質問文の意味は、sの最初から32バイト以上ならsの32バイト分、それ以下ならsを返すという意味になる
ていうかこんな書き方できるんですね、勉強になりマスタ
0102nobodyさん
2008/11/30(日) 00:58:12ID:???新顔でPaperclipというのが出た。
http://www.thoughtbot.com/projects/paperclip/
attachment_fuから乗り換えた人の記事。
http://thewebfellas.com/blog/2008/11/2/goodbye-attachment_fu-hello-paperclip
0103nobodyさん
2008/11/30(日) 01:53:51ID:???カラム定義の次に Config.create() したら「createなんてメソッド無いよ」と言われ、
どー見ても合ってるのにと思ってしばらく悩んだ結果、
Config がrailsの予約語だったからのようなのですが(confにしたらテーブル作成に加えcreateもできたので)、
予約語に使われている語はテーブルにすら使ってはいけませんか?
0104nobodyさん
2008/11/30(日) 01:59:30ID:???0105dai
2008/11/30(日) 08:55:02ID:mlKxK2ns2つのmodelを定義して、片方にだけ{カラム名}_columnを指定しようとした
のですが、同じカラム名を使っていると両方のmodelに適用されてしまうの
は仕様でしょうか。
例えば、
ruby script/generate model aaa title:string name:string
ruby script/generate model bbb title:string name:string
のようにmodelを生成し、各controllerにactivescaffoldの設定を行った後
にaaa_helper.rbにのみtitle_columnを設定。
------------
class AaaController < ApplicationController
active_scaffold :aaa do |config|
:
------------
module AaaHelper
def title_column(record)
link_to(h(record.title), :action=>:●●●)
end
end
------------
こうすると、title_columnを設定していないbbbのtitleにもlink_toが適用
されてしまいます。
(ruby1.8.6、rails2.0.2、activescaffold1.1.1)
0106nobodyさん
2008/11/30(日) 11:11:34ID:???日付を保存するのにDateクラスを使ってます。
このDateクラスのデータを上手く使ってweeks.agoなどの
演算をしたいのですが、どのようにすればいいのか分かりません。
よろしくお願いします。
0107nobodyさん
2008/11/30(日) 13:07:05ID:???じゃだめってこと?
0109nobodyさん
2008/11/30(日) 14:56:43ID:???Magazine_titleというモデルとMagazineというモデルを作りました。
それぞれ以下のような関係性を持たせています。
class MagazineTitle < ActiveRecord::Base
has_many :magazines
end
class Magazine < ActiveRecord::Base
belongs_to :magazine_title
end
ここで、MagazineTitleのパラメータ次第で、Magazineの
パラメータを設定したいと考えています。具体的には、
magazine_title.cycle == "weekly" であった場合、
magazie.sale_close_date = magazine.sale_date + 1.weeks
としたいのです。
これを出来ればmodelでやりたいのですが、
そのような方法はあるでしょうか?
それともcontorollerでやる方が適切でしょうか?
どうかご助言をお願いします。
0110nobodyさん
2008/11/30(日) 15:06:05ID:???メソッドを定義してしまえばいいんじゃない?
class Magazine
def magazine_title=(mt)
write_attribute(:matazine_title, mt)
write_attribute(:sale_close_date, sale_date + 1.week)
end
end
0111nobodyさん
2008/11/30(日) 15:07:23ID:???0112nobodyさん
2008/12/03(水) 11:06:41ID:???詳しく丁寧に教えてください。
0113nobodyさん
2008/12/03(水) 11:15:31ID:???0115nobodyさん
2008/12/04(木) 13:49:56ID:ORX+Oq69これをコンソールじゃなくてファイルに出力するにはどうしたらよいのでしょうか?
0117115
2008/12/04(木) 20:40:28ID:ORX+Oq69$ script/server > /tmp/test.log 2>&1
としても/tmp/test.logに出力されなかったです
0118nobodyさん
2008/12/04(木) 22:28:19ID:???こちらの環境ではファイルに出力されますねぇ。
(バッファされるので時間差があるけど。)
というかlog/development.logではだめなんですか。
0119115
2008/12/05(金) 12:07:03ID:KklI24b5/tmp/test.logは作成されますが、中身が空のままになります
時間差ってどれ位ですか?
log/development.logだと、何時にどこからどんなmethodで
どんなリクエストがあってどんなステータスコードを返したかとかが
わからないので、WEBrickが吐き出すログが欲しいんです
0120nobodyさん
2008/12/05(金) 18:54:48ID:???svr = WEBrick::HTTPServer.new(:AccessLog=>設定内容}
詳しくはリファレンスマニュアルとソース読め
railsでどのファイルをいじればいいかは知らん
0121nobodyさん
2008/12/06(土) 00:13:43ID:???WEBrickほとんど動かしてないからあれだけど。
mongrelのlog/development.logならお望みのものは分かるような。
0122nobodyさん
2008/12/06(土) 00:23:19ID:???/ruby/lib/ruby/gems/1.8/gems/rails-2.2.2/lib/commands\servers\webrick.rb
(paramsらへん)
/ruby/lib/ruby/gems/1.8/gems/rails-2.2.2/lib/webrick_server.rb
結局はlog4rとか使うのがよいのかも
使ったことないけど
0123nobodyさん
2008/12/07(日) 02:47:53ID:???環境は?
OS(じつはwindows?)とかシェル(じつはcsh?)とか分かれば
アドバイスもらえるんじゃね?
うちでは普通にリダイレクトできるけど。
Mac OS X/bash/Rails 2.1.2。
0124nobodyさん
2008/12/07(日) 07:09:39ID:???0125115
2008/12/08(月) 16:06:58ID:pc3akaHEOS:CentOS 5.2
シェル:bash
この様な環境です
アプリ変えるとかソースいじるとかも解決方法になるのですが、
今出力されているものをファイルに向けるだけだと簡単に解決できるので
リダイレクトで処理したいのですが、なぜかリダイレクトできません…
なぜできないんだろう…
0126nobodyさん
2008/12/09(火) 17:03:00ID:???0127nobodyさん
2008/12/09(火) 17:04:02ID:???0128115
2008/12/09(火) 21:41:09ID:Sc6VNW/K# script/server -p 3001 > /tmp/access.log 2>&1
ちゃんと付けてるのですが、やっぱりファイルに書き込まれません…
0130nobodyさん
2008/12/10(水) 23:53:47ID:???./script/generate migration add_user_id_to_book user_id:integer
としたらint(11)なuser_idというカラムを追加するようなファイルができたのですが、カラムを複数追加するとき、カラム設定を複数書くとき(user.idにリファレンス張るとか)はどう書いたらいいですか?
0131nobodyさん
2008/12/11(木) 00:09:40ID:???そのたびにファイル作ってたら、ファイル数えらい事になる。管理しにくい。
カラム足したりするmigration使うのは本番運用後で良いかと。
0132115
2008/12/11(木) 21:22:50ID:R1xyPwhGそれでも挙動は変わらなかったです…
0133nobodyさん
2008/12/12(金) 09:26:25ID:???selectタグが使えません。
<% select "rate", "rate", [["未読", 0],["☆", 5], ["◎", 4], ["○", 3], ["△", 2], ["×", 1]], {:index => i}, :id => "rate_rate_#{i}" %>
の様に書いても、エラーなどは表示されずただselectタグがあるべき部分が
空白になって表示されるだけです。
仕方なしに
<select id="rate_rate_<%=h i %>" name="rate[<%=h i %>][rate]">
<option value="0">未読</option>
<option value="5">☆</option>
<option value="4">◎</option>
<option value="3">○</option>
<option value="2">△</option>
<option value="1">×</option>
</select>
の様に書き、それでちゃんと動くのですが、なぜselectタグが使えないのか
気になって仕方がありません。
一応./script/serverの吐き出すログを見てみたのですが、それも
特にエラーなどは出ていないようです。
どうかご指南お願いします。
0134nobodyさん
2008/12/12(金) 10:18:24ID:???ほんとにこの通りに記述してあるなら、typoだから
0136nobodyさん
2008/12/14(日) 15:27:49ID:???リンクを踏んだらそのページを新規windowで開き、
元のページの方をAjaxで書き変えたいのですが、何か良い方法はありますか?
0137nobodyさん
2008/12/14(日) 15:50:22ID:???うーん思いつかない…
Javascript直書きで何とかできそうだけど方法はわからない
Javascriptスレの方で聞いてみたらどうでしょうか?
0138nobodyさん
2008/12/14(日) 15:52:51ID:???<a href="http://www.google.com" target="_blank" onclick="alert('hello'); return true">click!</a>
<a href="http://www.google.com" target="_blank" onclick="alert('hello'); return false">click!</a>
0139138
2008/12/14(日) 16:15:48ID:???寝ぼけていたらしい。
0140nobodyさん
2008/12/15(月) 23:08:05ID:???モデルで
class Hoge < ActiveRecord::Base
has_many :moges
(略)
class Moge < ActiveRecord::Base
belongs_to :hoge
(略)
とします。そしてコンソールで
1 hg = Hoge.new
2 hg.save
3 mg = Moge.new(:hoge_id => hg.id)
4 mg.save
5 hg.moges << mg
としたときに、どのタイミングでhg.mogesにMogeオブジェクトが
追加されるのでしょうか?
何度かrailsを作るところから試してみたのですが、3の次にhg.mogesの
中にmgが入っていることもあれば、5までしっかり書かないとhg.mogesの
中にmgが入らないときもある気がします。
本当に勘違いみたいな話ですが、どのように書けばどのタイミングで
hg.mogesにMogeオブジェクトが追加されるのでしょう?
0141nobodyさん
2008/12/15(月) 23:20:06ID:???mg = Moge.new
if hg.save
hg.moges << mg # ここでMoge追加、save。:hoge_id => hg.id も自動で付く
end
0142nobodyさん
2008/12/16(火) 14:41:43ID:r+TWFAeS0143nobodyさん
2008/12/16(火) 20:48:01ID:???0144nobodyさん
2008/12/16(火) 23:01:40ID:???そっち方面ではもっと流行ってないのかな・・・
0145nobodyさん
2008/12/16(火) 23:30:50ID:???モデル設計したりするのと違って、全然クリエイティブじゃない作業。
しかも、大方のデザイナにはこれができない(各種helperや, partialがあるから)。
会社にRailsのできるデザイナが居ればいいんだけど。
だから敷居の低いPHPの代替にはならない感じ。
0146nobodyさん
2008/12/16(火) 23:44:45ID:???入門のために買おうとして、amazonレビュー見たらそういう用途には向いてないようですが…
もし他にrails2系を学ぶのに良い入門書があればお勧めお願いします。
0147nobodyさん
2008/12/17(水) 00:03:08ID:???リファレンスみたいなのは1冊あった方が良いよ。
- Ruby on Rails 逆引きクイックリファレンス (マイコミ)
- Railsレシピブック 183の技 (ソフトバンククリエイティブ)
どっちもRails2対応。
本屋で立ち読みでもして、自分に合いそうな方を選ぶと良いかも。
ただし、Railsは更新のスピードが早いので、本の内容はすぐ古くなる。
本に加えてネットで情報を集めるのが吉。
入門書はRails1.x系なら
- はじめようRuby on Rails (アスキー)
が良かったけど、さすがに内容が古くなった。
0149nobodyさん
2008/12/19(金) 12:21:17ID:???http://wota.jp/ac/?date=20081216#p01
「 圧倒的ではないか、我が軍は」
って感じだなw
suggestリクエスト先にでも使ってみるか
所でThin使ってる人いる?
0150nobodyさん
2008/12/19(金) 13:48:58ID:???見られるサーバを立ち上げるコマンドって何だったっけ?
0151150
2008/12/19(金) 13:54:18ID:???gem serverだった。
0152nobodyさん
2008/12/20(土) 10:13:51ID:???emacs-railsとか
rinariとかあるけど
どれがいいわけ?
0154nobodyさん
2008/12/24(水) 15:06:29ID:???http://rubyonrails.org/merb
0155nobodyさん
2008/12/24(水) 15:09:15ID:???http://rubyonrails.org/images/pages/merb/lori.jpg
0156nobodyさん
2008/12/24(水) 17:46:07ID:???lighttpdから乗り換えようかと思って弄ってる
所で、Apache互換のアクセスログの吐き方知らね?
gettext使ってるからlighttpdだとエラー出るしで困る、どうにかなれ!
>>155
こwれwはwwwww
0157nobodyさん
2008/12/24(水) 20:31:31ID:???ラジオボタンをファンクショナルテストする方法はどうすればいいですか?
◎都内 ○都外
getでテストデータ呼び出して、きちんと都内が選択されているかどうかを調べたいです。
0158nobodyさん
2008/12/25(木) 01:06:25ID:???それって、
<input type="radio" name="tonai" value="true" />都内
<input type="radio" name="tonai" value="false" />都外
みたいになってるのであれば、
# 都内が選択されている
assert(params[:tonai] == 'true')
という感じで良いのでは?
0159nobodyさん
2008/12/25(木) 22:57:54ID:???User.count(:group =>ここに2つ以上書く方法が分かりません。
どなたかご存知の方いませんか???
0160nobodyさん
2008/12/25(木) 23:02:01ID:???:group => 'x, y'
実はここに書いた値はそのまま "GROUP BY #{値}" されるだけ。
:order も同じ要領で DESC とか付けられるよ。
0161nobodyさん
2008/12/25(木) 23:19:55ID:???うぉぉ、ありがとうございます!!!!!!!!!!
0163nobodyさん
2008/12/30(火) 17:57:38ID:???お勧めのレンタルサーバってありますか???
(皆様はどこのサーバを使ってますか??)
0164nobodyさん
2008/12/30(火) 18:17:55ID:???Dreamhost
ドメイン、サブドメイン、MySQLが無制限に使える。
Passenger(mod_rails)がプリインストールでドメインごとに切替えられる。
SVNもプリインストールでコンパネから操作可。Capistranoでデプロイ可能。
結構安い。
なんて事書くと、アフィリエイトコード貼ると思っただろ?
貼らないよ。
0165163
2008/12/30(火) 19:31:32ID:???本当に、ありがとうございます!!
海外のレンタルサーバなんですね。
海外サイトでクレジット番号を入力したことがなくて。。。。
(へたれですみません。)
国内でもいいのがないかググってみます。
0166nobodyさん
2008/12/31(水) 11:42:26ID:???0167nobodyさん
2008/12/31(水) 15:59:48ID:9mZRkEaM無料でやりたいなら、自宅サーバがいいよ。
0168nobodyさん
2008/12/31(水) 17:50:14ID:???動かすだけならさくら供用・Xreaでもおk(ただし激遅)
Dreamhostは海外の超有名大手だから心配しなくてもおk
現実的な速度で動かしたいならVPSかな
でもRails環境作るの結構しんどいよー
0169nobodyさん
2008/12/31(水) 20:54:39ID:???いくつもサービス上げてるけど、環境づくりに苦労したことは無いなぁ
0170nobodyさん
2008/12/31(水) 22:57:58ID:9mZRkEaM0171nobodyさん
2009/01/01(木) 00:59:28ID:???他は一切知らんけど
0172nobodyさん
2009/01/01(木) 09:54:20ID:???アプリのディプロイは以前はlightyだmongrelだと面倒だったが
今はたいていpassengerでいいから劇的に楽になった。
0173nobodyさん
2009/01/01(木) 10:53:45ID:???0174nobodyさん
2009/01/01(木) 11:08:14ID:???0175nobodyさん
2009/01/01(木) 17:25:43ID:???http://www.moongift.jp/2008/11/ruby_on_rails_portable/
http://sourceforge.net/project/showfiles.php?group_id=230695
のサイトから Ruby on Rails Portable を落として使ってみてるのですが、
コンソールからRubyのコマンドは返ってくるのですが、Railsのコマンド
が返って来ないみたいな、例えば一番単純な、rails の後にファイル名で
プロジェクトの作成とかも返って来ないのですが、
何かチューニングしなきゃダメなんですかね?
0176nobodyさん
2009/01/01(木) 20:08:28ID:???0180nobodyさん
2009/01/02(金) 00:59:46ID:0xasvExc本番環境はLinuxが良いけど。
0181175
2009/01/02(金) 04:17:35ID:???どうやら「環境変数でパスを通して下さい」みたいな感じのことが書いてあるので
自分が置いてるD:\RailsPortable(Use)の場所をRailsに教えなきゃいけない
のかな?と思い、マイコンピュータのプロパティからシステム変数の修正でパスを
選んで
;D:\RailsPortable(Use)\App\Rails\bin\rails
と付け加えたのですがRailsは動きません
根本的に何か違うのでしょうか?
0182nobodyさん
2009/01/02(金) 04:34:17ID:???パスを通してなかったのか?
環境変数に通すパスはRailsのある(略)\binまでで良いよ
てか現状パスは通っているんだよな?
プロンプトでset PathするなりirbでENVでパス通ってるの確認できる状態なん?
0183nobodyさん
2009/01/02(金) 04:47:55ID:???rubyは動いてるから飛ばします。パス設定はしてあるようなので
rails -vでバージョン出ない?
出たらパス通ってる。
出なかったら次はプロンプトで
cd (おまいのRailsインスコしたディレクトリ)\binに移動して
上に書いたrails -vでバージョン出る?
ここで表示されるなら単純にパス設定をミスってるだけ。
ここでも出なかったらrails再インスコして上記を再度やる。
投稿から時間たってるし、ここに書いた事くらいはやってるよな?
やって動かないの認識でエスパー募集でおk?
0184175
2009/01/02(金) 09:28:43ID:???Ruby on Rails Portable ←(Portable)を Dドライブに展開しただけなので
Railsはインストールしてません。ただ同じようにインストールしてないRuby
の方はコンソールから ruby-vでバージョン出るので動いてるんですよ。
>>183 >>182
とりあえず Rails -v が返ってくるところを cd/ して見つけて
見つかったらそこにパスを通せば良いんですよね?
Ruby on Rails Portable の Railsがどこかにあるんだと思いますが
よく解りません。とりあえず今から出かけるので帰ってからまた探してみます。
0185nobodyさん
2009/01/02(金) 10:32:02ID:???>ただ同じようにインストールしてないRuby
>の方はコンソールから ruby-vでバージョン出るので動いてるんですよ。
インストールしていなければ、このような動きはしないぞ。
以前にRubyを入れた事があるんじゃないのか?
ActiveScriptRubyとか。
ちなみにgem -vでバージョン出たりしないか?
その場合、gem install railsでインストールできるからそれでOKだろ。
Portableを使いたいのではなく、Railsを使いたいんでしょ?
0186nobodyさん
2009/01/02(金) 10:52:25ID:???>Railsはインストールしてません。
>ただ同じようにインストールしてないRubyの方はコンソールから ruby-vでバージョン出るので動いてるんですよ。
ん??
インスコしてないのにruby -vで動作してるっておかしくね?
以前に入れた?もしくは展開しただけって言ってるけど普通にインスコしてんじゃね?
>Ruby on Rails Portable の Railsがどこかにあるんだと思いますがよく解りません。
自分でインスコ(してなく展開だけだっけ?)したのにどこのディレクトリ(フォルダ)に
あるのかわからん状態で>>181で環境変数に追加して動作しないって言ってたのか??
パスがどこかわかなん状態で適当にパスを追加したって動作しないくらいはわかるよな?
適当に追加 = そこには何も無い(奇跡でパスが当れば良いね) <- こんな感じですよ。
展開だけにしたにしろrailsが壊れてないならcd (展開したディレクトリ)に移動してrails -vで返答はある。
単にRailsを使いたいなら>>185のやり方が一番楽じゃないかなと思う。
0187185
2009/01/02(金) 11:11:00ID:VbNvKLaTさっきのは忘れてくれ。
念のため、Portable試してみたら、確かに同じ状況を確認できた。
Portableは使った事がないから気づかなかった。
展開したディレクトリ直下のRailsPortable.exeを実行すると、
rubyとgemにパスが通った状態のコマンドプロンプトが起動する。
ここでは確かにruby -vは実行できる。
しかし、rails -vでパスが通っていないというエラーが出る。
(実際には、rails.cmdへパスが通っているのだが)
RailsPortable\App\Rails\bin以下に
rails.cmdとrailsというファイルがあってここが問題。
この中身を見れば何やっているか分かるはずだけど、初心者じゃ無理かも。
railsの中身は省略するけど、ただのrubyスクリプト。
で、修正するべきなのは、rails.cmdのほう。
rails.cmdの内容
--------------------------
@ruby "/PortableApps/RailsPortable/App/Rails/bin/rails" %*
--------------------------
zipを展開すると、RailsPortableというディレクトリになるから、初期状態では動くはずがない。
@ruby "/RailsPortable/App/Rails/bin/rails" %*
にしないと動かない。
もし、Dドライブに置くのであれば、D:/を付ける必要があるかも。
gemとかrakeも全部こんな調子だから、正直Portableはおすすめできない。
というかこんなの使いたくないなw
0188nobodyさん
2009/01/02(金) 11:14:52ID:l8SeDnaWおまい優しいなw
0190nobodyさん
2009/01/02(金) 11:51:32ID:???0191nobodyさん
2009/01/02(金) 11:53:31ID:???WindowsにおいてインストールディレクトリにD:を選ぶ時点で
無用なハードルを1つ増やすようなもの。
0192nobodyさん
2009/01/02(金) 11:56:26ID:???Railsを試すのが今回の目的っぽいし>>190の言うように
展開しとけば問題無かったんじゃないの?
0193nobodyさん
2009/01/02(金) 12:04:37ID:???0195nobodyさん
2009/01/02(金) 12:38:00ID:???それが良いと思うけどUnix/Linuxで躓いてしまう素人も最近は多いらしいよ
だからWindowsでしようとする素人も多いらしいよ
0196nobodyさん
2009/01/02(金) 12:53:22ID:0xasvExcchcpで文字コード変えるとirbとscript/consoleが動かないんだよね。
0197nobodyさん
2009/01/02(金) 14:14:13ID:???0198nobodyさん
2009/01/02(金) 14:23:48ID:???こいつはマルチよってスルー推奨
Rubyについて Part 33
http://pc11.2ch.net/test/read.cgi/tech/1223709050/l50
0199nobodyさん
2009/01/02(金) 14:43:48ID:0xasvExcすまなかったな。
あっちのスレの質問は取り消して来たのでこっちでよろしく。
回答できたら答えてくれ。
0201nobodyさん
2009/01/02(金) 16:37:06ID:0xasvExcありがと。
普段はVMWareにCentOS入れて使ってるんだけど、WindowsでRails使う話が出てたから、どうしてるのかなと思ってね。
コンソール使わないか、SJISを使うしかなさそうだね。
0202nobodyさん
2009/01/02(金) 16:49:14ID:???0203nobodyさん
2009/01/02(金) 17:48:32ID:???0204163
2009/01/02(金) 23:01:45ID:???亀レスすみません。。
>Railsの場合、root権がもらえるVPSプランがおすすめ。
>国内なら安いところで月額3000〜6000円。
情報ありがとうございます。
VPSさっそく見てみます。(ちょっと高いですね。。。)
>無料でやりたいなら、自宅サーバがいいよ。
そうですよね。
ちょっと今、自宅に回線を引けない環境なんですよ。。。。
春から光回線が引けそうなので
サーバ構築しようと思います。
0205nobodyさん
2009/01/02(金) 23:04:52ID:???ありがとうございます。
> 動かすだけならさくら供用・Xreaでもおk(ただし激遅)
さっそく調べてみます!!!
皆様いろいろありがとうございました。
0206175-184
2009/01/03(土) 07:41:44ID:???>>190さん の言うように 頭にPortableApps/で、その下にコピーしたらRails -Vで
Rails 2.1.0って返ってきました。ちなみにUSBメモリにコピーしてもUSBメモリから起動します。
自分の場合は、自宅のPC以外を使う事が圧倒的に多い生活リズムなのですが、当然自宅外のPCの
アドミニスト権限など持っていないので、USBメモリから起動出来るアプリはとても重宝します。
さらに今後の展開としては同じUSBメモリに FirefoxPortable と MysqlがUSBメモリで動く環境
(XSAS)なんかを入れて、USBメモリだけで ブラウザとデータベースとRailsが動いて連携出来る
USBメモリ環境が整えばよいなと思っています。もちろん学習目的なので、本格的に動かす日が
来ればLinux上で構築したいと思います。(このときのLinuxもUSBメモリ上だったりして)
0207nobodyさん
2009/01/03(土) 09:05:07ID:???0208nobodyさん
2009/01/03(土) 16:14:49ID:???最新のバージョンでも相変わらず?
0209nobodyさん
2009/01/03(土) 16:35:20ID:5uRfgwif0210nobodyさん
2009/01/03(土) 16:59:33ID:???foo/hoge/1
だとid=1と被るし
0211nobodyさん
2009/01/03(土) 17:46:02ID:5uRfgwif/foo/hoge/1?page=1
という感じ。
routes.rbをいじって
/foo/hoge/1/1
でアクセスできるようにしてもいいね。
0212nobodyさん
2009/01/03(土) 20:22:07ID:???何がしたいんだこれは
0213nobodyさん
2009/01/03(土) 21:30:27ID:5uRfgwif自分なら
/foo/hoge?page=1
とか
/foo/list?page=1
というURLにする。
というか、どうでもいい所に反応すんなw
0214nobodyさん
2009/01/03(土) 22:32:10ID:???0215210
2009/01/03(土) 22:40:38ID:???map.resource :fooで
/foo => list
/foo/1 => show(id=1)
が定義されるので :page はどこに入れたら綺麗か、ということです
0216nobodyさん
2009/01/03(土) 22:56:03ID:???/foo?page=1
で良いかと
0217nobodyさん
2009/01/03(土) 23:01:14ID:???0219nobodyさん
2009/01/03(土) 23:20:36ID:???なんてのもあり
0220nobodyさん
2009/01/03(土) 23:20:38ID:???/foo/page/:page とかさ。
0221nobodyさん
2009/01/03(土) 23:21:34ID:???とか
0222nobodyさん
2009/01/03(土) 23:22:10ID:???0223nobodyさん
2009/01/03(土) 23:29:20ID:???に100りんご
0224nobodyさん
2009/01/04(日) 01:43:19ID:???http://tsushima.2ch.net/test/read.cgi/news/1230997845/
仁義なきキンタマ ウイルス情報 Part80
http://changi.2ch.net/test/read.cgi/download/1229742858/546
546 :[名無し]さん(bin+cue).rar :sage :2009/01/04(日) 00:24:59 >>500
報告する時は、詳しく的確に、一部だけ報告しないでお願いね
[殺人] Administrator(20081230-101522)のキンタマ.zip 2,263,376,860 09ed98f10653c3fc2555621ceeed6bc33e8f6228
[殺人] Administrator(20081230-101522)のメール.zip 59,426,579 4da9459b30eec31f58b86530dbb48d1cf86ef4be
[写真集][IV] Administrator(20081230-101522)のアルバム.zip 2,205,946,474 9d87cc0e08dc0e3afd959fcead6c48d569787cee
膨大な量のファイル数キンタマ ファイル数 13508 フォルダ数2381
以前勤めてた会社の資料など多数 独立行政法人情報処理推進機構などの資料など無いと思うが
有るかも知れない、あまりにも数が有り過ぎる、メールなどは、古いものばかりメルマガなど膨大な量
個人情報などは、披露宴主席者などの住所、名前、電話、メール 数十人分しかしエロばっかり落としてるな
ちなみに ハメ撮りscr 踏んだみたいね
早稲田実業学校中等部卒業
早稲田実業学校高等部卒業
早稲田大学政治経済学部政治学科卒業
卒論「知的財産権とインターネット技術」
当時の同大学理工学大学院の大川功 賞佳作を受賞
コンピュータ関連会社に入社ソフトウェア開発の仕事を経て
2005年に独立行政法人情報処理推進機構に入社
ソフトウェア・エンジニアリング・センター企画グループに配属
同グループ主任 岡田さん33歳
2009年1月19日結婚式・・・
0225163
2009/01/04(日) 23:02:05ID:???色々調べた結果、情報が多かった"さくらのスタンダード"にしました。
さっそく"がんちゃんのブログ"などを見て構築してみました。
実力が足りず、結局動きませんでした。
#WEBrickで3000ポート経由なら動くのですが。。。
apacheのログってすぐ見れるものではないのですね。。。無念。。。
0226nobodyさん
2009/01/04(日) 23:41:00ID:???まぁとりあえず3000ポートで動くなら、3000ポートを外部に対して公開して
アクセスしてもらえばいいんじゃないの?
80番にこだわるなら、"Apache Proxy WEBRICK"で検索してみればいい。
ちなみに本番環境ではApache+proxy+mongrelが一般的だと思うぞ。
仕事でやるときはいつもこれでやってる。
実験的にpassengerも混ぜ始めたけど。
0228nobodyさん
2009/01/05(月) 16:11:31ID:???さくらインターネット、ホスティングサーバの一部に不正コード ウィルス感染の恐れ - ITmedia News
http://www.itmedia.co.jp/news/articles/0806/05/news056.html
0229nobodyさん
2009/01/05(月) 16:16:30ID:???0230nobodyさん
2009/01/08(木) 00:16:20ID:o2OnXgNjこのサイトのプルダウンを連動させるについて質問です。
このまま作成したのですが、完成しません。
よろしければこのサイトのコードがあってるか見てもらえませんか?
よろしくおねがいします。
0231nobodyさん
2009/01/08(木) 01:06:33ID:???よく見てないけど :list じゃなくて、:city
ていうかこれくらい自分でデバッグできないと辛いと思うが
0232nobodyさん
2009/01/08(木) 01:31:52ID:o2OnXgNj:cityは試したんですができないんですよね・・・
他に間違いとかありませんかね??
まだ初心者なもので><
0233nobodyさん
2009/01/08(木) 06:31:45ID:???0234nobodyさん
2009/01/08(木) 18:30:39ID:???それができないなら辞めれば良い
0235nobodyさん
2009/01/08(木) 23:58:46ID:???ひとまず主キーを作らないようにして、idというカラムを自分で型を指定して作ろうと思いました。
ググったら、:id => falseを指定したら主キーを作らなくするというところまで分かったのですが、
指定の仕方(書き方)が分かりません。self.upの後やcreate_tableの後で指定してみましたがエラーになります。
現状、ひとまずintegerで主キーを作成し、その後change_columnしてやることで、stringな主キーはできたのですが、
最初からstringな主キーを作るにはどう記述すればいでしょうか?
0236nobodyさん
2009/01/09(金) 00:25:00ID:???class Hoge < ActiveRecord::Base
set_primary_key :cd
end
0237236
2009/01/09(金) 00:41:12ID:???def self.up
create_table :hoges, :id => false do |t|
t.string :cd
t.timestamps
end
end
def self.down
drop_table :hoges
end
end
これ忘れてた。:id => false 付ける場所
0238nobodyさん
2009/01/09(金) 01:08:46ID:???ありがとうございます、idというカラムを作成しないことはできました。
ただ説明不足で申し訳ないのですが、主キーの名前はidのままにして、stringの型で作りたいのです。
:id => false でidの自動作成を抑止し、t.string :idでstring型のidというカラムを作るところまでいったのですが、
modelにset_primary_key :idと書いても、プライマリキー属性がつきません。
あとはプライマリキー属性だけつけられればしたいことは叶うのですが、これはどうしたらいいでしょうか?
0239nobodyさん
2009/01/09(金) 11:07:14ID:???0240nobodyさん
2009/01/09(金) 14:58:05ID:???def self.up
create_table :hoges, :id => false do |t|
t.string :id
t.timestamps
end
execute(<<-SQL)
alter table hoges add primary key (id)
SQL
end
def self.down
drop_table :hoges
end
end
0241238
2009/01/10(土) 02:25:13ID:???>235で自分がやってたことを、1つのマイグレーションの中でやっただけですが…
答えてくれた方々、本当ありがとうございました。
class CreateHoges < ActiveRecord::Migration
def self.up
create_table :hoges do |t|
end
change_column :hoges, :id, :string
end
def self.down
drop_table :hoges
end
end
0242nobodyさん
2009/01/11(日) 06:37:44ID:???mongrelで動かしている場合のログは皆さんどうしてます?
mongrel.logとかmongrel.8000.log(clusterの場合)です
たまに肥大化して大変なことになるのですが
Rails側じゃなくて鯖のcronなどで処理してやるしかないのでしょうか?
0243nobodyさん
2009/01/11(日) 12:52:58ID:???0244nobodyさん
2009/01/11(日) 20:26:26ID:pPNkjSdqまぁ好きな方法でやればいいんじゃない?
0245nobodyさん
2009/01/11(日) 21:42:28ID:???ttp://wiki.rubyonrails.org/rails/pages/DeploymentTips
0246nobodyさん
2009/01/12(月) 01:53:24ID:???webappは1日1回再起動するけど、別にいいし
0247nobodyさん
2009/01/12(月) 23:02:55ID:???%p.p1
hogehoge
%acronym{:title => "Cascading Style Sheets"} CSS
.
hogehoge CSS.
↑みたいに表示させたいんだけど
acronymタグ後方の空白の出力を抑制しないとダメだよね
< でタグ前後の空白を抑制できるんだけど、後方だけ抑制したいんだ
> で行けるかと思ったんだけど、こっちは変化なしなんだ
なにかいい方法はないかな?
0248nobodyさん
2009/01/13(火) 02:31:19ID:???0249248
2009/01/13(火) 21:49:32ID:???0250nobodyさん
2009/01/17(土) 04:30:27ID:???config/environments/development.rbにLoggerでなんかしらの記述をすればいいのかな
0251nobodyさん
2009/01/17(土) 06:54:26ID:J8ZBiU3+終わったら戻す
0252nobodyさん
2009/01/17(土) 11:13:36ID:???0253nobodyさん
2009/01/17(土) 14:32:08ID:???とか。
0254nobodyさん
2009/01/20(火) 01:13:51ID:???・気にせず使う
・強引に名前を考える
0255nobodyさん
2009/01/20(火) 05:27:16ID:???0256nobodyさん
2009/01/20(火) 05:36:20ID:???0257nobodyさん
2009/01/20(火) 05:49:19ID:???passengerで複数サイト稼働させていてメモリのやりくりが大変です
>>254
_idは外部キーのみ使った方が確実かと
自分ならアンダーバー無しにします。見づらそうだけど
0258nobodyさん
2009/01/20(火) 23:18:05ID:???0259nobodyさん
2009/01/23(金) 18:19:19ID:ZhfLwxbKclass A < ActiveRecord::Base
end
class B < ActiveRecord::Base
end
class AChild < A
def get_b
B.find(1)
end
end
とした際に,get_bにてエラーがでます.
どうやら,find時にClass名がBではなくA::Bとなってしまうのですが,解消する方法はないでしょうか.
そもそも,AChildeでBをfindすることは良くないのでしょうか?
0260nobodyさん
2009/01/23(金) 22:09:16ID:ZhfLwxbKserverの再起動で自己解決しました
スレ汚し申し訳ない
0261nobodyさん
2009/01/23(金) 22:31:26ID:BmccCjRs>250
0262261
2009/01/23(金) 22:33:26ID:BmccCjRs/dev/nullとかにくわせたらだめかね?
0263nobodyさん
2009/01/24(土) 02:11:00ID:???そういうのは普通に HTML で書いちゃうのがオススメ。
%p.p1
hogehoge <acronym title="Cascading Style Sheets">CSS</acronym>.
0264nobodyさん
2009/01/25(日) 21:35:46ID:???<%= link_to 'Back', users_path %>
というのがあるんですが、このusers_pathってどこで定義されてるんですか?
0265nobodyさん
2009/01/25(日) 22:34:43ID:???そっか、細かいところまで無理してhamlで書く必要はないわけね
ビューの可読性があがればいいわけで、考えてみれば当然か
thx
>>264
名前付きroute
ルーティング関係のモジュールのどこか
<コントローラ名>_path という命名規則だから、users_path自体が定義されているわけではないと思う
0266nobodyさん
2009/01/26(月) 01:13:43ID:???map.resources :users
って書いてあるはず。
$ rake routes
で確認できる。
_path とか _url とかが使えるようになってる。
0267nobodyさん
2009/01/26(月) 02:34:36ID:???>どうやら,find時にClass名がBではなくA::Bとなってしまうのですが,解消する方法はないでしょうか.
def get_b
::B.find(1)
end
としてはどうか。しらんけど。
0268nobodyさん
2009/01/26(月) 04:28:17ID:???別解
%p.p1
hogehoge
= succeed '.' do
%acronym{:title => 'Cascading Style Sheets'} CSS
0269268
2009/01/26(月) 04:29:11ID:???0270nobodyさん
2009/01/26(月) 05:57:27ID:???0271nobodyさん
2009/01/27(火) 17:28:09ID:???何か良い方法ありますか?
<table id='sort1' border="1">
<tbody id='item_1'>
<tr><td>aaaaaa</td></tr>
</tbody>
<tbody id='item_2'>
<tr><td>bbbbbb</td></tr>
</tbody>
<tbody id='item_3'>
<tr><td>cccccc</td></tr>
</tbody>
</table>
<table id='sort2' border="1">
<tbody id='item_4'>
<tr><td>dddddd</td></tr>
</tbody>
<tbody id='item_5'>
<tr><td>eeeeee</td></tr>
</tbody>
<tbody id='item_6'>
<tr><td>ffffff</td></tr>
</tbody>
</table>
<%= sortable_element( 'sort1', :url => { :action => :sort_update }, :tag => "tbody", :containment=>['sort1','sort2'], :dropOnEmpty=>true) %>
<%= sortable_element( 'sort2', :url => { :action => :sort_update }, :tag => "tbody", :containment=>['sort1','sort2'], :dropOnEmpty=>true) %>
0272nobodyさん
2009/01/27(火) 20:49:25ID:???User.create :name => 'user_1', :age => 10
などとして値を指定してデータ作成できますが、以下でプライマリキーを指定しての作成ができません。
User.create :id => 10
プライマリキーを指定してデータを作成するにはどうしたらいいでしょうか?
0273nobodyさん
2009/01/27(火) 21:36:42ID:???プライマリキー(id)はと、STI型名(type)は、デフォルトで
「まとめて初期化」(attr_protectedとかで制御するやつね)の対象から除外されている。
active_record/base.rb のattribute_protected_by_default 参照。
簡単に対処するには、
1. とりあえずnewで作成
2. idだけ個別に代入
3. save
かな。
0274nobodyさん
2009/01/27(火) 23:39:28ID:???format.render :xml => Model.to_xml
としてるような場合、
テストコード側でどうやってアクセスしたらよいのでしょう。。
0278nobodyさん
2009/01/29(木) 23:43:43ID:wkptOo2L全サーバ共有のオブジェクトとしてMarshal使ってるんだが、
Marshal.loadでたまに、
marshal data too short (ArgumentError)
が発生するのが腹が立つ・・・
同じような症状にあった人いる?
0279163
2009/01/30(金) 01:33:04ID:???下記エラーが出て動きません。
no such file to load -- sqlite3
どなたか原因が分かる方いらっしゃいませんか。。。
0283nobodyさん
2009/01/30(金) 03:02:59ID:???静的コンテンツ(画像やらcssやらfavicon)が読めない。
BaseURI使って複数プロジェクト上げるとダメ。
BaseURI使わなければ問題無し。
mongrelだと問題無し。
いくつか外人サイトでも上がってるようだが
.htaccessを消すとかmod_rewriteを使うなとか
試してみたがダメ。
誰か分かる?
0284283
2009/01/30(金) 03:05:47ID:???rails 2.1.2
0286nobodyさん
2009/01/30(金) 03:11:29ID:???出力されるXMLです。
ちょうどよいサンプルが見つかりました。
gems\actionpack-2.2.2\test\controller\mime_responds_test.rb
0287nobodyさん
2009/01/30(金) 06:17:33ID:???レンサバの社名だけじゃなくプランも書くべきじゃね?
レンサバはプランで環境変わってくるし、本気で聞きたいなら言うべきだね。
Rails突っ込むくらいだしスタンダード以上のプランだと思うけど
出てるエラーの通りそこを修正したら多分動くはず。
プラン違うと思うから参考にならんかもしれんけど
もしもの時ように契約だけして一年以上放置してた
さくらの専用サーバにてさっきRails動作したから一応報告。
0288nobodyさん
2009/01/30(金) 09:26:02ID:???さくらの専用サーバーとやらでdjangoも動きますか?
0289nobodyさん
2009/01/30(金) 23:43:11ID:LFWFBeOwそれならスキル次第で動くんじゃない?
0290283
2009/01/31(土) 00:21:50ID:???0291nobodyさん
2009/01/31(土) 01:39:16ID:???0292nobodyさん
2009/01/31(土) 04:38:35ID:???0293163
2009/01/31(土) 08:20:00ID:+94In4wf解決しました。ご意見ありがとうございました。
環境:
さくら スタンダードプラン
症状:
最初の「Welcome aboard」ページにて
About your application’s environment をクリックすると
no such file to load -- sqlite3 が出る
対応:
sqlite3-rubyがないので入れる
1)失敗 root権限で入れようとした様子
gem18 install sqlite3-ruby -- --with-sqlite3-include=$HOME/include --with-sqlite3-lib=$HOME/lib
chown/chgrp: Operation not permitted
*** Error code 71
2)成功
setenv RB_USER_INSTALL true
gem18 install sqlite3-ruby -- --with-sqlite3-include=$HOME/include --with-sqlite3-lib=$HOME/lib
参考URL:
tp://blog.proj.jp/ituki/20090107.html
ようやくこれで作成に入れます!!!
うれしい!!
0294nobodyさん
2009/01/31(土) 08:24:48ID:???動作おめでとう☆
次からは出ているエラーをきちんと嫁よ
0295nobodyさん
2009/02/02(月) 22:35:12ID:???activemailerを使って
データベースに保存されているファイルを添付して
メールを送信する方法を知っている人おられませんか?
現在のソース書きます。
urlを直接打つとダウンロードできますし、メールも添付ファイルがなければ送れます。
1週間ぐらい悩んでまして・・・誰か助けてください・・・
class TestMailer < ActionMailer::Base
def report(receiver)
@subject = '写真の送信'
@body["receiver"] = receiver
@recipients = 'hoge@hoge.com'
@from = 'hoge@hoge.com'
attachment :content_type => "image/jpeg",
:body => File.read('http://localhost:3000/pics/file/1/test.jpeg')
@sent_on = Time.now
@headers = {}
end
end
0296nobodyさん
2009/02/02(月) 22:55:44ID:???# require 'open-uri'
:body => open(URL) {|input| input.read }
とかじゃなく?
0297nobodyさん
2009/02/02(月) 22:58:53ID:???pics/以下が何らかのアクションを呼ぶものではなくpublic_html以下のファイル実体なら、
File.read(File.join(RAILS_ROOT, 'pics/file/1/test.jpeg'))
で読めると思う。
0298nobodyさん
2009/02/03(火) 17:31:55ID:XJb6VJd0皆さんどうやって実現していますか?
0299nobodyさん
2009/02/03(火) 18:05:07ID:???0300298
2009/02/03(火) 18:17:26ID:XJb6VJd0javascript等、必要であれば
0301nobodyさん
2009/02/04(水) 00:13:34ID:???うちはmongrelだったのでその時はあきらめた。
もしかしたら、今ならそういうライブラリあるかも。
例えばjQueryの jquery.ajax_upload でonSubmitの時に
読み込み中の画像を出すみたいな事はできると思う。
プログレスバーは難しいだろうけど。
いっそのことFlash使うという手もあるかと。
0302nobodyさん
2009/02/04(水) 00:15:59ID:???0303nobodyさん
2009/02/04(水) 00:31:09ID:???0304nobodyさん
2009/02/04(水) 00:35:00ID:???0305nobodyさん
2009/02/04(水) 01:11:03ID:???0308nobodyさん
2009/02/04(水) 09:04:49ID:???まずサーバーにうpする部分とプログレス表示の部分を分ける
サーバーにうpは普通にうp
プログレス表示の部分はFLASHでサーバーにうp途中の
ファイルサイズを問い合わせしつつ%表示
簡単かどうかは知らん
0309nobodyさん
2009/02/04(水) 16:15:25ID:vZ1IhzmW0310nobodyさん
2009/02/04(水) 16:32:55ID:jYgE8drettp://webtama.jp/series/railstips/articles/31
0311nobodyさん
2009/02/04(水) 23:39:49ID:???ありがとうございました
0312nobodyさん
2009/02/04(水) 23:50:06ID:???0313nobodyさん
2009/02/05(木) 00:54:46ID:???0314nobodyさん
2009/02/05(木) 01:09:21ID:???0315nobodyさん
2009/02/05(木) 03:31:27ID:???やりたいことのほとんどは典型的なCMS機能でカバーできて、特殊機能を独自にPluginのように開発しようと考えているんだけど
0317nobodyさん
2009/02/06(金) 21:47:33ID:???0318nobodyさん
2009/02/06(金) 23:22:48ID:???あれは何の意味があるのでしょうか?
0319nobodyさん
2009/02/06(金) 23:35:41ID:???ファイルを更新したら、?1233545454などのお尻の値も更新する
そうすることで更新されたファイルをちゃんと読み込むようになります
0320nobodyさん
2009/02/06(金) 23:57:24ID:???わかります
0321nobodyさん
2009/02/07(土) 01:14:41ID:???0322nobodyさん
2009/02/07(土) 01:43:03ID:???0323nobodyさん
2009/02/07(土) 02:00:36ID:???ありがとうございました
0324nobodyさん
2009/02/07(土) 09:56:50ID:???ENV['RAILS_ASSET_ID'] = '' #空文字列にセット
としておくと付かなくなる。
0325318
2009/02/07(土) 12:36:51ID:???確かにpublic内の画像等を更新した場合はasset_id(?)が変わりますね
asset_hostを指定してpublic内の静的ファイルを他サーバーから配信している場合、
ファイルを更新してもasset_idは変わりませんでした
0326nobodyさん
2009/02/08(日) 11:42:40ID:???まぁリソース食いまくるからしょうがないんだろうが…
0327nobodyさん
2009/02/11(水) 01:00:58ID:???0328nobodyさん
2009/02/11(水) 02:58:01ID:???↓
ライブラリorプラグインを探す
|↓ない
|最初に戻る
↓ある
置換える
↓
テスト
0329nobodyさん
2009/02/11(水) 10:50:42ID:???0330nobodyさん
2009/02/11(水) 11:12:12ID:???同意。
標準のTestUnitではなくて、最近はRSpecのほうが流行りなのかね。
あ、でも仕事の場合、テスト仕様書とテスト結果表をエクセルで
書かないと納品物として認めない客が多いので、
Railsのテスト(TestUnit/RSpec)に加えて、手動テストが必要だよね。
0331nobodyさん
2009/02/11(水) 11:49:55ID:???0332nobodyさん
2009/02/11(水) 11:54:18ID:???線引いたり、フォントとかの体裁はVBAでがんばればいけるかな?
0333nobodyさん
2009/02/11(水) 12:58:05ID:???ttp://jp.rubyist.net/magazine/?0021-Rspec
を見てみたのだがイマイチ利点がわからん。
----- RSpec とは何か ------------------------------
RSpec とは、公式サイトの説明によれば、
「プログラムの振舞 (behaviour)」を記述するためのドメイン特化言語
(DomainSpecific Language:DSL) を提供するフレームワーク」です。
--------------------------------------------------
これはよく分かった
----- なぜ、RSpec なのか --------------------------
では、なぜ Test::Unit ではなく、RSpec を選ぶのでしょうか。
冒頭の FAQ を再び。 「RSpec って、要は Test::Unit でやっていることを別の書き方にしただけでは?」
――確かにその通りなのですが、その「書き方」が重要だというのが私たちの思いでした。
--------------------------------------------------
なるほどと思った。ところがこのあと、テスト駆動開発の説明が続いて、
--------------------------------------------------
Rspec の狙いはプログラマにテストコードが設計であることを明確に意識させることと、
プログラマがテストコードをスムースに記述し実行できるようになることです。
--------------------------------------------------
みたいな結論になってるのだが、あまり具体性がなくてピンとこない。
だれかわかりやすい利点を具体的にいくつか教えてくれるとうれしいのだが。
ほかにもいくつかサイトを参考にしたのだが、記述方法メインがほとんどだった。
0334nobodyさん
2009/02/11(水) 13:31:54ID:???英語っぽいから、英語圏の人がありがたがる気持ちはわからんでもない
日本人の自分としては?だけどね
使い込むといろいろ便利なのかね?
0335nobodyさん
2009/02/11(水) 13:36:31ID:???自分的にはテストの表示結果が非常に分かりやすいのが気に入ってる。
TestUnitではどのメソッドが成功した、失敗したというのは分かるんだけど、
それぞれが何のテストなのかが分かりにくい。
RSpecだと、
ttp://jp.rubyist.net/magazine/?c=plugin;plugin=attach_download;p=0021-Rspec;file_name=capture9.png
こういう感じになるので、分かりやすいなと。
でも、それだけなのでTest::Unit使ってる人は無理にRSpec覚えなくていいと思ってる。
0336nobodyさん
2009/02/11(水) 13:42:46ID:???なるほど、サンクス。利点の一つがわかった。
DSLは便利なのだが、いくらRubyベースとはいえ何個も覚えたくなかったりする。
もっと利点が挙がってきて魅力を感じるようになったら勉強するよ。
0337nobodyさん
2009/02/11(水) 14:40:35ID:???いつの間にかTest::Unitよりもなんとなくしっくり来て(慣れたからだと思うけど)使ってる
結局概念的にはあんま理解してないと思うけど,TDDの発展形らしいのでとりあえず満足してる
0338nobodyさん
2009/02/11(水) 16:55:40ID:???0339nobodyさん
2009/02/11(水) 16:57:54ID:???エラーが起きたらメールで通知
rspec&autotestおいしいです^q^
所で宍道湖つかってる人いる?
0340nobodyさん
2009/02/11(水) 17:02:11ID:???0341nobodyさん
2009/02/11(水) 17:04:17ID:???0342nobodyさん
2009/02/11(水) 20:05:42ID:???0343nobodyさん
2009/02/11(水) 21:45:57ID:???やっぱり自動テストできると仕様変更の際とても楽。
色付けて、色で判別できるのも良い。
あと it "日本語" do みたいに書けるので、
テスト走らせた時に半分仕様書っぽく見えるのがgood。
それでもAjaxが絡む部分とかはテストできないので
地道に手動テストしてエビデンスをExcelに貼付けるとかは行った。
0344nobodyさん
2009/02/11(水) 21:57:14ID:???お客さんにはそれが見えないので、書類として出せるものは必要。
結局Excel登場な訳です。
0346nobodyさん
2009/02/11(水) 23:28:18ID:???あと、CIでやるテストと、納品に必要なテストは違うよね。
0347nobodyさん
2009/02/11(水) 23:29:01ID:???0349nobodyさん
2009/02/12(木) 02:02:30ID:???0350nobodyさん
2009/02/12(木) 02:16:23ID:???提出したあとにプログラムを変えて、テストは思いっきりおろそかとか
で、客の信頼を失ってテスト資料の提出をせまられる
0351nobodyさん
2009/02/12(木) 02:21:07ID:???↓
ユニークじゃない処理をPickUp
↓
ライブラリorプラグインを探す
|ある ↓ない
| ライブラリorプラグインを作る
| ↓作った ↓作らない
| テスト記述を追加 最初に戻る
↓ ←こっち
置換える
↓
最初に戻る
0352nobodyさん
2009/02/12(木) 02:27:13ID:???どうせ最低限手動テストも必要だしね
このスレに来るような層だとおもしろがってRuby使ってる人が多いだろうし,使ってるだろうけど
0353nobodyさん
2009/02/12(木) 21:19:15ID:???末にバタバタするとメンテする暇ないしね・・・
特にしょうもないところまで厳密に書いてたりすると修正だけで結構な手間がかかるので
カバレッジ100%とか無意味に目指すのはやめたw
0354nobodyさん
2009/02/12(木) 22:34:51ID:???0355nobodyさん
2009/02/13(金) 08:05:11ID:???0356nobodyさん
2009/02/13(金) 08:09:32ID:???振る舞い定義開発と、テスト先に書く開発だよね?
結果的にやってること一緒なきがするんだけど
考え方の違いなんかな?
前にるびまの記事(rSpecのかな?)よんだけど、しっくりこない。
参考までに>>337のしっくり来た理由を教えて欲しい
rSpec自体は見やすいとか、利点あるけどさ・・・
0357nobodyさん
2009/02/13(金) 08:50:59ID:CNLHag3hしかし書き方の違いが重要である事をRuby使いはよく理解している。
0358nobodyさん
2009/02/14(土) 03:53:52ID:???0359nobodyさん
2009/02/14(土) 10:39:26ID:???0360nobodyさん
2009/02/14(土) 11:26:37ID:???俺的にはmigration最高だけどな。
微妙っていうなら、migrationよりいい方法知ってるんだよな?
ぜひ教えてくれ。
0361nobodyさん
2009/02/14(土) 11:45:02ID:???0362nobodyさん
2009/02/14(土) 12:14:03ID:11KlnFuU>>360
かわいそうだからスルーしてやれよ
0363nobodyさん
2009/02/14(土) 12:48:24ID:???0364nobodyさん
2009/02/14(土) 15:42:48ID:???0365nobodyさん
2009/02/14(土) 16:36:41ID:???0366nobodyさん
2009/02/14(土) 18:39:26ID:???0368nobodyさん
2009/02/14(土) 22:18:26ID:???0369nobodyさん
2009/02/14(土) 23:07:59ID:???0370nobodyさん
2009/02/15(日) 00:37:51ID:???結局DBは前もって作ってるわ。
0371nobodyさん
2009/02/15(日) 01:14:35ID:7eK2Kd0p0374nobodyさん
2009/02/15(日) 04:46:33ID:???違う違う。
多分あなたの仕事の範囲ならOracleでも問題ないわ。
商用非商用じゃなくて、単にそれぞれのDBの機能活用してないだけ。
MysqlでもInnoDBでちょっと凝ったことやろうとするとmigrationじゃとてもとても…
0377nobodyさん
2009/02/15(日) 09:00:19ID:BATHKwrTcreate table のオプション見てみれば、わかると思うよ
設定できる項目の数が全然違うから
#当然そのあたりを考えて設計するわけだが
0378nobodyさん
2009/02/15(日) 12:37:05ID:???Railsで対応してないSQL実行したいときは,executeとかつかって自分でメソッド用意するもんだと思ってたけど
0380368
2009/02/15(日) 20:46:08ID:???オラクルだとおれはDBで分けるんじゃなくてスキーマで分けてるけど、
開発用にでかい領域なんて割り当てないから定義自体が変わってくるし。
DBオブジェクトの定義だけでも軽くSQLで数千行いくし、ストアドプロシージャあたりもrailsで管理とかきつい。
0381nobodyさん
2009/02/15(日) 21:04:04ID:???開発担当がSQL書いて(あるいは依頼して)、DBMS担当のレビューを受けた上で、
開発の担当部長の決裁と運用の担当部長の決裁を経て、DBMS担当が
作業するから、rake migrateでやるなんてありえない。
0382nobodyさん
2009/02/15(日) 21:42:00ID:7eK2Kd0pRailsでどうにかする方法を模索したほうが建設的じゃないか?
0384nobodyさん
2009/02/16(月) 00:57:04ID:???mysql使ってるけどexecute使ったのなんてvarcharにbinaryつけるときとカラム追加するときに順番を任意にするためafterつけるときと、references張るときぐらいだ
0385nobodyさん
2009/02/16(月) 01:14:58ID:???Railsにもいろいろ担当が居そうだ。
モデル担当とか、コントローラ担当とか。
0386381
2009/02/16(月) 01:57:37ID:???使うことは拒否されるけどね。勘定系の元帳入ってるから、うるさい。
でも、アプリケーションDBも結局DB運用担当の管理下に置かれちゃうんだよな。
0387nobodyさん
2009/02/16(月) 02:15:51ID:???The Rails Wayを読み始めたんだけど、これRails 1対応ですよね?
Rails 2でも根幹の部分は変わりませんか?
0388nobodyさん
2009/02/16(月) 07:41:08ID:XDlCrmenrake migrate の話をしているのになんでexecuteが出てくるのかわからんのだが?
0389nobodyさん
2009/02/16(月) 07:44:54ID:???与えるのか、って問題も大きいぞ。必要性がないだろ。
0391nobodyさん
2009/02/16(月) 09:05:10ID:CKJsSrXLおかしい事言ってるのはお前のほうだぞ。
migrationで直接SQL実行する事はよくある。
0392nobodyさん
2009/02/16(月) 09:36:28ID:???いちいち語るに値しないと言うことですね
0393nobodyさん
2009/02/16(月) 10:35:10ID:???DBはオブジェクトの永続化目的でしかなく(=ActiveRecord)、
スキーマ操作はフレームワークの管理下においてアプリの一部として扱え(=migration)、
という割り切りが重要。
0394nobodyさん
2009/02/16(月) 20:34:58ID:???基本的なところは同じ。
でも、2.0の本読んだ後に1系の本読むのは時間がもったいない。
最新の2.2系を使ってアプリ組むほうがいい。
0395nobodyさん
2009/02/17(火) 21:52:00ID:???0396nobodyさん
2009/02/17(火) 23:32:32ID:???ありがとうございます。
今日電車の中で何章か読みました。Simply RailsではAutomagicalな
こと(って表現は使ってませんが)ばかりだったけど、舞台裏が分かると
とても理解しやすい。
で、自分自身はアプリを作るわけじゃなくて、十年以上熟成したPerl+PHP
スパゲッティ(初期の責任は私にあります)を、来年度どうするか検討する
ための指示をする立場なので、まずはもうちょっと掘り下げたいと思います。
0397nobodyさん
2009/02/19(木) 06:55:17ID:???なんだかんだでruby使ってもおいしい
スパゲッティを作ることが出来る。
0398nobodyさん
2009/02/19(木) 11:20:22ID:???のべ数百人が1000を超えるモジュールを作っていて、
ドキュメンテーションもろくにしてない上に、
当時の担当者はほとんど異動や退職でいなくなってるわけですよ。
そろそろ全体をリファクタリングしないといけないよね、と
思ってるんだけど、ならば共通のプラットフォーム整備して
やらないといけないよなー、なんてたまには悠長な仕事の
仕方をしようかと企んでるわけです。
0399nobodyさん
2009/02/20(金) 08:11:16ID:???今までも同じように誰かがリファクトしようとするんだけど
結局他の仕事やらで一部を改修したに過ぎず
その実スパゲティに一味加えただけであり
それが繰り返されるスパイラルに陥ってる可能性高いなあ
本当に時間と(力のある)人を投入できて
且つその案件がそれ相応の対価に本当になるモノなのか、
自ら貧乏クジ引こうとしてないかよく考えた方がいいかもね、
とか余計なお世話してみる
この世界で悠長なんて幻想だぜ
なぜならそこに、あんたの目の前に美味しそうなスパゲティがあるからだ
みんな俺こそ全部食ってやると思うんだ
そして今、おまえの番だ
0400nobodyさん
2009/02/20(金) 13:32:32ID:???RDドキュメント
自動テストのカバレージ100%必須
ペアプロ
コードレビュー
うーん、どれもやったことのない人にはブーイング必至。
人望がためされますな。
0401nobodyさん
2009/02/20(金) 15:32:38ID:???というか無駄。
0402nobodyさん
2009/02/20(金) 15:37:21ID:???個々のプログラムよりも全体を見ることが重要だと思うが
ひとつひとつは問題なくても実はたくさん重複してたり、
ルールを決めればうまくいく部分がたくさんあるなんてよくある
>>400は単体レベルしかサポートしてないな
0403nobodyさん
2009/02/20(金) 18:00:18ID:???のべ数百人で、同時に何十人かが同じプロジェクトで仕事してるとすると、
ペアプロよりもうちょっと大きい集団で意志統一が必要じゃないか?
0404nobodyさん
2009/02/21(土) 01:58:12ID:???0405松江の鉄オタ厨房キハ187
2009/02/22(日) 00:01:46ID:U5nWJJ8Http://www.scribd.com/doc/12709376/Microsoft-WindowsRuby-on-RailsRuby-on-Rails-for-Microsoft-Windows-installation-procedures
※ページ数が63ページにわたるので要注意
ハードコピーを多用したので、ページ数が多くなっていますが、インストールする手順はイメージしやすいと思います。
これで、Ruby on Railsの環境構築のハードルが低くなると嬉しいです。
0406nobodyさん
2009/02/22(日) 00:40:55ID:LXvjeYZAどういう利点があってpache以外のサーバを使うんでしょうか?
0407nobodyさん
2009/02/22(日) 01:42:57ID:???お前は何を言っているんだ。
Apache … Webサーバ
Pound … リバースプロキシ&ロードバランサ
Mongrel … Rails用(だけじゃないけど)アプリケーションサーバ
それぞれ役割というか種類が別のものなんだが。
ただしApacheはmod_proxy_balancerを組み込むことでリバースプロキシ&ロードバランサ
にもなるし、Passenger(mod_rails)を組み込むことでRails用アプリケーションサーバにもなる。
それにPoundとかMongrelとか、誰に聞いたんだよそれ。情報が古すぎる。
リバースプロキシはApache2+mod_proxy_balancerかNginx、アプリケーションサーバは
ThinかEbb、それもめんどくさいからたいていはApache2+Passengerってのが主流。
0408nobodyさん
2009/02/22(日) 01:52:04ID:???Apache2+Passengerも一台で足りないなら、
ハードウェアのロードバランサか、
PoundやApache+mod_proxy_blancerやLVS
といったソフトウェアロードバランサを使う。
0409nobodyさん
2009/02/22(日) 04:45:32ID:???先に画面サクサク作って客に動かしてもらうと、リリースギリギリの仕様変更が比較的少ない
触ることでイメージしやすいから、要件が短期間で固まるって感じ
画面作ってひたすらカバレッジの流れもrailsはすんなりできるからいいね
0410nobodyさん
2009/02/22(日) 12:00:59ID:???0411nobodyさん
2009/02/22(日) 13:45:57ID:???0412nobodyさん
2009/02/22(日) 14:40:19ID:???開発のサイクルがめまぐるしく早いのと、DHHが後方互換性を全く気にしない
せいで、1年前に作ったアプリが最新版のRailsじゃ動かないとかザラだしね。
RackのRuby1.9対応が終わり次第2.3の正式版がリリースされるそうだけど、
5月にはmerbと融合した3.0が出るらしいし、ここでもこれまで以上に後方
互換性がないがしろにされそう。
ただしmerbの中の人たちはその辺りのことをDHHよりは気にしてるという話
なので、3.0以降は少しはマシになると思いたいが。
0413407
2009/02/22(日) 14:57:27ID:LXvjeYZAすいません、もう一つ・・
Webrick っていうのは簡易なウェブサービス用で、外部に公開する目的で作るのならば、使う必要がない感じでしょうか?
普通にApacheで開発でいいのかな。。
0415nobodyさん
2009/02/22(日) 16:07:11ID:???WEBrickはアプリの動作確認用にオマケでついてくるサーバであって、これを
公開する物好きはあまりいないと思う。
最初の質問を補正しながら答えると、MongrelやThin単体であってもインター
ネットに公開されているサーバで80番ポートで起動すればサービスの運用は
可能だし、その点はWEBrickも同様。
しかし実際にそれをやるのは間違いなく素人で、普通はその上にリバース
プロキシをかぶせる。
これが>>407で言ったApache2+mod_proxy_balancer等のこと。
なぜこうするかという理由は2つある。
1つは公開サービスには複雑な運用が求められること。
同じサーバで別ドメインのサービスを運用したり、特定のアドレスからのアクセス
を制限したり、任意のURLへのアクセスをリダイレクトさせたりといった必要が
出てくる。
ApacheやNginxは、デフォルトもしくはモジュールを組み込むことでこのような
機能に対応している。
0416nobodyさん
2009/02/22(日) 16:08:02ID:???もう1つの理由は負荷分散にある。1台の物理的サーバに1つのMongrelしか
立てないのは、ハードウェアリソースの多大なる無駄遣い。
1プロセスのMongrelが秒間にさばけるリクエストは限りがあるが、Mongrelの
プロセスを増やすことでその上限を増やすことができる。
ただしMongrelは1プロセスにつき1つのポートを使用するわけで、全部の
Mongrelを80番ポートであげるわけにはいかない。
よって複数のMongrelを別々のポートで立ち上げ、80番にはApacheを立ててそこ
に来るアクセスをバランスよく複数のMongrelが使用するポートに振り分けて
やるといったことを行うわけだが、それを可能にするのがmod_proxy_balancer
というモジュールだ。
0417nobodyさん
2009/02/22(日) 16:17:51ID:???今言ったような情報はネットで検索すれば出てくる程度の話だが、これら
の情報を自力で集められない人にとってはRailsで開発することは勧められ
ない。
なぜならRails界隈の動向というのは>>412のような状況なので、技術トレンド
についていけない人が作ったシステムは、あっというまにout of dateになって
誰もメンテできなくなってしまう可能性が高いから。
Railsの開発コストが低いというのは、それ相応のスキルと周辺知識を持った
人が開発した場合の話であって、プログラミングの素人が初めてアプリを作る
環境としてはどうかと思うし、後々のメンテナンスコストを考えると自分なら
止めるだろう。
なら現時点では何がいいのかと聞かれると答えに困るが。
0418nobodyさん
2009/02/22(日) 16:23:03ID:???0419nobodyさん
2009/02/22(日) 16:26:38ID:???そんなことは先刻承知の上での意見なんですが。
開発チームがすでにメンテを放棄したバージョンのフレームワークで、自社
の大事なサービスを動かしておきたいと考える経営者がいると思う?
そのアプリを開発したエンジニアがずっと会社にいてくれるわけでもなく、
またトラブルが起きた場合にWebやコミュニティで情報収集しようと思って
も、誰も使ってないバージョンだと誰も答えてくれない、情報もないという
事態が起きることは十分あり得るし。
0420nobodyさん
2009/02/22(日) 17:04:10ID:???今までPHP等でやってた人?Railsはアプリを動かすのにサーバー側の知識がいるからちょっと大変かも
お勧めは本番環境がapache&passenger、開発環境はwebrick
多分これが今は一番お手軽。とにかく最初これでアプリを動かしてみる。慣れてきて不満点が見えてきたら他の環境にも目を向けよう
0421nobodyさん
2009/02/22(日) 17:10:56ID:DRBsxH8GJavaやPHPで作られたシステムが、Railsで作られたシステムよりも明らかに陳腐化しにくいとは思えないが
その辺りの話が書かれているので、読んでいないなら一読をおすすめします
「JavaからRubyへ――マネージャのための実践移行ガイド」
0422nobodyさん
2009/02/22(日) 17:33:37ID:???あくまで程度の話で、All or Nothingで言っているわけじゃない。
だからこそ、3.0以降なら手を出してもいいんじゃないかと言ってるわけだし。
JavaよりもRubyのほうが使い勝手がいいというのは同感だが、自分が言って
いるのはあくまでRailsの話。
DHHはMatzを見習って、もうちょっと温和になってほしい。
0423413
2009/02/22(日) 17:37:09ID:LXvjeYZA>>420
そうです。あとperlとか。
自宅サーバ立てて遊んだりしているのでapacheいじったことはあるのですが、他のサーバいじったことはなかったのもので・・
>>415
とても詳しくありがとうございます。勉強になります。
railsは難しくても使い続けようと思っているのでがんばって勉強してみます。
ありがとうございましたm(_ _)m
0424nobodyさん
2009/02/22(日) 18:54:59ID:???0425nobodyさん
2009/02/22(日) 22:45:21ID:???5つの世界がある。
その5つとは:
1.パッケージ
2.インターナル
3.組み込み
4.ゲーム
5.使い捨て
スクリプト言語の得意分野は、5.
0426nobodyさん
2009/02/22(日) 23:15:15ID:???0427nobodyさん
2009/02/22(日) 23:21:03ID:???Railsなら作り直し楽だけど
そういう意味では使い捨てか
0428nobodyさん
2009/02/23(月) 01:21:50ID:???サービス」という意味で使うエンジニアとは仕事したくないなあ。
「Wikipedia」を「Wiki」、「シェルスクリプト」を「シェル」と略す輩も同様。
0429nobodyさん
2009/02/23(月) 01:22:47ID:???0430nobodyさん
2009/02/23(月) 01:33:27ID:???シェルとシェルスクリプトは全くの別物で、意図して使い分けられてないと
聞くほうが混乱する。
両者を混同するプログラマは、自分にシェルそのものを作れる技術がない
から「シェルを書く」と言ってもシェルスクリプトに決まってると勝手に思って
るんだろうが、Cでシェルが書けるプログラマにとってはまぎらわしいんだよ。
0431nobodyさん
2009/02/23(月) 01:43:36ID:???0432nobodyさん
2009/02/23(月) 01:47:14ID:???なんか読めたもんじゃないし、後々何が起きるかわからないという話だよ。
スレ汚しスマソ
0433nobodyさん
2009/02/23(月) 02:25:37ID:???0434nobodyさん
2009/02/23(月) 03:09:16ID:???Webサーバという言葉が一般的なんだから、Webサーバが提供するサービスは、
それがSOAPだろうがRESTだろうが人間が直接読むHTMLだろうが、Webサービスだ。
それ以外の変な限定的な定義づけは混乱を招くだけ。
Webサーバという言葉がそもそもおかしいというなら、まずその単語を撲滅して
HTTPサーバという呼び方に、世の中を全面的に変えてくれ。
0435nobodyさん
2009/02/23(月) 03:47:37ID:???誰も一般的な解釈がどうとかの話をしてるんじゃないんだ。
「Webサービス」という言葉がSOAPやRESTスタイルのWebAPIを提供する
ものを指すという事実をそもそも知らないエンジニアは論外だし、その
技術的定義を知っていてなおかつ「Webで提供されるユーザー向けサービス」
の意味で使っても気にならないような、言葉の定義に無頓着なエンジニア
は、経験上ろくなコードを書かないと言ってるだけだ。
0437nobodyさん
2009/02/23(月) 06:11:58ID:LrwJMtrjそこまでいうなら、お前の定義するWebサービスが正統だと証明できる根拠を見せてほしいが
俺の経験上、多くの人間がそれぞれ微妙に違う意味合いで理解している言葉を
俺が理解こそ正しいと自分の定義づけを押し付けてくる輩にロクなエンジニアはいないんだが
0438nobodyさん
2009/02/23(月) 07:27:58ID:???それについて噛みついてるのを見るのは初めてかも。
「ふ〜ん、そうなんだぁ」
って思っておけばいいじゃん、そんな興奮しなくてもさ。
言葉を正しく知らない方が、ロクなエンジニアじゃないと思うよ、やっぱり。
ともあれ、両者落ち着いてまったりいきましょう。
0439nobodyさん
2009/02/23(月) 07:33:03ID:???そんなしょうもないことにこだわるやつは
技術者としては優秀なやつがいたとしても
協調性がなかったりして性格がいがんでる。
仕事が出来ないやつが多い。
0441nobodyさん
2009/02/23(月) 09:44:52ID:???0443nobodyさん
2009/02/23(月) 10:54:05ID:???○ 俺の理解こそが正しい
×いがんでる
○ゆがんでる(歪んでる)
こんな短いやりとりの中で、すでにSyntax Errorが2つもある。
「言葉なんて通じりゃいい」と主張する輩のコードが汚いという
ことを自ら証明しているようなもんだ。
0444nobodyさん
2009/02/23(月) 11:31:01ID:???視認性とかメンテ性とか無視、より効率的に美しく。ただし自分的に。
ライブラリ大嫌いでコピペと車輪の再発明が大好き。
自分のコードすげえとか悦に浸るオナニーコーディング。
で、掲示板でこんだけ威勢張ってて、協調性について語ってるのは笑いどころ?
0446nobodyさん
2009/02/23(月) 15:00:32ID:???0447nobodyさん
2009/02/23(月) 15:51:39ID:???0448nobodyさん
2009/02/23(月) 17:49:10ID:???いがんでるを方言だと認識できずに、SySyntax Error扱いしている
お前の欠陥エンジンもどうにかしたほうがいい
0449nobodyさん
2009/02/23(月) 17:51:15ID:???0450nobodyさん
2009/02/23(月) 23:00:12ID:???0451nobodyさん
2009/02/23(月) 23:09:22ID:???0452nobodyさん
2009/02/24(火) 00:36:22ID:???0453nobodyさん
2009/02/24(火) 01:21:46ID:???0454nobodyさん
2009/02/24(火) 01:53:24ID:???0455nobodyさん
2009/02/24(火) 12:23:40ID:???0457nobodyさん
2009/02/24(火) 13:44:01ID:???0458nobodyさん
2009/02/24(火) 14:04:25ID:???0459nobodyさん
2009/02/24(火) 16:02:12ID:???それ単にお前が他のFWのプラグイン知らないだけじゃんwwww
pythonに比べると、rubyで書かれてるって欠点でしかない
0462nobodyさん
2009/02/24(火) 19:40:35ID:???デジタル加入者線のことじゃないぞ。
0465nobodyさん
2009/02/25(水) 01:44:06ID:???ここでPythonをDisられたいの? マゾなの?
0467nobodyさん
2009/02/25(水) 14:32:12ID:???テンプレートはシンプルで好きなんだけどね。
0468nobodyさん
2009/02/25(水) 15:37:43ID:???と思っていた時期もありました。
0469nobodyさん
2009/02/25(水) 16:30:20ID:???正直、当分は機能増えなくていいから速度と(特に)メモリ消費量を改善して欲しいと思う事はある
格安レンタルサーバーでも放り込んでおけば動かせるFWが羨ましいのは事実
Ruby1.9 + Rails3では劇的に変わるのかなぁ?楽しみ
0470nobodyさん
2009/02/25(水) 16:41:13ID:???なんでもかんでもフレームワークでやろうとしなくてもいいと思う。
0471nobodyさん
2009/02/25(水) 21:37:45ID:???0472nobodyさん
2009/02/26(木) 00:23:01ID:???前に1台Apache立てて、mod_proxy_balancerで振り分けるって感じなんでしょうか?
0473nobodyさん
2009/02/26(木) 09:04:18ID:WBghJzwC負荷を下げたいなら、Apache+passengerのWebサーバを2台用意するかな。
0474nobodyさん
2009/02/26(木) 14:43:02ID:???だったらDNSラウンドロビンにすればいいと思うんだけど。
DNSラウンドロビンをなめてはいけない。
ttp://japan.cnet.com/blog/neta/2006/08/10/dns_ecfc/
クックパッドもDNSラウンドロビンっぽいし。
$ nslookup cookpad.com
Server: 192.168.11.1
Address: 192.168.11.1#53
Non-authoritative answer:
Name: cookpad.com
Address: 203.183.167.214
Name: cookpad.com
Address: 203.183.167.215
Name: cookpad.com
Address: 203.183.167.216
Name: cookpad.com
Address: 203.183.222.67
Name: cookpad.com
Address: 203.183.222.68
Name: cookpad.com
Address: 203.183.167.201
Name: cookpad.com
Address: 203.183.167.202
Name: cookpad.com
Address: 203.183.167.211
0475nobodyさん
2009/02/26(木) 15:23:36ID:???その2台に振り分けるためのロードバランサがいるんでしょ
もしかしてPassengerだけで別ホストに振り分けることできるの?
そこまで機能詰め込んでもらわなくてもよさそうだけどな
>>474
フェイルオーバーとか色々めんどそうなイメージあったけど
RailsはCookieでセッション扱うようになったし簡単な選択肢になってきたのかなあ
0476nobodyさん
2009/02/26(木) 16:03:18ID:WBghJzwC2台サーバ用意するんだから、ロードバランサは必要。
だけど、それは書かなくても分かると思ったので省略した。
で、自分が言った2台を用意するというのはグローバルIPを2つ用意して
>>474のいうようにDNSラウンドロビンすればいいという事。
1つのホスト名に対して、2個のIPを設定すればいいわけだから設定も簡単。
mognrel + proxy_balancerを使ってたのは、1つのRailsインスタンスが
同時に1リクエストしか処理できなかったからだけど、
passengerはそれを解決してるよね。
passenger1つで、複数のリクエストをさばけるわけだからproxy_balancerは不要。
0477nobodyさん
2009/02/26(木) 23:13:42ID:3x+Ff7qAその辺の運用周りについて詳しく解説されている書籍・Webサイトはご存知でしょうか?
0478nobodyさん
2009/02/26(木) 23:19:48ID:???0479nobodyさん
2009/02/27(金) 01:32:31ID:???0480nobodyさん
2009/02/27(金) 09:06:36ID:pVHBsIy5後は実際に公開サーバでRailsアプリを運用するのが一番勉強になる
0481nobodyさん
2009/02/27(金) 13:50:10ID:???0482nobodyさん
2009/02/27(金) 14:04:23ID:pVHBsIy5もちろん、公開サーバの話はきちんと知識を身に付けた後の話。
わざわざ書かなくても分かると思うけど、念のため。
実践する事も大切。
実際に運用してみないと分からない事もあるよ。
0483nobodyさん
2009/02/27(金) 20:59:16ID:???http://www.oreilly.co.jp/books/9784873114002/
まだ出てないけどRailsの運用環境に関する本
ただ、目次を見た限りpassengerについては記載されてないっぽいね
Mongrelは結構詳しそう
0484nobodyさん
2009/02/27(金) 21:13:33ID:???0485nobodyさん
2009/02/27(金) 21:17:44ID:???やっぱり書籍でがっつり紹介してもらった方がいいの〜
0486nobodyさん
2009/03/01(日) 13:42:34ID:???ActionMailer::Baseでデフォルト文字コードを指定すると、
Content-Typeのcharsetはiso-2022-jpになってくれますが、
本文の文字コードは変換してくれないようです。
そこでView(メール本文)をiso-2022-jpにすると、
今度はViewの解析でエラーになってしまいます。
ソースを読んで地道に直すしかないでしょうか?
0487486
2009/03/01(日) 14:00:19ID:???ActionMailer::Base#create!を上書きする昔ながらの方法が
まだ使えそうな感じだったので、とりあえずこれで行くことにします。
0488nobodyさん
2009/03/01(日) 15:29:26ID:???0489nobodyさん
2009/03/02(月) 12:19:55ID:???次期RailsがMerbが統合されてRails3としてリリースされるらしい
DHH(Rails作った人)がTwitterで言ってたから間違いないはず
英語圏の情報をダイレクトで仕入れといてよかったよ
0491nobodyさん
2009/03/02(月) 17:30:26ID:???0492nobodyさん
2009/03/02(月) 23:12:18ID:???入れたらエラーになった記憶がある。
0493nobodyさん
2009/03/02(月) 23:17:18ID:???あと、githubに引っ越すのにちとゴタゴタしていた模様。
0494nobodyさん
2009/03/03(火) 20:48:20ID:???http://github.com/grosser/fast_gettext/tree/master
0495nobodyさん
2009/03/04(水) 00:44:32ID:???jpmobileっぽくて良さげ
0496nobodyさん
2009/03/04(水) 18:01:08ID:???0499nobodyさん
2009/03/07(土) 14:43:07ID:???RAILS IF RUBY ON RAILSっていう本読みながらRailsを始めたのですが、さっそくハマりました。
NetBeans6.5なのですが、db:createができません。
db:の欄にcreateがないのです。
http://imagepot.net/view/123640408655.png
Ruby環境はMacportからruby-gemをインストールしました。
DBはsqlite3を使うように選択しています(試しにMySqlを選択しても同じでした)。
http://imagepot.net/view/123640391835.png
不可解なのが、NetBeans上ではRailsのversionが低いことです。
MacportでインストールしたRailsとバージョンが違うようです。
http://imagepot.net/view/123640392210.png
http://imagepot.net/view/123640408812.png
ご教示くださいませませ。
0500nobodyさん
2009/03/07(土) 18:05:19ID:???うちはNB6.1だからちょっと違うかもしれないが、
メニュー→ツール→RubyプラットフォームからMacPortsで入れたRuby(/opt以下のもの)
を登録。新規RoRプロジェクトの作成時に、Rubyプラットフォームを選ぶ。
MacOS X 10.5には、Rubyや1.2時代のRails環境が付いているんだぜ。
0501nobodyさん
2009/03/07(土) 18:06:50ID:???Portsで入れたRubyは1.8? 1.9?
0502nobodyさん
2009/03/07(土) 21:41:10ID:???/opt/local/binのRubyにしたら、新規プロジェクトでRailsが1.2ではなく2.2を選ぶようになってくれた
ターミナルでgem list --localするとキチンとrailsが2.2になってて、
whereis gemしたら、/usr/local/binってなるから、それを見に行くと
オリジナルは/System/Library/Frameworkd/ruby.framework/Versions/1.8/usr/binってわかる
NetBeansのGemパスはこれと一緒だし、これのGemホームは/Library/Ruby/Gems/1.8になってる
けどopt/loca/lib/ruby/gems/1.8が正解
なんでやねn
0503499
2009/03/07(土) 22:22:11ID:???Gemパスの2つめのパスがパーミッション権限ないと言われてchownしてみたのですがやっぱダメ
なんで自分がやるとこんなにたくさんエラーでるんだろう
http://www.picamatic.com/show/2009/03/07/04/18/2634057_909x560.png
0504499
2009/03/07(土) 22:25:14ID:???http://www.picamatic.com/view/2634134_%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3_7/
0505nobodyさん
2009/03/07(土) 22:34:07ID:???sqlite3はMacPortsで入れ、Rubyバインディングはgemで入れる。
$ sudo port install sqlite3
$ sudo /opt/local/bin/gem install sqlite3-ruby
(間違って/usr/bin/gemを使わないよう、念のため絶対パスで示した)
or 両方MacPortsから入れる。
$ sudo port install rb-sqlite3
0506499
2009/03/07(土) 22:58:57ID:???ありがとうございます
0507nobodyさん
2009/03/08(日) 02:42:32ID:VdgrfizBruby 1.9.1
rails 2.3.0
CentOS 5.2
apache & passenger
sqlite3のDB作成済み
の環境で動かしていて、ブラウザ経由でデフォルトのindex.htmlを表示させるところまでは行ったのですが、
ruby script/generate scaffold Sample text :string place :string created_at :datetime
とやると、
/opt/lib/ruby/gems/1.9.1/gems/actionpack-2.3.0/lib/action_controller/routing/segments.rb:6: warning: encoding option is ignored - N
と
wrong number of arguments (1 for 2)
というエラーが出力されました。
xxx.jp/samples/list のようなURLにアクセスしてみたのですが、404 が表示されてしまっています。
原因として考えられること&解決方法分かる方いらっしゃったらご教示頂けると幸いですm(_ _)m
passengerのURLルーティングがうまくいってないんだろーか・・
0508nobodyさん
2009/03/08(日) 02:48:05ID:???0509nobodyさん
2009/03/08(日) 03:02:25ID:???0511nobodyさん
2009/03/08(日) 11:25:07ID:???508はごくごく正論だと思うが。
ここはそもそも教えてスレじゃないんだから、答えるのは飽くまでその人の善意。
自分のほしい答えがもらえなかったからって逆ギレしなさんな。
0512nobodyさん
2009/03/08(日) 12:09:33ID:???測定したわけじゃないから体感レベルだが確かに速い。
1日10万とか20万PVくらいまでなら1.8でもいいが、
100万を超えるなら1.9だろう。
あと個人的なべき論を、
まるで正統かのようにレスするのはおれもどうかと思う。
0513nobodyさん
2009/03/08(日) 13:05:37ID:???Rubyist Magazine - Ruby 1.9 で Web アプリを想定したベンチマークをとってみた
http://jp.rubyist.net/magazine/?0025-Ruby19_Performance
> ベンチマークの最後として、データベース処理を含めたベンチマークを実行してみます。
> 内容はコメントつきの Blog アプリケーションであり、使用したデータベースとデータ件数は
> 以下の通りです。
>
> * MySQL バージョン: 5.0.67
> * データ件数: ユーザ 10 人 + ブログエントリ 5000 件 + コメント 10000 件
(中略)
> この結果から、次のようなことがわかります。
>
> * Ruby による消費時間を比べると、Ruby 1.8.7 より 1.9.1 のほうが約 1 % ほど速い。
> * 全体の実行時間のうち、Ruby による消費時間はわずか数パーセントにすぎない。
結論:
1.9系で速くなったのは科学計算等で使うようなアルゴリズムの部分であって、基本的に
文字列操作がメインのWebアプリケーションでは目立った高速化はない。
またWebアプリケーションのボトルネックはDBであることがほとんどであり、Ruby処理系
が数倍高速になったとしても、全体のパフォーマンスに与える影響は限定的なものである
場合が多い。
0515nobodyさん
2009/03/08(日) 13:38:23ID:???0516nobodyさん
2009/03/08(日) 13:42:11ID:???webアプリにとって大きいんじゃないの?
0517nobodyさん
2009/03/08(日) 15:30:33ID:???長期的にはそうだね。
ただ今の時点でRailsのスレッドセーフオプションを有効にして、さらにRuby1.9で
動かすのは人柱以外の何者でもない。
何か問題があっても自己解決できないような素人にはオススメできないのは当然。
0518nobodyさん
2009/03/08(日) 16:12:24ID:???こんな例で比べられてもw
MySQLのくそ頭の悪いオプティマイザー+エンジンで結合使うとかそれこそ自殺行為だからw
純粋な計算処理とViewのところは参考になったけど
あと1.8と1.9の両方で動くプログラムで比べても意味ないから
まんま入れ替えて動作して高速化してとか期待してないし、
そもそも動かないだろうし
0519nobodyさん
2009/03/08(日) 17:00:41ID:???DBはどれがいいの? やっぱりオラクル?
0520nobodyさん
2009/03/08(日) 18:03:31ID:???言われてただろ。
MatzだったかささださんだったかYuguiさんだったか誰か忘れたけど、そういう趣旨
の話をどっかで聞いた記憶がある。
0521nobodyさん
2009/03/08(日) 18:19:54ID:???EngineYardの計測データだと、素のPHPには負けてもCakePHPみたいな
フレームワークと比べると数倍は速いらしい。(さらにそれよりもMerbの
ほうが速いというオチはついてるが)
Railsの何が問題かというと、メモリの爆食い。
これはMerbにも共通することなので、3.0で統合されても当面解決しそうにない。
メモリ使用量の少ないフレームワークにはWavesとかSinatraとかあるら
しいが、いまいちマイナーで実績がなさそうなのが難点。
0522nobodyさん
2009/03/08(日) 18:54:45ID:???いらんライブラリー読みまくってるとか、アクティブレコードで消費してるとかか?
0524nobodyさん
2009/03/08(日) 22:04:45ID:???メモリを節約して使うという設計になってないだけだ
メモリを節約するとCPU時間を食うから、メモリを使うように設計しただけ
メモリのほうが大事な人はRuby使ったら駄目
0525nobodyさん
2009/03/08(日) 22:24:38ID:???速度を重視するなら、メモリにコンテンツ展開して外部記憶(HDD)へのアクセスを減らす
空間(メモリ節約)重視なら、必要になる度にHDDから読み込んで使い終わったらすぐ開放
0526nobodyさん
2009/03/08(日) 22:27:06ID:???はやいし
0527nobodyさん
2009/03/08(日) 23:05:04ID:???PythonをRubyと同じ動作するように作ったら、Rubyと同じ速さになる
たとえば、Rubyからeval機能を無くせば一定の速度向上が望めるが、それはきっとRubyではない
0528nobodyさん
2009/03/08(日) 23:11:42ID:???ttp://blog.prokrams.com/2008/08/27/ironruby-vs-jruby-vs-mri-performance-mini-shootout/
まだ、Railsがちゃんと動くまでにはなってないみたいだが。
0529nobodyさん
2009/03/08(日) 23:12:26ID:???使えないな。
0530nobodyさん
2009/03/08(日) 23:17:11ID:???CRubyより速くならない処理があるのなら、そこはCRubyよりずっと遅く動く
速くなる部分だけIronRubyが使えればいいが、そううまくいくかね
0531nobodyさん
2009/03/09(月) 00:50:35ID:???DLRとかがもうそんなに発達してるってこと?
CRubyにはJRubyにもIronRubyにも負けてほしくないなあ
0532nobodyさん
2009/03/09(月) 00:55:23ID:???おれはそれを期待している
Railsが動くようになるなら、相当互換性は高いだろうから
0534nobodyさん
2009/03/09(月) 06:18:44ID:???0535nobodyさん
2009/03/09(月) 10:56:08ID:???0536nobodyさん
2009/03/09(月) 11:35:01ID:???0539nobodyさん
2009/03/09(月) 21:12:50ID:???0540nobodyさん
2009/03/09(月) 21:37:13ID:???0541nobodyさん
2009/03/10(火) 13:45:45ID:???0542nobodyさん
2009/03/10(火) 19:53:36ID:???0543nobodyさん
2009/03/10(火) 20:59:58ID:???Macサーバー買うの?
0544nobodyさん
2009/03/10(火) 21:23:50ID:???なんで実運用までMacでやらにゃあかん?
0545nobodyさん
2009/03/10(火) 22:04:47ID:???0546nobodyさん
2009/03/10(火) 22:06:25ID:???マクの10マソ鯖なんて無いだろ。
0547nobodyさん
2009/03/10(火) 22:10:32ID:???0548nobodyさん
2009/03/10(火) 22:11:12ID:???0549nobodyさん
2009/03/10(火) 22:29:21ID:???Macで開発したらバカなの?
儲からないの?しぬの?
0551nobodyさん
2009/03/11(水) 00:25:38ID:???ttp://www.infoq.com/jp/news/2008/03/waves-ruby-framework
古い記事だが、WavesなんかはRailsと比べてメモリ消費量が1/3〜1/4なんだそうだ。
開発者の手前味噌なんで、数字の鵜呑みはできないが。
0552nobodyさん
2009/03/11(水) 00:33:41ID:???<% render :partial => "hoge" %>
で、_hoge.html.erb を読み込ませても、中のHTMLが表示されない。
2.1、2.2、2.3の三つのバージョンで試しても全く同じ。
ファイル名を変更するとエラーになるし、_hoge.html.erb の中で <% p "AAAAAAA" %> とかやると
WEBrickのログのほうに"AAAAAAA"が出力されるので、読み込まれているのは確かなんだけど。
使い方が間違ってるんだろうか。
0553nobodyさん
2009/03/11(水) 00:37:26ID:???~~~~
=を付けてないんじゃまいか?
0554552
2009/03/11(水) 00:44:00ID:???あーなるほど。=をつけなきゃいけないということをすっかり忘れてました。
いやお恥ずかしいかぎり。
自分では気づけなくて今日半日くらいつぶしたので、感謝です。
0555nobodyさん
2009/03/11(水) 01:50:21ID:???0556nobodyさん
2009/03/11(水) 03:47:54ID:???0558nobodyさん
2009/03/11(水) 08:55:59ID:???0559nobodyさん
2009/03/11(水) 09:23:16ID:???Macはマウスだけじゃなくてキーボードと併用するのが普通
初代さんが見たらこの現状きっと泣くだろうなと思って研究室で使ってた
0560nobodyさん
2009/03/11(水) 09:44:58ID:???そんなことは知っているが、使いやすいと評判な意味はまったくわからなかったな。
しかも普通に2ボタンマウス使えば右クリック使えるというのがまたふざけてる。
いちいちボタンひとつにしてる理由が全く無い。
0561sage
2009/03/11(水) 09:56:51ID:La0qmAhbフォームの項目が頻繁に変更・追加・削除され、
そのたびに入力用テンプレートと確認用テンプレートを編集してます。
入力と確認用のテンプレートはほぼ同じ内容なので
ちっとも DRY じゃないなーと。
みなさんはどうしてますか?
入力&確認テンプレートを吐き出すプログラムを別途用意?
それとも何か便利なプラグインが???
0562nobodyさん
2009/03/11(水) 16:21:19ID:???オブジェクト指向なんだから使い回せるように工夫すれば?
0563nobodyさん
2009/03/11(水) 16:52:00ID:???いちいち、「俺、Mac使ってる」とかいう奴なんなの?特別な存在だと思われたいの?
と、言ってみる。
0565nobodyさん
2009/03/11(水) 18:51:49ID:???いちいち、「俺、Mac嫌ってる」とかいう奴なんなの?特別な存在だと思われたいの?
0566nobodyさん
2009/03/11(水) 19:03:57ID:???0567561
2009/03/11(水) 19:14:46ID:???0568nobodyさん
2009/03/11(水) 21:09:08ID:???0570nobodyさん
2009/03/11(水) 21:18:23ID:???どうせ最初から理想の設計にはならないので、フォーム項目が安定しないうちは
べた書きでいいんじゃない?
安定したらまた考える。
0572nobodyさん
2009/03/11(水) 22:42:17ID:???「確認用はフォームではなく編集不可のHTMLとして表示する。
間違いを見つけたら編集ボタンを押して、現在値入力済みの
入力フォームへ飛ぶ」だと個別作成になるかね。
0573nobodyさん
2009/03/11(水) 23:21:07ID:???actionでinputとインスタンス変数表示切り換えるヘルパー作っちゃえば?
input confirmつながりで、
confirm時は皆hiddenに突っ込んでる?
それともセッション?
個人的には
セッションにあまり値入れたくない派だけど
皆どうなのか気になって聞いてみた
0574nobodyさん
2009/03/11(水) 23:55:23ID:???0575507
2009/03/12(木) 00:15:41ID:JHPTnQN+結局rubyのバージョンを1.8.7に落としてやることにしました。
>>510
は俺じゃないっす。
すいません、また聞きたいことができたのですが、
ActiveRecordの定義ってどこにありましでしょうか?メソッドの一覧を見てみたいと思いまして。。
ご教示頂きたくm(_ _)m
0576nobodyさん
2009/03/12(木) 00:22:00ID:???とりあえず
ActiveRecord::Base
ActiveRecord::Associations::ClassMethods
あたりを見れば基本のメソッドはわかる。
0577507
2009/03/12(木) 00:28:17ID:JHPTnQN+すいませんActiveRecord そのものの定義はどのファイルに書いてあるんでしょうか?
grepしても分からないんです><
0578nobodyさん
2009/03/12(木) 00:33:22ID:???IEだと戻った時に、画面再読み込みみたいになっちゃうし、
入力画面にAjaxで選択するような項目があると、その際に消えてしまう。
なのでセッションに入れてる。
0579nobodyさん
2009/03/12(木) 00:42:49ID:???0580507
2009/03/12(木) 00:52:05ID:JHPTnQN+ActiveRecordっていうクラスがあるんじゃないんですか?
モジュールっていうことはActiveRecordっていうファイル名?
0581nobodyさん
2009/03/12(木) 01:29:30ID:???たぶん君が見たいファイルはこのへんにある
/opt/lib/ruby/gems/1.8/gems/activerecord-2.3.0/lib/active_record/base.rb
でも定義見てもたぶんわかりにくいよ
method_missingとかも使ってるしね
とりあえず >>576 で十分なので満足してくれ
ソース見るのはまだ早いと思われる
0583nobodyさん
2009/03/12(木) 02:53:09ID:???素直にみんなと同じPC使えよ。マカって典型的なKYだしな。協調性無い。
0586nobodyさん
2009/03/12(木) 10:28:53ID:???0587nobodyさん
2009/03/12(木) 11:26:09ID:???ActiveRecordを読み下すには、まずActiveSupportでいろいろ拡張されてる
ModuleやClassのクラスメソッドを一通り読んでおくことをおすすめする。
Method chainとか、知らなきゃハマるよ。tags探しても_without_hogeなんてどこにもないし。
あと静的なコードだけ読むんじゃなくて、ruby-debugを活用して
実行時に実際にどこのコードを使っているのか追っかけるのもいいと思う。
単純にメソッドリストが見たいだけなら、rdocを作ってgem serverか、api.rubyonrails.orgへGO
0589561
2009/03/12(木) 13:12:19ID:???>>569-574
ありがとうございます。
フォームの項目なんて変化するものだし、
何十もフォームを作る場合はベタなんてありえないし、
部分テンプレは textarea で隠れる行とかあるしで、
573 氏のヘルパー路線で考えたいと思います。
ヘルパーにしても車輪の再発明の気がするので
既存にないものかと調べてもないし…。
SKIP, redmine, typo, fastladder みても確認画面ないし。
確認画面は鬼門なんですかねぇ。
0590nobodyさん
2009/03/12(木) 14:35:32ID:OX3C3H1crequire 'net/http'
Net::HTTP.version_1_2
Net::HTTP.start('be.2ch.net', 80) {|http|
response = http.post('/test/p.php',"i=6811")
puts response.body
}
と書いて、BEプロフを見たいと思ったのですが、うまくいきません。
解説お願いします。
0591590
2009/03/12(木) 14:49:30ID:OX3C3H1c取り下げます
0592nobodyさん
2009/03/16(月) 12:38:35ID:???0593507
2009/03/16(月) 20:29:13ID:a70xmYHv0594nobodyさん
2009/03/16(月) 22:22:45ID:???JavaのライブラリがRubyのクラスとして普通に使えてしまう。もうJavaいらないじゃんw
JRuby on RailsならアプリをWARで固めて一発デプロイできるし、ネイティブスレッド
なので、素のRailsより負荷に耐えられる。
GlassFishならホットデプロイも一瞬だし、コネクションプーリングも標準装備。
なんでわざわざJavaのVM上でRubyを動かさなきゃならんのだと思ってたが、触って
みて評価が一変した。
0595nobodyさん
2009/03/16(月) 23:55:22ID:???0596nobodyさん
2009/03/17(火) 00:04:49ID:???0597nobodyさん
2009/03/17(火) 08:24:59ID:???Railsの性能で比較するとCRubyより遅いんだけどな。
0598nobodyさん
2009/03/17(火) 09:35:28ID:???0599nobodyさん
2009/03/17(火) 10:06:19ID:???Rubyで面倒なこと・Javaのほうが簡単or柔軟にできることの切り替えが容易
CRubyならたとえばCで拡張ライブラリ書いたり既存のを探したりしなければならないことが、Javaとの連携で即座に可能
速攻で書いて速攻で動かしてから実際の負荷とか考える、というRuby/Railsにぴったりだと言えばそうかもしれん
強力な実働用途に使ってる人はまだおらんだろう
0600nobodyさん
2009/03/17(火) 10:10:59ID:???みなさんControllerにベタ書きしてるのかな?
0601nobodyさん
2009/03/17(火) 17:06:36ID:???$ rails xxx
したあと、毎回
config/database.yml の host を変更するのが面倒なのですが、
どこかに書いておくことで反映される方法はないでしょうか?
( Controller はあくまでも Controller だけにして、Model に関係なくても Model に書いているかなぁ >>600 )
0602nobodyさん
2009/03/17(火) 17:27:26ID:???でよくないっすか。
production のホストはコレで、development のホストはアレってことだと
いよいよawkの出番ですね! :)
0603601
2009/03/17(火) 17:45:15ID:???やっぱそういうことになっちゃいますか。
Rails2.3 の Application Template に少し期待したのだけど、
どうも、そこまではしてくれないみたいなので。
development & test も変えたいので perl で書くことにします><
0604nobodyさん
2009/03/17(火) 17:47:48ID:???0605nobodyさん
2009/03/17(火) 18:22:10ID:???数カ月おきのバージョンアップに追随してますか?
0606nobodyさん
2009/03/17(火) 21:43:28ID:???0607nobodyさん
2009/03/17(火) 22:24:40ID:???0608nobodyさん
2009/03/17(火) 22:47:19ID:???0609nobodyさん
2009/03/17(火) 23:32:27ID:???rexmlのときは修正gem出たからそれ使ったけど。
0610nobodyさん
2009/03/18(水) 01:28:13ID:???0611nobodyさん
2009/03/18(水) 01:47:39ID:???0612nobodyさん
2009/03/18(水) 04:53:47ID:???Railsにとってrackはどのようなメリットがあるのでしょうか?
0613nobodyさん
2009/03/18(水) 08:21:11ID:???0614nobodyさん
2009/03/18(水) 09:27:11ID:???Web サーバとフレームワーク間の泥臭い部分を、
フレームワーク開発者は書かずに済みます。
Python なら WSGI というものが。
0615605
2009/03/18(水) 09:35:22ID:???セキュリティ修正は古いバージョンに適用されないじゃないですかー。
なので新しくしたら半年ぶりくらいでも deprecated が出まくったり。
また、deprecated じゃなくても、新しい書き方やスタイルが導入されているから、新たに書く人と、古いコードとのスタイルが違ったり。
数千行程度なら直すけど、数万行になると…。
なので社内の Struts 卿や Syfomy 君に、
フレームワーク自体の変更コストが高すぎると dis られる状態です…。
0616615
2009/03/18(水) 09:39:37ID:???遊びでは追っかけるのが楽しいからいいのですが、
仕事では、そんなに変化しないでー、という心情。
0617nobodyさん
2009/03/18(水) 10:57:36ID:???0618nobodyさん
2009/03/18(水) 11:56:04ID:???0619nobodyさん
2009/03/18(水) 13:20:08ID:???0620nobodyさん
2009/03/18(水) 14:39:41ID:???本人はうれしそうなんだが、周りはほんとに迷惑なんだよ。
0621nobodyさん
2009/03/18(水) 15:58:50ID:???ruby自体もヲレヲレ採用だったりもするし。
もっとメジャーな、Javaとかphpにしてくれって思ってる周りは多いと思う。
0622nobodyさん
2009/03/18(水) 16:32:23ID:???大差ないとか言ってるやつは、さすがにかわいそうな頭してると思う。
0623nobodyさん
2009/03/18(水) 16:53:31ID:???0624nobodyさん
2009/03/18(水) 17:31:01ID:???0625nobodyさん
2009/03/18(水) 18:09:32ID:???* Webサーバに対する統一仕様が使えるようになる。
* ミドルウェア(認証とかログ取りとかセッションとか)を利用できる。
あたりでしょうかね。
0626nobodyさん
2009/03/18(水) 18:48:29ID:???本があるといっても 2.x は少ないよね。
1.x じゃ、最初の scaffold からして動かないからハマりそう。
ただ、自分だけで遊ぶ分には最適。
0627nobodyさん
2009/03/18(水) 19:26:55ID:???個人的にRedmineの作者はかなり頑張ってると思う。
0628nobodyさん
2009/03/18(水) 20:57:40ID:???jpmobileの0.3使う時、
サポートがRails2.1以降とかあったけど、
無理矢理2.0.2でも動くように変えたのは良い思い出
0629nobodyさん
2009/03/18(水) 21:50:30ID:???盛り上げてたんだが、そのMerbがRailsに統合されることになってじゃあ
どれ使ったらいいんだよ状態なのが今。
願わくはMerbの中の人たちが、Railsの状況を変えていってほしい。
ところでRailsはともかくRubyをオレオレ言語とか言ってるやつは、何も
わかってないな。
それが本当なら、JRuby、Rubinius、IronRuby、MacRuby、MagLevみたい
に他の実装が雨後の竹の子みたいに出てくるわけがないだろう。
0630nobodyさん
2009/03/18(水) 22:08:14ID:???Railsを上げられん。
0631nobodyさん
2009/03/18(水) 22:11:35ID:???0632nobodyさん
2009/03/18(水) 22:12:16ID:???Redhatの時代はとっくに終わってる。
0633nobodyさん
2009/03/18(水) 22:12:57ID:???0634nobodyさん
2009/03/18(水) 22:15:59ID:???業務で使う以上下手な事はできん
0635nobodyさん
2009/03/18(水) 22:38:10ID:???それによって不便を強いられるデメリットを考え合わせて、トータルで本当に得なの
か考えてみたほうがいいよね。
今やPostgreSQLのほうがOracleなんかより取り回しはもちろんパフォーマンスでも
上回ってるし、Redhat<->Debian・Ubuntuも同様。
0636nobodyさん
2009/03/18(水) 22:45:42ID:???0637nobodyさん
2009/03/18(水) 22:54:30ID:???チューニングの有無で決まるんじゃね?
あとSQLiteは以外と頑張る子だと最近知った
0638nobodyさん
2009/03/18(水) 23:03:10ID:???機能に関してはここ。
ttp://ml.postgresql.jp/pipermail/pgsql-jp/2004-December/017980.html
まあ実際に使ってる限りにおいて、Oracleはデータ型が少なかったり(booleanもないとか
ありえん)、sqlplusを始めコマンドラインツールが死ぬほど使いにくかったりするので、
個人的には比べるべくもないところなんだが。
パフォーマンスに関しては最新バージョンの具体的な比較例はなかったが、2007年当時の
Oracle10 vs Postgre8.2 ではわずかに劣る程度というデータ。
ttp://slashdot.jp/it/article.pl?sid=07/07/10/1059217
8.2→8.3では1.3〜1.5倍のパフォーマンス向上があったという話なので、今やOracleと同等
以上のはず。Web屋のネタ帳でもそう言ってた。
ttp://neta.ywcafe.net/000960.html
0640nobodyさん
2009/03/19(木) 02:04:06ID:???DBの性能は設計とチューニングで別物といっていいくらい変わるから、
そんな資料じゃ全く参考にならないのだが。
0641nobodyさん
2009/03/19(木) 02:58:54ID:???リナックスやDBソフトのメンテしたい訳じゃないし。
StrtusとかJSFとかJavaの世界のほうがフレームワークを業務で使い易い。書籍もセミナーも充実してるし。
こんな感じって提案するのにRoRは気軽でいいけど、そのまま運用はしないよ。メンテ大変。
0642nobodyさん
2009/03/19(木) 03:27:38ID:???セキュリティパッチやバージョンアップの通知くらいで
ユーザサポートに頼ったことなんて一度もないわ
頼る必要がないくらい成熟してるとも言えるけど
0643nobodyさん
2009/03/19(木) 08:11:45ID:???それが仮にあみだくじ程度のレベルであっても
0644nobodyさん
2009/03/19(木) 09:17:40ID:???自分の仕事に責任持て
そういうのお役所仕事って言うんだよ
0645nobodyさん
2009/03/19(木) 10:10:35ID:???技術が分からないお偉いさんたちは技術云々ではなく、
自分が理解できるサポート有無なんかを気にする。
そして、技術的に意味のないサポートでも、
売上の桁が変わるので、ビジネス的に意味がある。
Rails も、技術的に最高に面白いが、
ビジネス的には変更が激しくて保守&運用コストを考えると向かない、というだけ。
0646nobodyさん
2009/03/19(木) 10:27:33ID:???言いたいことはわかるけどね、それじゃ回らない現場がたくさんあるんだよ
個々人のやる気だけではどうにもならない組織構造や大規模システム等
0647nobodyさん
2009/03/19(木) 11:42:38ID:???ビジネスやエンタープライズ向けのフレームワークがほしい
0649nobodyさん
2009/03/19(木) 17:57:50ID:???組織で動いてると、いろいろあるからな。付加価値の高い仕事を自分たちで遣って、生産性を上げるのが高い給料の維持につながる。
0650nobodyさん
2009/03/19(木) 21:34:09ID:???0651nobodyさん
2009/03/19(木) 21:45:31ID:???技術なんだよ。
メーカー保証のプラットフォーム上でJavaの技術者を何十人も集めて、高い
人月で何ヶ月もかけて作っていたものが、Railsなら数人で1〜2ヶ月で作れ
てしまう。
大手のSIerみたいな立場から見れば、客から大した金は取れないわ、保証が
ないから責任を他に転嫁できないわでロクな技術に見えないだろう。
だが市場の下の方から徐々に浸食されていき、次第に完成度も高くなって
いくので、いつのまにか立場を逆転してついには既存の技術を追い落として
しまう。
それを本能的に感じ取っている技術者が今、Railsに手を出してるんだと
思うんだが。
Javaやその他の枯れた技術に比べてRailsが使えないと思うなら、どうぞ
そちらのほうにしがみついていてもらって全く差し支えないよ。
0652nobodyさん
2009/03/19(木) 23:21:44ID:???> 人月で何ヶ月もかけて作っていたものが、Railsなら数人で1〜2ヶ月で作れ
> てしまう。
んなわけねーだろ
想像で語るな
大体JavaとRailsって比較するものが違う
0653nobodyさん
2009/03/19(木) 23:28:26ID:???いいからRedhatやOracle買ってStrutsでも使ってろよ。そんでもうここに来んな。
0654nobodyさん
2009/03/19(木) 23:34:37ID:???Java=Strutsだとでも思ってるんだろうか
0655nobodyさん
2009/03/19(木) 23:38:00ID:MR9LtcQe0656nobodyさん
2009/03/19(木) 23:47:20ID:???場合でも対PHP比1.5倍、Javaで2倍程度の効率向上が見られたみたいな
ことをカンファレンスで聞いた記憶がある。
そもそもプログラマが1日に書けるコードの量はだいたい決まっているので、
余計な記述を長々と書かせるJavaの効率が悪いのは火を見るよりも明らか。
Javaの世界でもSeeSaa等の試みもあるが、あまり成功しているようには見えない。
0657nobodyさん
2009/03/19(木) 23:48:44ID:???0658nobodyさん
2009/03/19(木) 23:52:30ID:???0659nobodyさん
2009/03/19(木) 23:54:47ID:???ただおぼえにくいつづりがマーケティングがうまくいかない一因になってるかもね。
0660nobodyさん
2009/03/19(木) 23:59:29ID:???まだ個人でしかLinux使ってないからだろうけど
セキュリティのアップデートとかいう話ならCentOSとかのyumみたいなので別に不満感じないけどなあ
Redhatのセキュリティのメーリングリスト見とけばそんなに問題なさそうだし
サポートってなにしてくれるんだか謎
>>648見て思ったけど,別に不具合のせいで業務に支障きたして損失起きたからって保証してくれるわけではないんでしょ
0661nobodyさん
2009/03/20(金) 00:09:11ID:???0662nobodyさん
2009/03/20(金) 00:45:35ID:???0663nobodyさん
2009/03/20(金) 00:53:26ID:???損なのか益なのか。
揚げ足取りにすぎないけどさ。
0664nobodyさん
2009/03/20(金) 00:54:53ID:???数十人→数人
何ヶ月→1〜2ヶ月
何十倍なんだよ。計算もできない低脳が。
おまえがくるんじゃねーよ。
「現場のエンジニア」でひとくくりにするなwアホ。
0665nobodyさん
2009/03/20(金) 00:58:39ID:???こんなとこ来てないでちゃんと学校の勉強しろ。
0666nobodyさん
2009/03/20(金) 01:09:49ID:???生産効率が○○倍になったとかやってたな。結局は能力。
例外なく生産効率を劇的に押し上げたのはRDBくらいかな。
0667nobodyさん
2009/03/20(金) 04:46:56ID:???何も変わらない。
億単位の案件取って儲けたほうが給料いいのに、数百万の案件にして給料安くしてるから底辺だろ。
0669nobodyさん
2009/03/20(金) 07:23:33ID:???0670nobodyさん
2009/03/20(金) 09:54:50ID:???底辺でも数百万乱発の方がいいな。
少人数で好きなようにできるし。
0671nobodyさん
2009/03/20(金) 10:17:50ID:???実際は、仕事量○倍が関の山w
0673nobodyさん
2009/03/20(金) 12:13:59ID:???仕事量n倍は無いな。
うちは早めに仕上げてお客さんに使ってもらうようにしてるんだけど、
そうするとちょこちょこ修正依頼や仕様変更が来る。
期間内でお客さんと一緒に細かく詰めて、仕上げて行く感じ。
同じくらいの工数をかけても、お客さんの満足度は高いと思う。
あと政府系とか金額が大きい案件は、そんなに技術要らなかったりする。
金額が大きい割に暇だった。
儲けられても、技術的にはあまり面白くない感じ。
0674nobodyさん
2009/03/20(金) 13:59:42ID:???客に買わせたベンダー謹製のバカ高いプラットフォーム上で、ネームバリューで
取ってきた技術力のいらない案件で何億も請求するような仕事のやり方がこの先
も続くと考えられるエンジニアはおめでたいな。
まあでもここに来て情報収集してるだけマシかもね。
自分で技術書を買うこともしなければ、新しく言語を身につけようなどという考えを
持ったこともないエンジニアが上記のような会社では大半を占めているようだが、
さっさとそういうのは淘汰されてほしい。
0676nobodyさん
2009/03/20(金) 14:43:05ID:???君と違って、こっちは一生エンジニアでやっていこうと思ってるからね。
そんくらいでやめられないんだよ。
0677nobodyさん
2009/03/20(金) 14:58:53ID:???0680nobodyさん
2009/03/20(金) 17:31:31ID:???0681nobodyさん
2009/03/20(金) 18:55:04ID:???0682nobodyさん
2009/03/20(金) 19:47:02ID:???いいから涙拭けよ。そんなに慌てずに、括弧のズレくらい投稿前に確認したほうがいいぞ。
0683nobodyさん
2009/03/20(金) 20:10:53ID:???0684nobodyさん
2009/03/20(金) 20:30:24ID:???0685nobodyさん
2009/03/20(金) 21:04:41ID:???0686nobodyさん
2009/03/20(金) 21:12:27ID:???0687nobodyさん
2009/03/20(金) 22:01:39ID:+2bPeyVSいやたしかに最初の頃は本当にひどかったが
0688nobodyさん
2009/03/21(土) 03:01:08ID:???数百万の案件なんてピンハネだけして下請けに丸投げしたほうが儲かる。
0689nobodyさん
2009/03/21(土) 09:32:16ID:???来てるのかがわからん。
市場の変化を感じられるポジションにいないんだろうが、3年先と言わず
すでにそのやり方は通用しなくなりつつあるよ。
ttp://japan.cnet.com/blog/0026/2009/02/27/entry_27020722/
秋田でベンダーが2億円と見積もりしたIP電話の導入を、市の職員が
オープンソースを活用することで800万で構築した例がちょっと前に
騒がれたが、今後見積もりの際に客からああいう例を引き合いに
出されるようになるよ。
通常、不景気の影響はIT業界に押し寄せるのは1年のブランクが
あるというが、今回は半年とたたずに影響が出てる。
あと半年もしないうちに、大手のネームバリューだけで億の案件が
受注できる時代は、もう過去のものになってるよ。
0690nobodyさん
2009/03/21(土) 10:04:53ID:???ttp://withoutane.com/rants/2009/03/rails-won
信者のおかげかー。
0691nobodyさん
2009/03/21(土) 10:21:40ID:???まあせいぜい今の内に、下請けが使うおもちゃとバカにしていてくれ。
そのほうがやりやすい。
0692nobodyさん
2009/03/21(土) 11:08:41ID:???0693nobodyさん
2009/03/21(土) 11:26:02ID:???railsがstable(になることあるのか疑問だが)になったらおもちゃから脱却できるとは思うが。
0695nobodyさん
2009/03/21(土) 11:41:27ID:???それなりになんとかなるもんだよ。
0696nobodyさん
2009/03/21(土) 11:51:01ID:???application_controller.rb に変わったとこだろう。
いきなり意味不明なエラーが出るので、この変更点を知らないとハマる。
0699nobodyさん
2009/03/21(土) 14:38:08ID:???そりゃ力技なりで「なんとか」なるけどさ、
その必要がない選択肢があるからねー。
なんとかしなくても RoR で出来るようになると LoL
0701nobodyさん
2009/03/21(土) 17:48:54ID:???0702nobodyさん
2009/03/21(土) 21:37:28ID:???日本語を格納しているカラムを指定するとSQL実行エラーで例外が発生するになったので、
$RUBY_HOME/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/validations.rb
を見たら、こうなってた。
729 value = column.limit ? value.to_s[0, column.limit] : value.to_s
この部分をとりあえず、
value = column.limit ? value.to_s.split(//)[0, column.limit].join : value.to_s
と書き換えて対応した。
varchar(255)→255文字を意味するDBMSの場合だけど(PostgrSQL+UTF-8)とか。
varchar(255)→255バイトという意味になるDBMSなら、単にvalue.to_sだけするほうが良さそう。
0703702
2009/03/21(土) 21:43:36ID:???$KCODE = 'u'
require 'jcode'
s = 'テスト'
s[0,5]
=> "テ・"
文字化けというか文字が壊れた状態でSQLが投げられて、
SQLの構文エラーが発生するみたい。
0704nobodyさん
2009/03/21(土) 22:10:22ID:???0706nobodyさん
2009/03/21(土) 22:44:43ID:???1.8.7-p72。
スクリプトのエンコーディングはUTF-8。
ところで、文字列の扱いってエンコーディングごとに異なるのかな。
いつもUTF-8しか使っていないから、以下の動きを想定していつもコーディングしてる。
$KCODE = 'u'
str = 'あいえうお'
=> "あいえうお"
str.split(//)
=> ["あ", "い", "え", "う", "お"]
str.split(//)[0, 2]
=> ["あ", "い"]
str.split(//)[0,2].join
=> "あい"
str[0,2]
=> ""
0707nobodyさん
2009/03/21(土) 22:48:46ID:???バイト数が違うとダメだろうな。
1.9系なら文字基準だけど。
試してないからなんとも言えないんだが、
>>702を見る限りRails2.3はRuby1.9系がふさわしいな。
0708nobodyさん
2009/03/21(土) 22:55:50ID:???DBMSがvarchar(255)→255バイトまたは255文字という
感じで仕様が分かれているから、あえてここは何もしないほうがいい気がしてきた。
実際、2.2.2のvalidates_uniqueness_ofの定義は同じ729行目でこうなっていた。
729 value = value.to_s
0709nobodyさん
2009/03/22(日) 04:17:57ID:???0710nobodyさん
2009/03/22(日) 05:42:49ID:CRGV4RkCでその担当者が辞めると同時に仕事もなくなる
0711nobodyさん
2009/03/22(日) 05:56:27ID:???0712nobodyさん
2009/03/22(日) 11:30:23ID:???夏頃には出るんですよね?
0713nobodyさん
2009/03/22(日) 11:43:11ID:???5月のRailsConfでβという希望的観測だったかな。
正直な話、新規プロジェクトでない限りあえて最新を追いかける必要もないんじゃ。
0714nobodyさん
2009/03/22(日) 13:32:32ID:???競合の事を聞いたら向こうもRailsだったみたいなことが出てきた。
結構みなさんがんばっているんだな。
0715nobodyさん
2009/03/22(日) 13:50:19ID:???0716nobodyさん
2009/03/22(日) 14:33:05ID:???0717nobodyさん
2009/03/22(日) 20:12:44ID:???値段ではJavaの案件は高額だしな。RoRのほうが残るだろう。
0718nobodyさん
2009/03/23(月) 00:41:13ID:???それよりメモリ食いを押さえる方が喜ぶ人は多いと思うんだ
機能が肥大化して習熟コストが高くなるのも歓迎されないと思う
0720nobodyさん
2009/03/23(月) 04:59:55ID:???開発効率が上がるような機能であれば歓迎するけどね。
2.1から使えるようになったnamed_scopeはかなり重宝してる。
0721nobodyさん
2009/03/23(月) 19:32:08ID:???0722nobodyさん
2009/03/23(月) 20:17:29ID:???どっちにしろ日本語リソースのみでは勉強にならないけどね
0723nobodyさん
2009/03/23(月) 20:34:54ID:???0724nobodyさん
2009/03/23(月) 21:14:00ID:???0725nobodyさん
2009/03/23(月) 21:55:47ID:???Rack対応やらi18nやら重要なアップデートが多いので、これを使わない手はない。
そしてRuby1.9.1にRails2.3.2。これ最強。
しかし日本語の資料がほとんどないという諸刃の剣。素人にはお薦めできない。
0726nobodyさん
2009/03/23(月) 21:59:07ID:???0727nobodyさん
2009/03/23(月) 22:24:53ID:???0729nobodyさん
2009/03/23(月) 22:35:45ID:???hpricotとrspecが対応したから個人的にはそろそろ移行のタイミング。
0730nobodyさん
2009/03/23(月) 22:48:10ID:???0731nobodyさん
2009/03/23(月) 23:48:39ID:???0733nobodyさん
2009/03/24(火) 03:41:22ID:???普通は偶数のほうが安定板。1.9.2を待つのが正しい。
0735nobodyさん
2009/03/24(火) 10:05:09ID:???0736nobodyさん
2009/03/24(火) 11:03:13ID:???0737nobodyさん
2009/03/24(火) 13:17:24ID:???0738nobodyさん
2009/03/24(火) 23:49:43ID:???0739nobodyさん
2009/03/26(木) 09:15:38ID:???http://www.atmarkit.co.jp/news/200712/25/ruby01.jpg
0740nobodyさん
2009/03/26(木) 20:24:41ID:gX082xc4でもDHHはガチのイケメン
0741nobodyさん
2009/03/26(木) 23:44:57ID:???0742nobodyさん
2009/03/26(木) 23:55:23ID:???0744nobodyさん
2009/03/27(金) 09:48:00ID:???0745nobodyさん
2009/03/27(金) 10:28:27ID:???0746nobodyさん
2009/03/27(金) 15:31:41ID:???自分一人が使うなら一覧、新規作成や編集はこんな感じで済みます。
http://localhost:3000/
http://localhost:3000/new
http://localhost:3000/edit
これを複数人で使いたいと思ってます。
ユーザに tanaka, yamada がいた場合は次のようにしたいです。
http://localhost:3000/tanaka/
http://localhost:3000/tanaka/new/
http://localhost:3000/tanaka/edit/
http://localhost:3000/yamada/
http://localhost:3000/yamada/new/
http://localhost:3000/yamada/edit/
DB も分けたいので config/database.yml も
if 山田なら
production:
:
elif 田中なら
production:
:
end
としたいのですが、どうすればいいでしょうか。
config/routes.rb を何とかするのだとは思うのですが…。
0747nobodyさん
2009/03/27(金) 15:45:06ID:???複数ユーザーで使うなら「users」テーブルを作るんじゃダメなのか?
0748nobodyさん
2009/03/27(金) 15:56:52ID:???山田、田中的には URL を
はてなダイアリーのようにしたいそうで、
これだけは譲れないそうです。
この URL の実現方法分かりませんか。
0749nobodyさん
2009/03/27(金) 15:58:46ID:???ワロタw
画期的だが、ユーザ数増える毎にDBから悲鳴が聞こえてくるぞwww
普通は>>747のように、
userテーブルとか、blogテーブルと、entryテーブル用意するもんジャマイカ?
ちなみにroutes.rbで書くなら
map.connect ':controller/:action/:id'
map.connect ':controller/:action/:id.:format'
の下に、
map.connect ':user_name/:action' ,:controller=>'コントローラー名'
って感じになるかの?
0750nobodyさん
2009/03/27(金) 16:03:14ID:???0751nobodyさん
2009/03/27(金) 16:09:51ID:???数人しか使わないし、
各テーブルの select や書き込み時に
user_name の条件を書くの面倒だなーと思いましたが、
佐藤&鈴木と相談し、正攻法で 1 DB にしてみます。
> map.connect ':user_name/:action' ,:controller=>'コントローラー名'
なるほどー。佐々木&森田と調べてみます。
ありがとうございましたー。
0752nobodyさん
2009/03/27(金) 16:26:31ID:???map.connect ':controller/:action/:id'
の上に書くと、
他のコントローラーに送りたくても
map.connect ':user_name/:action' ,:controller=>'コントローラー名'
の方が有効になる
どうしても上に書きたいなら
map.connect ':user_name/:action' ,:controller=>'コントローラー名' , :user_name=>/tanaka|yamada/
と限定させれば有効になるけど。
ユーザ増える度にroutes.rb追加するのはダリィ
0753nobodyさん
2009/03/27(金) 16:36:46ID:???やったことないから実はめんどいのかもしれんが
0754nobodyさん
2009/03/27(金) 17:06:22ID:???0755751
2009/03/27(金) 17:36:57ID:???下に書くのでバッチリでした。堀江&三木谷も喜んでます。
>>753
select & update の時に自動で user_name の縛りを入れてくれる仕組みがあるといいんですけどねー。忘れるとエラいことに。
0756nobodyさん
2009/03/27(金) 20:12:28ID:1ySFVXM2script/console で User.all ようにしてDBのレコードの配列を取得したのですが、このあと同じカラム、例えばidカラムのレコードだけ抽出した場合はどう書けばよいでしょうか??
ご教示いただきたくm(_ _)m
0757nobodyさん
2009/03/27(金) 22:11:30ID:???user = User.find_by_name(params[:user_name])
articles = user.articles
な話?
>>756
User.find(id1, id2, ...) したいのか
User.all.map(&:id) したいのか
User.find(:all, :select => 'id') したいのか
0758756
2009/03/27(金) 22:18:50ID:1ySFVXM2>User.find(:all, :select => 'id')
これです。
User.all... のような書き方で同じことはできないのでしょうか??
0759nobodyさん
2009/03/27(金) 22:55:31ID:???よほど巨大なプロジェクトでも無い限り、メリットなさそうなイメージなんだけど…
0760nobodyさん
2009/03/28(土) 00:54:57ID:???0761nobodyさん
2009/03/28(土) 03:23:43ID:???あとユーザ名の所のURLとかから攻略できそう。
0762nobodyさん
2009/03/28(土) 03:58:33ID:???def all(*args)
find(:all, *args)
end
なので(定義はAR/lib/active_record/base.rb)
User.all(:select => 'id')
と出来るね。
0763nobodyさん
2009/03/28(土) 06:52:47ID:fhVnMpn3ローカルでコミットできるのでそれだけでも超便利
あとgithub最強
0764nobodyさん
2009/03/28(土) 11:33:05ID:???gitはgithubの専用クライアントですよ
0765nobodyさん
2009/03/28(土) 21:33:38ID:???フォームのテキストボックスで何も入力しないで更新すると、
DBにNULLじゃなくて空文字列が入ってくるんですが、
これは設定でNULLにできないんでしょうか。
コントローラーで変換してもできると思うんですが、
毎回同じ修正をするのはバグがでそうなので。
0767nobodyさん
2009/03/28(土) 22:06:48ID:???ApplicationControllerに定義すればできるかなと。
モデルならなおいいんですが、すべてのカラムで毎回指定するのはちょっと。。。
でも、考えてみたら数値型や日付型に空文字列が入ってきたらNULLになるので、
どこかにモデルの設定があるのかなと思いました。探してみます。
0768nobodyさん
2009/03/29(日) 02:28:12ID:???区別があるってことすら知らないやつも結構いると思う
0769nobodyさん
2009/03/29(日) 02:45:12ID:???0771nobodyさん
2009/03/29(日) 05:33:23ID:SRpsbxpf区別があるってことすら知らないやつも結構いると思う
0772nobodyさん
2009/03/29(日) 06:00:30ID:???0773nobodyさん
2009/03/29(日) 10:04:29ID:7sf+X/id内容の空チェックには「hoge.blank?」を使えばおk
0774nobodyさん
2009/03/29(日) 10:39:06ID:???blank?を使うのは、データをRailsで取得したあとだろ。
取得したくない場合は、「is not null」とか条件をつけたりするが、
NULLと空白を意識してないのに、両方混在するときついんだが。
「論理的には同じ意味でーす」みたいな感じだから条件が増えてばかにならん。
それにユニーク制約とかどうするのよ。
NULL許可でも空文字で入ってきたらはじかれるじゃん。
でもそんなことを意識してるWebプログラマーは少数派。
0775nobodyさん
2009/03/29(日) 10:44:52ID:???仕事でWebやっているけど、
そんな連中には会ったことないぞ。
プログラム未経験の新卒くらいじゃないのか?
0776775
2009/03/29(日) 10:46:50ID:???NULLと空白の違いを意識しないやつには会ったことないって意味ね。
しかし、本当にそんな変なやついるのかな。
素人以外で。
0778nobodyさん
2009/03/29(日) 13:38:45ID:???大学になら居たかも知れん
0779nobodyさん
2009/03/29(日) 14:08:29ID:???PHPしか知らないエンジニアなら、区別がつかんかもしれん。
0780nobodyさん
2009/03/29(日) 14:33:09ID:???0781nobodyさん
2009/03/29(日) 14:38:02ID:???0782nobodyさん
2009/03/29(日) 14:39:19ID:???0783nobodyさん
2009/03/29(日) 14:41:57ID:???○伝播(でんぱ)
0784nobodyさん
2009/03/29(日) 14:45:44ID:???伝播ということはどこかをNULLにするとほかに波及するってことか?
0785nobodyさん
2009/03/29(日) 14:47:11ID:???0786nobodyさん
2009/03/29(日) 15:02:00ID:???t.string hoge :null => false
t.string hage :default => nil
みたいに、nullとnilの表現が混在して、一瞬どっちがどっちだったか
まぎらわしくなることがある。
0787nobodyさん
2009/03/29(日) 17:58:33ID:Uytn6itq(自分は、Rails や Ruby は未経験)
本を一冊買おうと思うのですが、どれがいいでしょうか?
Ruby の本と、Rails の本をそれぞれ1冊ずつ買おうと思います。
(Ruby の本はム板の「Ruby 初心者スレ」で検討しています。)
自分は Java は経験が長く、PHP / C / Perl はある程度書けます。
amazon で調べると
「RailsによるアジャイルWebアプリケーション開発(第二版)」が定番の本らしいですが、
この本は Rails 2.0 系に対応してないのですよね?
できれば 2.1 系に対応している本がいいのですが、(そうでなくても)いい本があれば教えてください。
0788nobodyさん
2009/03/29(日) 18:23:57ID:???http://www.pragprog.com/titles/rails3/agile-web-development-with-rails-third-edition
その本の原書第3版が出たばかりで、これは当然2系を扱っている。
(URLのrails3てのはrails ver3じゃなくて、この本の第3版という意味)
英語が気にならないならどうぞ。
0789nobodyさん
2009/03/29(日) 18:24:36ID:???2系の追加機能については最後のほうでちょこっと触れてたはず
なので、補完しながら読めば問題ない。
0790nobodyさん
2009/03/29(日) 18:36:08ID:???教えてもらえる人がいるのかいないのかで違ってくるんじゃないだろうか。
どっちにしてもリファレンス本は別に1冊あった方がいいよ。
リファレンスなら、
Railsレシピブック(ソフトバンク) ←ものすごく無難な感じ
The Rails Way(翔泳社) ←少しがっつりやりたい人向け。RSpecを使うならこれ
Ruby on Rails 逆引きクイックリファレンス(毎コミュ) ←割と実戦的
があるね。一応どれも2.0に対応してるよ。
0791787
2009/03/29(日) 18:53:47ID:Uytn6itqいま amazon を必死に眺めてますが、
「10日でおぼえる Ruby on Rails入門教室」が気になってきました。
あと少ししたら本屋に行ってこようと思います。
>>790
新規システム開発で、プロジェクトそのものは製造フェーズに入り始めたところらしい。
人が足りない&デスマになってきたのでアサインされたそうです。
まだ中身を見ていないのですが、
> Ruby on Rails 逆引きクイックリファレンス(毎コミュ) ←割と実戦的
これは逆引きとのことですが、これを使って勉強するのは、ちょっと目的が違いますか?
0792nobodyさん
2009/03/29(日) 19:56:48ID:???なるおそれがあるから、基本から予習しておいたほうがいいな。
0795nobodyさん
2009/03/29(日) 21:31:31ID:???製造フェーズに入り始めなのにデスマになりかけとはご愁傷様
リファレンスは部分部分を解説してるから、
全体が分からないときついと思うよ。
逆引き〜はいい本だと個人的には思うけど、それだけで勉強するのは無理だと思う。
「10日でおぼえる Ruby on Rails入門教室」は、
徹底してテスト駆動開発のスタンスをとってて、
Railsでの開発の基礎固めにはいいと思うよ。
デスマだとテスト駆動とか無視される可能性大だけど。
ちょっとだけどRubyの基礎みたいなものも触れてるから、
買うならはじめはそれ1冊をやるといいかもね。
欠点は
・1.2系が対象。2系との差は意外と無視できない。
違いを知らないとスキャフォールドの生成すら苦労する。
・目次が不親切。リファレンスとしては使えない
「あれやるのってどこに書いてあったっけ?」と思って後から探しても見つからない。
・広範囲にやりすぎて、まとまりがない
7,9,10日目はいらないと思う。「ゲームアプリの作成」とかいらんちゅーの。
その代わりActiveRecordとかについて、もっと突っ込んだりしてほしかった。
Rubyそのものの入門書はオライリーの「はじめてのRuby」がダントツおすすめ。
多言語の経験ある人むけだけど、Javaメインで結構あるみたいだから。
0796nobodyさん
2009/03/29(日) 22:23:24ID:???0797nobodyさん
2009/03/29(日) 23:24:14ID:???本気でRailsやってるやつは少ないと思う。過去のレス見てみ
ほとんどは趣味レベル
0798nobodyさん
2009/03/30(月) 04:15:36ID:???あとRoRなんて採用しちゃって運用も大変だと思う。
ゲームは販促上は重要。実践的ではないにしろ。
0799nobodyさん
2009/03/30(月) 08:53:57ID:???0801787
2009/03/30(月) 14:13:17ID:???本屋で「10日〜」と「RailsによるアジャイルWebアプリケーション開発」を
読み比べてましたが、2冊買ってもそこまで読む暇もないだろうということで、
「Railsによるアジャイル〜」を買ってきました。
「10日〜」のほうが読みやすそうだったのですが、 >>795 さんの言うとおり
・こっちも 1.2 系準拠だったのと、最後の方は業務で使わなさそうと思った
・scaffold や migratoin が知りたかったが、「Rails によるアジャイル〜」のほうが載ってるっぽい
・「Rails によるアジャイル〜」も、前半部分は、「10日〜」と同じようにチュートリアル形式で
勉強していけそう
「逆引き〜」は、もうすこし RonR がわかってから、必要であれば読もうと思います。
あと多少スレ違いですが、Ruby そのものの入門書は、「初心者スレ」でも好評だった
オライリーの「初めてのRuby」を買ってきました。
>>798- Ruby でデスマ
すでに加入している人に聞いたところ、いまデスマっている要因は、上流工程によるもの
(設計書が全然fixしない。こっちのヒアリングの仕方が悪いのか、顧客が無理を言っているのかはわからないけど)
だそうですが、RonR(というかRuby)経験者もほとんどいなく、1機能だけ先行して開発しているが、
これも全然うまくいっていないそうです。
上流工程がうまくいっていなくても、開発に入った段階でリスクが少ない技術を
選んでいれば(自分だったら Java になりますが)、ある程度リスクや工数を読めますが、
今の状態だと、開発に入ってからも全然安心できない、と言っていました。
余談ですが RonR を指定してきたのは顧客だそうです。
# それを言い訳にしたいというわけではない。あきらかに案件に RonR が合っていないのならば
# 顧客にそういうべきだし、そもそも自分たちが RonR でやれる自信がないのであれば
# 受注しないほうがいい
まぁこれを機に RonR が覚えられればと思って、大変そうだけどがんばろうと思っています。
0802nobodyさん
2009/03/30(月) 15:50:15ID:bIKocM1Vちょっと勘違いしてないか?
テキストエリアの値が空文字でDBに保存さてれるのは、未入力の場合該当パラメータが空文字で送られてきてるから
該当カラムの値をnilにして保存すればDBにはNULLが格納される
なぜ未入力が空文字で送られてくるのかというと、そのほうが色々都合がいいから
・nilを許可する場合、メソッド実行前にnilチェックが必要になる
・空で更新されたのか、本当にNULLなのか見分けがつかない
・IS NULL検索時にインデックスがきかないケースが存在する
・NULLの扱いがDBの実装によって異なる
俺からしたら空白で統一されているものを、なぜわざわざ
コアをいじってまでNULLを混入させようとするのか謎なんだが
ユニーク+NULL許可というレアなケースを実現したいならなら、その場合だけ
フィルタ使ってnilに置き換えたらいいんじゃない?
0803nobodyさん
2009/03/30(月) 16:39:00ID:???↓
すまん、これよくわからん。なんのメソッドだ?
バリデーションが必要ということか?:allow_nilオプションのことだろうか。
・空で更新されたのか、本当にNULLなのか見分けがつかない
↓
実際はNULLかもしれないのに、
空が入ってくると見分けがつかないとも言える。実際混乱する。
データがWeb経由のみから入ってくるとは限らない。
たとえば、
select count(column_name) from table_name
とやると、column_nameの値がNULLの時はカウントされない。
有効なデータ件数のカウントすらつまらん条件を入れることになる。間違いのもと。
・IS NULL検索時にインデックスがきかないケースが存在する
↓
ビットマップインデックスならきく。
B-Treeの場合、カーディナリティーが重要になる。
絞り込み条件によってデータがざっくり15〜20%くらいまでは最低でも絞り込まれないと、
フルスキャンの方が速くなる。
形だけNULLにするとインデックスがきくことによって逆に遅くなったりする。
・NULLの扱いがDBの実装によって異なる
↓
Oracleあたりは両者を区別してないね。というより空白はNULLで格納される。
それと空白が都合がいいという結論とどう結びつくのかわからん。
むしろ空白だと思ってたのに、NULLが入ってましたなことになるんだぞ。
where column_name = '' とかやっても絞りこまれんぞ。
Web系は特にDBまわりの扱いがおおらかすぎ。データが汚いと余計な苦労が増える。
0804nobodyさん
2009/03/30(月) 16:40:11ID:???↓
形だけNULLを空白にするとインデックスがきくことによって逆に遅くなったりする。
0805nobodyさん
2009/03/30(月) 17:32:33ID:???できれば YAML, 配列, ハッシュなどで記述できると嬉しいです。
0807nobodyさん
2009/03/31(火) 00:58:24ID:1AlmVzbDsalable_itemsが見つからないと怒られます
コントローラに、@products = Product.find(:all, :order => "date_available desc")
のように記載すると動作します。
アクセス修飾子等考えたのですがわかりません、何が原因なんでしょう?
Railsは2.1を使っています。
class StoreController < ApplicationController
def index
@products = Product.salable_items
end
end
class Product < ActiveRecord::Base
def self.salable_items
find(:all, :order => "date_available desc")
end
end
0808nobodyさん
2009/03/31(火) 01:23:58ID:???モデルはそれで全部なの?実際にブラウザで確認した結果、そのエラーが出たのかな?
0809nobodyさん
2009/03/31(火) 01:42:31ID:oWRq8GzNブラウザで確認した結果上述のエラーがでました。
モデルでは、入力された値のチェックを行っていますが
StoreコントローラではProductに入力は行われないので省きました。
情報を書ききれてなくて申し訳ないです。
0810nobodyさん
2009/03/31(火) 01:48:09ID:???コード的には間違ってないと思う。(salableはsellableのような気がするけど)
0811nobodyさん
2009/03/31(火) 02:08:55ID:???暇だからproductsテーブルを作って試してみたが普通に動くよ。
CentOS5.2、Ruby1.9.1、Rails2.3.2。
コントローラで元の「@products = Product.all」をコメントアウトしたけど、
コメントを入れ替えれば挙動も当然かわる。
推測ではモデルのほかの部分が問題なんじゃないだろうか。
可能な限り情報を出さないと、ほかの人間からは分からないと思う。
自分では問題ないと思ってる部分が問題なことは多いからね。
***** おれが試したソース *****
コントローラ(一部、変更部分は完全コピペ)
def index
# @products = Product.all
@products = Product.salable_items
respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @products }
end
end
モデル(全部、完全コピペ)
class Product < ActiveRecord::Base
def self.salable_items
find(:all, :order => "date_available desc")
end
end
0812nobodyさん
2009/03/31(火) 02:23:02ID:???0814nobodyさん
2009/03/31(火) 13:01:11ID:ZMAhYizeviewからcontrollクラスのメソッドを使うことってできないのでしょうか??
例えば、ApplicationControllerクラスに現在自分がログインしているユーザーのIDを取得するメソッドを定義しておいて、それをviewから使いたいようなことがあると思うのですが、どうするのがベストなのでしょう??
教えて頂けると幸いです。
0815nobodyさん
2009/03/31(火) 14:53:49ID:???0816nobodyさん
2009/03/31(火) 15:01:58ID:???current_user.id みたいにヘルパで取れる
0817nobodyさん
2009/03/31(火) 18:35:45ID:???@hoge = now_login_user
みたいにインスタンス変数に入れておけばViewで以下のように使える
<= @hoge >
0818nobodyさん
2009/03/31(火) 19:09:06ID:???0819809
2009/03/31(火) 21:29:42ID:???文法的にはあっているということでまるまる書き直してみたら動きました。
有難うございます。
0820nobodyさん
2009/04/01(水) 03:46:07ID:i7k4rzu/・nilチェック
アプリケーション層の話だな。フォームの未入力項目がnilでくるなら、
カスタムバリデーションを書くときになどに、常にそれを想定して
メソッドを呼び出す前にnilチェックをする必要がある。
空文字でくるなら、その必要がない(不正なデータなので例外で一括キャッチできる)
・count
NULLを表すデフォルト値を省くのがそれほど複雑な条件とは思えないし、
明快さを望むなら有効/無効を表すフラグを持てばいいかと
・NULLの扱い
意図としては、アプリ層のロジックがDBの実装に依存するのはいやよネーという話だったんだが
Oracleが手元にないので確かめられないけど、SQL直たたきでないfindをつかって
column_name = '' でNULLを引っ掛けられませんか?
だとすると空文字/NULLでレコードの有効無効を判断する処理はDB依存になるな・・・
面倒なorz
しかし、オブジェクト指向的(というかRuby的?)には空文字とnullが別物というのは自然なように思えるんだが、
DBな人にはそうでもないんだろうか
0821nobodyさん
2009/04/01(水) 09:51:57ID:???0822nobodyさん
2009/04/01(水) 12:02:24ID:???オラクルは古いDBというのもあって負の遺産も引きずってるからな。
長さゼロ文字列とNULLは今後区別するかもしれません、
と何年も言ってるが影響がでかすぎて一向に変わらん。
たぶんずっと変わらないと思う。その点Railsはやりたい放題だよなw
0823nobodyさん
2009/04/01(水) 14:41:12ID:???ttp://d.hatena.ne.jp/tsuyoshikawa/20090325/1237977001
を見つけたのですが、こういうやり方が正解なのでしょうか?
0824nobodyさん
2009/04/01(水) 15:06:34ID:???0825nobodyさん
2009/04/01(水) 16:29:41ID:???0826814
2009/04/01(水) 19:55:35ID:TXtYORpdすいませんもう一個質問させてください。
Sampleモデルクラスのオブジェクトが入っている配列 arr からSampleクラスがbelongs_toしているTestモデルクラスのオブジェクトを配列の要素ごとに全て得たい場合は、
arr2 = []
arr.each do |v|
arr2 << v.test
end
みたいにループ文を回して取得するしかないのでしょうか??
arr2 = arr.ほにゃらら
みたいな形式で取得できたら便利だなーと思うのですが・・
0827nobodyさん
2009/04/01(水) 21:39:09ID:???ちょっと暗号じみてるけど、これは
arr2 = arr.collect {|v| v.test }
と同じ。collectはmapと書いてもいい。
0828nobodyさん
2009/04/01(水) 22:11:54ID:???arr2 = arr.collect{|v| v.test}.flatten
じゃないかな。違ったらごめん。
Smalltalkを習ったので、俺もcollect派。
BagやSetが時々欲しくなる。
0829nobodyさん
2009/04/01(水) 23:05:43ID:???モデルにカスタムのバリデーションを追加する手段はちゃんと提供されてる。
コントローラーは振り分けを行ったり、全体の制御を行うところ。
こんなごちゃごちゃのめちゃくちゃにするなら、
最初からRailsなんて使わなきゃいいのにと思う。
0831825
2009/04/02(木) 09:29:35ID:???ありがとうございます。了解しましたー。
モデルにカスタムのバリデーションを追加する情報 ( ドキュメント ) なりを教えてもらえませんか。。。
0832nobodyさん
2009/04/02(木) 10:25:19ID:???つvalidate
つvalidate_on_create
つvalidate_on_update
0834nobodyさん
2009/04/02(木) 14:47:58ID:???ttp://journal.mycom.co.jp/news/2008/02/08/019/index.html
そういった Rails で作られたソースの公開されているアプリやプラグインをご存じありませんか?
0835834
2009/04/02(木) 18:14:31ID:???0836nobodyさん
2009/04/03(金) 19:47:58ID:???あるフィールド(複数の場合も)からの計算結果を表示したいとき、
メソッドはモデルに置くのとビューのヘルパーに置くのと、どちらが適当なのでしょうか。
例えば、purchase_dateという日付のフィールドがあるとき、
どこまで正確なのかを表すのにpur_date_qualというフィールドにY, M, Dの
どれかを入れておいて、Yなら年だけ、Mなら月までを表示させたいとき、
このメソッドはモデルとヘルパーとどちらに属すのでしょうか。
モデルに置いた場合は他のデータベースでもよくある計算フィールドのイメージで、
オブジェクト指向的にはこちらが正解のような気がするのですが。
0837nobodyさん
2009/04/03(金) 21:12:20ID:0BZVS1Kz面倒くさそうならヘルパ使うかなー
0838nobodyさん
2009/04/03(金) 23:11:23ID:gpEgAnUB糞重くて仕方ないです。どうしたらよくなるのか運営に言いたいんですが
0839nobodyさん
2009/04/03(金) 23:13:07ID:???0841nobodyさん
2009/04/04(土) 02:22:46ID:???しかもどこもそこそこ盛況なようで結構なことですな
うちの会社の自社サービスなんて2年たって会員数2桁ですよwww
マネージャは冷や飯くらったらしい
0842nobodyさん
2009/04/04(土) 03:25:38ID:???0844nobodyさん
2009/04/04(土) 15:01:46ID:???>>828
ありがとうございます。どちらでもできました。
また、疑問ができてしまたのですが、
arr2 = arr.collect(&:test)
の:testの前の&はなんでしょうか??
http://www.ruby-lang.org/ja/man/html/_A5AFA5E9A5B9A1BFA5E1A5BDA5C3A5C9A4CEC4EAB5C1.html#a.a5.e1.a5.bd.a5.c3.a5.c9.c4.ea.b5.c1
ここらへん見るとproc辺りが関係してるのかと思うのですが、そもそもブロックが定義されてない??
railsっていうよりrubyの質問っぽいですが、教えていただけると幸いです><
0846nobodyさん
2009/04/04(土) 16:08:10ID:???0847nobodyさん
2009/04/04(土) 17:06:49ID:???そのときどういうブロックに変換されるかを、引数(今回はSymbolである:test)の#to_proc
メソッドで定義できる。
http://www.ruby-lang.org/ja/man/html/_A5E1A5BDA5C3A5C9B8C6A4D3BDD0A4B7.html#a.a5.d6.a5.ed.a5.c3.a5.af.c9.d5.a4.ad.a5.e1.a5.bd.a5.c3.a5.c9.b8.c6.a4.d3.bd.d0.a4.b7
0850nobodyさん
2009/04/05(日) 00:59:52ID:???あと,ショートカットキーで入力フォームを行き来したりするのはHTMLだと難しいと思うんですが,
そういうインターフェース面はフォームのボタンをマウスでクリックしてもらうしかないのでしょうか?
0851nobodyさん
2009/04/05(日) 02:09:32ID:???0852nobodyさん
2009/04/05(日) 03:14:38ID:???つーかRoR関係ないだろ。
http://pc11.2ch.net/test/read.cgi/php/1025346267/
Webアプリで帳票印刷
0853nobodyさん
2009/04/05(日) 20:17:58ID:???autotest + rspec + ($KCODE = "u") + cygwin(UTF-8化) + ck.exe(or Poderosa)
rspecのログがUTF-8で流れてくるので、UTF-8のcygwinターミナルを使っているのですが、
autotestを実行時に Ctrl+C でautotest自体が終了してしまいます。
Ctrl+Cではテストの再実行を期待しています。
ただ、コマンドプロンプトでautotest実行した場合は、Ctrl+Cで期待通りテストが再実行されます。
(通常、終了は Ctrl+C→Ctrl+Cですよね。コマンドプロンプトでは期待通り)
autotestでイベント時にサウンドを鳴らすようにしているのですが、cygwinターミナルからだと、
autotest終了音がやはりなりません。
これはどういった対応策がとれるものでしょうか?
Windowsやその他の環境の皆様はどうしておられますか?
もし、他に該当スレがあれば誘導してください。
0854nobodyさん
2009/04/05(日) 20:35:25ID:a/bIl6WE<a href="http://sample.com/aaa/bbb/">http://sample.com/aaa/bbb/</a>
うまい書き方はないでしょうか??
第一引数で指定する部分が :controller とか :action で指定するものと重複するので、なんとか省略できないのかと思っているのですが・・
0855nobodyさん
2009/04/05(日) 22:48:27ID:???WindowsのコマンドプロンプトでUTF-8を表示する方法がある。
>>854
そういうヘルパを書けば良いだけでは。
link_toの第一引数が無くて、中ではurl_forを使うやつ。
0856nobodyさん
2009/04/05(日) 23:00:04ID:???link_to は第一引数に nil 渡すとURL文字列にリンク張ってくれるよ。
<%= link_to nil, :controller => :foo, :action => :index, :only_path => false %>
0857nobodyさん
2009/04/05(日) 23:08:02ID:J2cktlykどうも form の Submit 先の URL が 「/shops/1/items」 みたいに「new」とかがない状態で生成されるからみたいなんだが、これってどうすればよい?
単純に redirect_to してしまうと Validation のエラーメッセージが消えてしまうし・・・。
0858nobodyさん
2009/04/05(日) 23:50:04ID:???そういえばみんなどうやってるのか気になるな。
自分は普段こんな感じ
エラー時はリダイレクトじゃなくてrender :action => アクション名で表示する
class SampleController < ActionController
def new
@shop = Shop.new
end
def create
@shop = Shop.new(params[:shop])
unless @shop.valid?
render :action => :new
return
end
@shop.save
# 次の画面へリダイレクト
end
end
0859nobodyさん
2009/04/06(月) 00:08:52ID:???確認画面入れるといろいろと面倒なんだよね。
IEだと入力画面でAjax使って入れた値が消えてくれたりとか。
自分なら、
render :action => :new and return unless @shop.valid?
と1行で書くかな。
0860nobodyさん
2009/04/06(月) 00:32:13ID:???あ、社内で使う管理画面は確認画面ない場合もあるけど、
実務ではほとんど確認画面あるよ。
その場合は、ボタンに名前(submitのname)付けて対応してる。
new -> confirm -> createという3画面の場合はこうかな。
# 確認画面
def confirm
@shop = Shop.new(params[:shop])
# 入力画面に戻る
if params[:btn_back]
render :action => :new
return
end
# 登録
if params[:btn_next]
# エラー時入力画面へ
render :action => :new and return unless @shop.valid?
return
# 保存して完了画面にリダイレクト
@shop.save
redirect_to :action => :create
end
end
0861nobodyさん
2009/04/06(月) 04:20:31ID:???RESTを厳密に適用していくと、URIは(人間系の)画面表示から独立したものとして扱われていくような気がする
アンカーのON/OFFは人間系の処理なので、URIからどうこうするのは無理が出てくるのではないかと思う
つーか、routeの別名からアクセスしただけでも動かなくならね?的な柔軟性のなさが使えなさすぎるw
リダイレクト時のvalidation結果保持は俺も欲しいのよね・・・
エラーメッセージだけとかデータ量が小規模ならやりようがないこともないけど
リダイレクト時にエラーメッセージをあらかじめレンダリングしておいてflashで渡したりとか、シリアライズしたバリデーション結果をflashで渡したりとか
データ量が多い場合は使えないから、システム全体の統一感が崩れるのでやらない
POSTリダイレクトとかできんかなとも思った
0863nobodyさん
2009/04/06(月) 14:49:19ID:eCZIYZ8I0864nobodyさん
2009/04/06(月) 19:01:32ID:???2.1.x や 2.3.x をいろいろとダウンロードしても
・起動時、セキュリティの警告が出る
・気にせず開いても「Web ページへのナビゲーションは取り消されました」と出る
・ただし目次、キーワード、検索は動く
という感じ。
rubymanjp.chm は問題なく動くのだけど。
0865nobodyさん
2009/04/06(月) 21:25:24ID:???rails:2.1.0
でやってるんだけどto_dateって使えないの?
ググったら1.8.6だとprivateメソッドで定義されて〜
とか書いてたけどto_datetimeやto_timeとかもundefind methodになる…
0866nobodyさん
2009/04/06(月) 22:08:52ID:???irbで試したけど、2.3.2では使えてる(Rubyは1.8.7-p72)。
require 'rubygems'
require 'activesupport'
"20090406".to_date
0867865
2009/04/06(月) 23:47:30ID:???制作済みの社内アプリ全部2.1.0なんだよなぁ…
http://wiki.fdiary.net/rails/?AdjusterExtension-0001
に書いてる
unless @schedules.map {|s| s.schedule_date.to_date }.include?(date)
cell_text << link_to("New", :controller => 'schedule', :action => 'new', :id => @event, :date => date)
end
の部分で詰まってる。
to_dateじゃなくても出来そうな気がするんだけど。
もうちょい頑張って駄目だったら諦めて2.3.2にするよ。
0868nobodyさん
2009/04/07(火) 01:31:04ID:???0869nobodyさん
2009/04/07(火) 06:41:24ID:???0870nobodyさん
2009/04/07(火) 06:55:15ID:???>>868-869のいうようにしたらいいと思うよ。
ActiveSupportのソース見ろって言われても分からないかもしれないから説明すると、
・gem install railsで2.3.2を入れる
・gem serverコマンドを実行してからhttp://localhost:8808にアクセス
・activesupportのrdocを見る
・Methodsのところにメソッド一覧があるからto_dateで検索
ActiveSupport::CoreExtensions::Time::Conversions
ActiveSupport::CoreExtensions::String::Conversions
あたりのto_dateのソースを見る(メソッド名のリンクをクリックするとソースが見れる)
ソースを自分のプロジェクトに使う時は、environment.rbの一番下でとりあえず定義すればいいと思う。
(他にもプラグインにするとか方法あるけど説明が面倒)
↓これはActiveSupport::CoreExtensions::Time::Conversionsのto_dateの例
irbでもコピペすれば動くよ
require 'date'
class Time
def to_date
::Date.new(year, month, day)
end
end
Time.now.to_date
0872nobodyさん
2009/04/07(火) 08:47:39ID:BAwL1OSs0873nobodyさん
2009/04/07(火) 11:19:37ID:???>>864
よくある話で、IEでchmをダウンロードするとそうなるかも。
chm右クリックでのプロパティでセキュリティのチェックをはずすかつけるかするとみられるはずですよ。
0874853
2009/04/07(火) 11:22:41ID:???> WindowsのコマンドプロンプトでUTF-8を表示する方法がある。
MSゴシックで、chcp 65001するやつですよね。
chcp 65001すると、何故か、autotestコマンドが動かないんですよね…。
何も出力されずに終了してしまう。chcp しないとちゃんと動く
うーん…
0875853
2009/04/07(火) 11:33:13ID:???0877nobodyさん
2009/04/07(火) 11:46:08ID:???エクスプローラーから、そのchmファイルのプロパティ出して
セキュリティの項目のブロックの解除、をやる。
ダウンロードしたchmファイルはVistaではこれが必要。
0878nobodyさん
2009/04/07(火) 11:47:50ID:???0879nobodyさん
2009/04/07(火) 11:49:11ID:???なんというタイミングだw
0880853
2009/04/07(火) 12:04:33ID:???直接、
ruby (rubyインスコしたディレクトリ)\bin\autotest
としてautotestを起動したら無事に動かせました。
irbとかは chcp 65001だと日本語入力がそもそも効かずだめですねw
ありがとうございました。
0881853
2009/04/07(火) 12:18:13ID:???日本語が ・・・・・・・ と点で表示されてしまうようです。
また、いろいろ試してみます。それでは失礼します。
0882nobodyさん
2009/04/07(火) 12:29:06ID:???0884nobodyさん
2009/04/07(火) 20:33:42ID:???ありがとうございました。
to_dateはクリアできました。
で、今配列に{Sun, 19 Apr 2009=>[], Fri, 10 Apr 2009=>[],…}
ってな具合に1月分date型で入ってるんだけど
Tue, 07 Apr 2009 ←今日の日付
とinclude?するとfalseになる。
=>[]があるからfalseになるのかな?
include?って完全一致?
0885nobodyさん
2009/04/07(火) 21:01:55ID:???>> days = (('2009-04-01'.to_date)..('2009-04-30'.to_date)).inject({}){|h,d| h.merge(d=>[])}; nil
>> days.include?('2009-4-7'.to_date)
=> true
0886854
2009/04/08(水) 13:05:31ID:yKX835d9これでいけました!レスくださった方々ありがとうございましたm(_ _)m
0887853
2009/04/08(水) 14:17:09ID:???半分あきらめに近いですが、SJISの範囲内ならまあいいということで…
例としては、spec_helper.rb(rspecで共通で読み込むルーチン)に以下を追加します。
require 'kconv'
if ENV['OS'] =~ /Windows/i && ENV['TERM'].nil?
class StdoutHook
def write(str)
# STDOUT.write str.to_s.kconv(Kconv::SJIS, Kconv::UTF8)
STDOUT.write str.to_s.tosjis
end
$> = new
end
end
STDOUT乗っ取り?はMLの過去ログを参考にしましたが、もっといい方法があれば捕捉お願いします。
[ruby-list:45331] Re: Windows コマンドプロンプトで UTF-8を出力するには
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/45331
0888853
2009/04/08(水) 14:46:23ID:???---- spec_helper.rb への追加コード ----
# only command prompt at Windows
if ENV['OS'] =~ /Windows/i && ENV['TERM'].nil?
require 'kconv'
unless defined?(STDOUT.old_write_for_cmd)
class << STDOUT
alias :old_write_for_cmd :write
# override STDOUT.write
def write(str)
# old_write_for_cmd str.to_s.kconv(Kconv::SJIS, Kconv::UTF8)
old_write_for_cmd str.to_s.tosjis
end
end
end
end
0889nobodyさん
2009/04/08(水) 16:29:28ID:???現在は File.dirname(__FILE__) + "/../log" とかやっているのですが、
RAILS_ROOT + "/log" とかできるといいなーと。
0890nobodyさん
2009/04/08(水) 17:25:39ID:???rails 以外のふるーいアプリで使いたいのですが、
$ cat test.rb
require 'action_view'
collection_select(...)
$ ruby test.rb
としても undefined method `collection_select' なんて言われます。
ActionView.Helpers.FormOptionsHelper.collection_select(...
にした場合は undefined method `Helpers' for ActionView:Module と。
どうすれば rails 以外から collection_select が使えるようになりますか?
0892nobodyさん
2009/04/08(水) 21:33:38ID:???0893nobodyさん
2009/04/08(水) 22:18:15ID:???お、それは初めて知った。
今試してみたら、Rails.rootはPathnameで返って来るんだね(RAILS_ROOTはString)。
0894nobodyさん
2009/04/09(木) 00:12:20ID:Hon6X4Il現に使われている以上、負け犬の遠吠えに他ならないレスだな
http://www.grails.org/Testimonials
0895853
2009/04/09(木) 01:42:24ID:???文字化けしまくりで、
直すのやっかいそう&そろそろrails関係なさげなので、本スレの方に行ってきます。
0896nobodyさん
2009/04/09(木) 10:06:46ID:8toP/BB5もしいたらバージョンと設定方法教えてもらえないでしょうか・・・。
0897nobodyさん
2009/04/09(木) 10:55:54ID:???その頃gettextは対応してなかったので。
gettext 2.0.0 出たし、いまはどうか分からないな。
0898896
2009/04/10(金) 00:58:01ID:???レスありがとうございます。
やっぱり無理なんですかね・・・。
公式に「無理!」って情報とかってあったりするんでしょうかね・・・。
ちなみに、i18n を使う場合、メールの iso-2022-jp 周りとかってやっぱり自前になるんですか?
0899nobodyさん
2009/04/10(金) 08:58:13ID:4tZH5Ujqでも、iso-2022-jpで送信する方法は検索すればすぐ見つかるから苦労しないと思う。
0900nobodyさん
2009/04/10(金) 10:03:18ID:???RFC 違反だけど、多くのメーラで文字化けしない方法ってあるよね?
その ruby 版のコードってどこにありますか?><
0901nobodyさん
2009/04/10(金) 11:29:23ID:???ttp://code.nanigac.com/source/wiki/view_title/641/%E8%B6%B3%E3%81%97%E7%AE%97
をコピペして勉強してます。
値を入れずにボタンを押すと
undefined method `self_and_descendants_from_active_record' for Add:Class
が出ます。ググると
ttp://jijixi.azito.com/cgi-bin/diary/index.rb?date=20090317#p02
があったので、app/controllers/add_controller.rb に
def self_and_descendants_from_active_record
self_and_descendants_from_active_record
end
としてエイリアス?を用意しても変わらず。どうすれば解決するでしょうか。
0902nobodyさん
2009/04/10(金) 12:17:16ID:???0903nobodyさん
2009/04/10(金) 13:02:54ID:???0904853
2009/04/10(金) 14:04:46ID:???・win32/console/ANSIのせいで、rspecオプションに--colourつけると文字化けする
(というかstdout.writeを上書きできてない)のを修正した。
・UTF-8→SJISの変換の際に、Kconv.tosjis使うと半角カタカナが全角になったり、
MIMEが変換されたりするのを防止するためにnkf使うように修正
---- spec_helper.rb への追加コード ----
require "nkf"
# convert $stdout to sjis for command prompt at Windows
if !defined?($stdout.old_write_for_sjis_filter) &&
RUBY_PLATFORM =~ /win32/ && ENV['TERM'].nil?
class << $stdout
alias :old_write_for_sjis_filter :write
def write(str)
# change to sjis AS IS
old_write_for_sjis_filter NKF.nkf('-sxm0', str.to_s)
end
end
# puts "overrode $stdout.write"
end
何回もうざくてゴメン。たぶんこれで最後です。
0905853
2009/04/10(金) 14:05:38ID:???ぎゃーインデント崩れた。うざいのでそろそろブログの方に書きます
require "nkf"
# convert $stdout to sjis only command prompt at Windows
if !defined?($stdout.old_write_for_sjis_filter) &&
RUBY_PLATFORM =~ /win32/ && ENV['TERM'].nil?
class << $stdout
alias :old_write_for_sjis_filter :write
def write(str)
# change to sjis AS IS
old_write_for_sjis_filter NKF.nkf('-sxm0', str.to_s)
end
end
# puts "overrode $stdout.write"
end
0906nobodyさん
2009/04/10(金) 21:19:22ID:???oeとかがどうやってるか、ちゃんと生メールを見て同じように処理するのが問題が少ない。
基本的に、文字の入力はjisで行わせて無変換で送るようにしたほうが文字化けを回避できる。
最悪、utfで統一でも支障はない。
http://pc12.2ch.net/test/read.cgi/tech/1230466044/
ネットワークプログラミング相談室 Port23
http://pc12.2ch.net/test/read.cgi/tech/1235800707/
ネットワークプログラミング雑談
0907nobodyさん
2009/04/11(土) 00:35:00ID:???たぶんActiveForm使ってる?
2.2から国際化の仕組みが入ってて、そのままだとエラーになるみたい。
自分はActiveFormのコードを修正して対応したよ、以下参考に。。。
active_form.rb
class << self # 51行目くらいの所に下のコード追加
def self_and_descendants_from_active_record
[self]
end
def human_name(*args)
name.humanize
end
end
もしくはここから新しいやつ落としたほうがいいかな・・・。
ttp://github.com/cs/active_form/tree/master
0908nobodyさん
2009/04/11(土) 06:28:01ID:???http://blog.s21g.com/articles/1418
JRuby + RailsもGoogle App Engineで動くんじゃね?
0909nobodyさん
2009/04/11(土) 12:04:21ID:???0911nobodyさん
2009/04/11(土) 13:37:10ID:???0912nobodyさん
2009/04/11(土) 17:57:50ID:???JRuby on Railsも動いたみたいだね。
JRuby on Rails on Google App Engine勝手訳 - ずっと君のターン
http://d.hatena.ne.jp/technohippy/20090408/1239196300
せっかくのActiveRecord(O/Rマッパ)使えないからつらそうだけど
0913nobodyさん
2009/04/12(日) 12:14:31ID:???このキャッシュを特定のアクションでキャッシュさせない事はできるでしょうか。
Ajaxのリクエストがキャッシュされ、
前回実行時の結果がレンダリングされてしまうのを防ぎたいのですが。
0914nobodyさん
2009/04/12(日) 12:42:56ID:???Javascriptで描画した内容が元に戻るってこと?
0915nobodyさん
2009/04/12(日) 15:56:54ID:???0916nobodyさん
2009/04/12(日) 16:59:20ID:???>Rails 2.3からリクエストの結果がキャッシュされるようになりましたが
こういう認識に至ったのはどういう訳で?
0917913
2009/04/12(日) 22:23:27ID:???Rails2.3のリリースノートです。
5.8 Improved Caching Performance
Rails now keeps a per-request local cache of read from the remote
cache stores, cutting down on unnecessary reads and leading to better
site performance. While this work was originally limited to
MemCacheStore, it is available to any remote store than implements
the required methods.
実際にどういう箇所で問題が起きているかというと、モーダルです。
1. モーダルをAjaxで開く
2. モーダル内で何か操作を実行(モーダル内のHTMLがAjaxで書き換えられる)。
3. モーダルを閉じる
4. モーダルを再び開くと、2.の結果がそのまま表示される
という状態です。
こちらとしては、モーダルを開いたら初期状態でモーダルの内容が
表示されて欲しい訳です。
Rails2.2まではその通りの動作でした。
しかし、Rails2.3に上げた所、
モーダル操作後の結果がキャッシュされるようになってしまいました。
4. の再びモーダルを開く際には、モーダルが開いてもコンソールログは出ません。
なのでリクエスト自体がキャッシュされていると思います。
0918913
2009/04/12(日) 22:33:52ID:???少し自分で2.3.2のソースを読んでみようと思います。
お騒がせしました。
0919nobodyさん
2009/04/12(日) 22:42:03ID:???キャッシュされているというのは推測みたいだし。
Parosとかのパーソナルファイアーウォールを使えばリクエストもレスポンスもキャッチできる。
0920nobodyさん
2009/04/12(日) 22:43:11ID:???↓
ローカルプロキシ
間違えた・・・
0921nobodyさん
2009/04/13(月) 01:17:43ID:???remoet cache storeの例にMemCacheStoreが挙げられているから、
localってのはRails Framework側で持ってるcache storeのことなのかな。
0922nobodyさん
2009/04/13(月) 03:33:44ID:Mmo44XLBそもそもモデルクラスでlink_to使おうとするのは邪道でしょうか?
教えていただけると幸いです。
0923nobodyさん
2009/04/13(月) 06:44:46ID:???0924nobodyさん
2009/04/13(月) 07:48:49ID:???タイトルくらい貼ろうぜ
Twitter、Ruby on RailsからScalaへ - スラッシュドット・ジャパン
http://slashdot.jp/developers/09/04/10/0421223.shtml
Twitter は Ruby on Rails で構築されたそのインフラを徐々に Scala に置き換えているそうだ (Technology Review の記事, 本家 /. 記事) 。
Twitter ではフロントエンド、バックエンド共に Ruby on Rails が使われていたが、
最近では大量のメッセージを処理できず「Fail Whale」出現の原因となったりしていた。
このため Twitter の開発チームは代替言語として Scala を採用、少しずつバックエンドや
インフラを Scala に置き換えているそうだ。スイス連邦工科大学ローザンヌ校の
Martin Odersky 氏によって開発された比較的新しいプログラミング言語である Scala は
並列プロセスの処理に長けている点が Twitter に向いており、
また言語としてのフレキシビリティも開発にとっては魅力とのこと。
短所としては、機能も多く、シンタックスも見慣れた感じでは無いため習得が簡単ではないことと、
新しい言語であるため実績がまだ少ないことだという。
それでもTwitterでは多くのテストケースを成功させており、Scala の方がメリットが多いと考えているようだ。
開発チームはフロントエンドは Ruby on Rails のまま、
年内には API リクエストの一連の処理を Scala で行えるようにしたいとしている。
0925nobodyさん
2009/04/13(月) 08:37:28ID:???0926nobodyさん
2009/04/13(月) 10:33:52ID:???あと、計算なら C でもいいし。
フロント部分が Scala/C はありえんけど。
言語は使い分け。
0927nobodyさん
2009/04/13(月) 11:40:40ID:???そんなケースはほとんどないとか言われたな。そういう考えのやつも多いのだろう。
0928nobodyさん
2009/04/13(月) 19:37:14ID:???そのうちscalaフレームワーク公開してくるかもな。
>フロント部分が Scala/C はありえんけど。
CはともかくScalaはrubyと比べても良い言語だし、ありえないことは無い。
0929nobodyさん
2009/04/13(月) 20:45:25ID:???add column after hoge
をやりたいのですが、afterに相当する機能がないっぽいです。クエリべたっと書けばできますが、スマートな方法はないでしょうか?
0930nobodyさん
2009/04/13(月) 21:34:04ID:???特定のDBMSに依存する処理は素直にSQL書くのがスマートだと思うよ。
add column afterがDBMSとして一般的な機能でRailsがサポートしていないなら
プラグインを作る価値はあると思うんだけど、MySQLだけとかだったら
やっぱり直接SQLを書いたほうが誰が見ても分かりやすい。
0931nobodyさん
2009/04/13(月) 22:23:22ID:???抽象化したほうが、DB変わった場合の環境でも手直しは少ないと思うけどな。
0932nobodyさん
2009/04/16(木) 02:18:06ID:???損の方が多い。
0933nobodyさん
2009/04/16(木) 10:11:07ID:???0934nobodyさん
2009/04/16(木) 19:02:58ID:RLOaA3va/aaa/30000/bbb/ccc
というURLにリクエストが来たとき、
30000というidを取得しつつ、
aaaコントローラのbbb_cccアクションが呼ばれるようにしたいのですが、そういったことは可能でしょうか??
0935nobodyさん
2009/04/16(木) 19:42:35ID:???「Rails によるアジャイル〜第二版」を読みながらやっているのですが、さっそくはまった。
1. rails depot
2. (DB作成)
3. nruby script/generate model product
4. rake db:migrate
5. ruby script/generate controller admin
ここまで実行し、本のP.62 の通り、admin_controller.rb において
class AdminController < ApplicationController
scaffold :product
end
と修正して、mongrel を立ち上げてブラウザで
http://localhost:3000/admin にアクセスしたのだけど、
NoMethodError in AdminController#index
と出る。products テーブルの CRUD 画面が出ないのですが、
どうしたらいいのでしょうか。
http://d.hatena.ne.jp/idesaku/20071211/1197386955
にあるように、以下のようにやらないといけないのですか?
ruby script/generate scaffold モデル名 テーブルにあるカラム
すでに 上記 3. と 4. で、空のモデルクラスとテーブルは出来ているので、
AdminController を直すだけには出来ないのでしょうか?
0936nobodyさん
2009/04/16(木) 19:47:12ID:???0937935
2009/04/16(木) 19:57:36ID:???def index を追加し、app/views/admin/index.html.erb を作成すれば、
ブラウザでアクセスすれば、ページが表示されますが、それは CRUD 画面ではなく、
本の第4章の、Hello, Rails と同じですよね。
>>935 で示した hatena と同じように、別モデル(person)を
ruby script/generate scaffold person .....
としたら、自動生成された people_controller.rb には、結構な量のソースが生成されたのだけど、
Rails 2.0 からは、コントローラに scaffold と1行書けばよい、というやり方は廃止になった、ということ?
0938nobodyさん
2009/04/16(木) 21:01:57ID:???Railsは変化が激しいから本と違うバージョンでやらない方がいいと思うよ。
1.2からはスキャフォールド生成の手順からして変わってる。
0939nobodyさん
2009/04/16(木) 21:03:03ID:???0940nobodyさん
2009/04/16(木) 21:37:52ID:???http://yoshitan.blog6.fc2.com/blog-entry-194.html
1.2系とはちょこちょこ変わっているので2.x系の手順でできているなら、些末なところには拘らない方がいいと思う
最悪active_scaffoldでも代替できるしね
0941nobodyさん
2009/04/17(金) 00:36:24ID:???ソースから見せたくないのだ
0942nobodyさん
2009/04/17(金) 00:52:39ID:???0943nobodyさん
2009/04/17(金) 01:01:29ID:???質問してはその後まったくレスのないやつが多いな
0944nobodyさん
2009/04/17(金) 01:55:27ID:???0945935
2009/04/17(金) 02:31:23ID:???レスどうもありがとうございます。
底や別のページを見て、Rails 1.2 系が持っていた scaffold 機能は 2.0 系でなくなったと理解しました。
scaffolding や ActiveScaffold を入れれば 2.0 でも1.2 系のことが出来るそうですが、
ややこしいので、ひとまず 別環境に Rails 1.2.6 を入れて、そっちで勉強することにしました。
もう一つグチ。「Rails によるアジャイル〜」の本で、(正確なページ数は忘れたが) P62 ページの後、
足りないカラム(price カラム)を足す演習がありますが、
Rails 1.2 系だと、rake db:migrate でカラム出すだけで、scaffold の画面をリロードするだけで
増えたカラムが画面に反映されるが、
Rails 2.0 で、>>935 に書いた
$ ruby script/generate scaffold モデル名
を再度実行しても、そもそも Contoroller や views/admin 以下の *.html.erb に
CRUD を行う HTML がべた書きされてしまっているため、増えたカラムが反映されない。
結局テーブルをドロップして、scaffold をやり直した。
どうして Rails 2.0 系は scaffold を廃止したのだろう?
※
といいつつ、よほどイントラ向けでユーザもうるさくない場合以外は、
業務ではscaffold なままの web アプリは使わない、と同僚からツッコミがあった。
0947nobodyさん
2009/04/17(金) 14:31:56ID:???0948nobodyさん
2009/04/17(金) 15:03:11ID:???0949nobodyさん
2009/04/17(金) 21:21:58ID:???0950nobodyさん
2009/04/17(金) 22:57:15ID:???自分もRailsに慣れるとscaffoldは使わない事が多くなってくるので、
scaffoldに固執しないほうがいいと思う。
基本的な流れというか使い方を覚えたら、
最新版のRailsで何か作るほうがいいんじゃないかな。
当然、バージョンが違う事で詰まる部分があるんだけど
ググったり、このスレで聞いたりすればなんとかなる。
0951nobodyさん
2009/04/18(土) 01:28:25ID:???generateで作るやつがあるが、後者は2系でも普通にある。こっちはRESTful
なリソースを公開しようとすると、なんだかんだ言って基本的な骨組みは
scaffoldのものが使えたりする。
0952934
2009/04/19(日) 20:26:48ID:GcnrJHDf0953nobodyさん
2009/04/19(日) 21:43:31ID:???map.connect ':controller/:id/bbb/ccc', :action => 'bbb_ccc'
0954nobodyさん
2009/04/19(日) 21:44:38ID:???map.connect 'aaa/:id/bbb/ccc', :controller => 'aaa', :action => 'bbb_ccc'
のほうがいいか。
0955952
2009/04/20(月) 01:59:43ID:PwSyAV4m0956nobodyさん
2009/04/20(月) 10:04:09ID:???あるページにジャンプする際に、非ログイン状態だと403を返すようにしたいのですが、
これはどこにコードを記述するべきでしょうか?
0957nobodyさん
2009/04/20(月) 14:25:50ID:???restful authenticationつかってない?
0958nobodyさん
2009/04/24(金) 20:51:26ID:/YVXcJLc(User.find 133).friends(:all, :conditions => ["age = ?", 20])
こんな感じのことをしたいのですが、どうすればいいでしょうか。
(.friendsでは配列が返ってくる・・)
なんかうまい書き方があったら教えていただけると幸いです><
0959nobodyさん
2009/04/24(金) 21:08:16ID:???0960nobodyさん
2009/04/24(金) 21:37:48ID:???class Friend < AR::Base
named_scope :of_age, lambda {|age| { :conditions => [ 'age = ?', age ] } }
end
User.find(1333).friends.of_age(20)
0961nobodyさん
2009/04/24(金) 22:21:15ID:???:conditions に ハッシュを渡せば 各キーが AND で結合されますが、
product = Product.find(:all,
:conditions => {
:price => 1000,
:kubun => [6, 7, 8]}
)
select * from products where price = 1000 and kubun in (6, 7, 8)
key > value とかはできまませんか?
以下のような(在庫数が 10 以上 20 以下)SQL を実行させる Ruby コードを書きたいです。
10..20 として between を使いたいところですが、画面側で 10以上 だけしか指定されない場合があるため、使えません。
select * from products where price = 1000 and kubun in (6, 7, 8) and zaiko > 10 and zaiko < 20
0962nobodyさん
2009/04/24(金) 22:38:10ID:???args = [ 1000, [6,7,8, 10] ]
if upper
conditions += ' AND zaiko < ?'
args << upper
end
find(:all, :conditions => [ conditions, *args ])
0963nobodyさん
2009/04/24(金) 22:38:51ID:???0964nobodyさん
2009/04/24(金) 22:55:22ID:???やはり :conditions にハッシュを渡す方法じゃなく、
:conditoins => 配列 のやり方
(配列の第一要素が SQL の文字列、第二要素以降がバインド変数のパラメータ)
じゃないとできないですか。
その方法でやってみます。
0965nobodyさん
2009/04/24(金) 23:32:47ID:???:conditions => [ 'price = :p', { :p => 1000 } ] とも書けるな。
0966nobodyさん
2009/04/25(土) 00:01:47ID:???その15コがそのまま SQL のパラメータになるんだけど、session オブジェクトをそのまま ActiveRecord のモデルのメソッドに
渡してもよい?
それとも何か Condition クラスを作り、そこに詰めてからモデルに渡すべき?
Java 的発想だと、Http 層を 永続化層に持って行くのはよくないので、なんらかのオブジェクトに詰め直してから
渡しますが、Rails でもそうしたほうがいいでしょうか。
session はハッシュなので、そのハッシュから部分的なハッシュを作り直し、ハッシュ渡しにしようかと思いましたが、
入力項目が多いので、抜けがあると間違いの元なので、単独の Condition クラスを定義しようと思っています。
0967nobodyさん
2009/04/25(土) 07:37:56ID:???最初からConditionオブジェクトに詰めて永続化しておき、Sessionでは
参照キーだけを持っておくという形にする気がする。
0968nobodyさん
2009/04/25(土) 13:09:16ID:???Railsでは詰めなおしてもあまり意味ないかも。
入力項目のチェックはActiveRecordがするんだし。
0969nobodyさん
2009/04/25(土) 13:27:35ID:???標準のrspecとmock、stubとどう違ってくるんでしょ
0970nobodyさん
2009/04/25(土) 16:44:24ID:???テーブルとモデルを1:1で紐づけるのがactive recordパターン
テーブルとモデルをn:nで紐づけるのがdata mapperパターン
Webはフォームの入力項目 ≒ テーブルなのでactive recordパターンが広く使われている
なので、sessionでもつハッシュの構造はDBにあわせた方がベター
それができない場合は、モデルにハッシュ構造の変換処理を書くのが作法
ARにもバリューオブジェクトあるけど、ちょっと用途が違う気がする
0971nobodyさん
2009/04/25(土) 23:25:28ID:???凝った検証処理が必要ないなら Hash#assert_valid_keys でチェックしてから Hash#slice で切り出して渡すかな。
0972nobodyさん
2009/04/26(日) 05:03:44ID:???アップロードした画像をリサイズしてくれたり、ファイル一覧をサムネイルで表示してくれたり、
選んだの削除できたり
そういうステキなのキボン
0973nobodyさん
2009/04/26(日) 14:44:10ID:ZTlDJFDt作ってくだ(ry
0974966
2009/04/26(日) 18:58:31ID:???結論としては、session オブジェクトをモデルのメソッドに渡すのをやめ、
新規に condition オブジェクトを作ることにしました。
>>970
今回のケースでは、
画面の入力項目はそのまま SQL のパラメータになるけど、モデル(テーブル)の属性にはならないのです。
>>961 (これも自分なのだが) のように、商品マスタの price が ○円以上○円以下で、kubun が■or■で・・・・といった条件が延々と並ぶ。
だからモデルクラスはそのまま使えませんでした。
>>971
ruby リファレンスマニュアルの hash をみたところ、assert_valid_keys や slice というメソッドはありませんでした。
これは自分で特異メソッドとして定義せよ、ということ?
0975nobodyさん
2009/04/26(日) 19:04:34ID:???http://api.rubyonrails.org/classes/ActiveSupport/CoreExtensions/Hash/Keys.html#M001164
0976nobodyさん
2009/04/27(月) 16:33:28ID:ty2d5Btl>>960
ありがとうございますm(_ _)m
すいません他にも質問したいことができました。
if true
User.friends
elseif
User.parents
else
User.childern
end
のような処理をしたいとき、
User.xxx のxxxの部分を変数みたいにして、条件分岐なしで一行で書くことはできないでしょうか??
ご教示いただけると幸いです。
0977nobodyさん
2009/04/27(月) 20:17:33ID:ty2d5Btlif x='friends'
User.friends
elseif x='pearents'
User.parents
else x='children'
User.childern
end
を一行で書けないか・・みたいな感じです。
0978nobodyさん
2009/04/27(月) 20:24:34ID:???0979nobodyさん
2009/04/27(月) 20:26:28ID:???User.method(x).call
0980nobodyさん
2009/04/28(火) 00:13:18ID:???現在、items(仮)というテーブル(id, name)からnameを条件にレコードを検索し、
will_paginateを使用して表示している機能があります。
その機能を、検索条件との「完全一致」「前方一致」「部分一致」の順に並び替えたいのですが、
なにかいい方法はないでしょうか…?
複雑なSQLを書けばいけるとは思いますが、何か他に方法がないか模索してします。
0981nobodyさん
2009/04/28(火) 01:29:09ID:???Item.find_by_sql <<SQL
SELECT * FROM (
SELECT 1 AS sort_key, * FROM items WHERE name LIKE "aaa"
UNION SELECT 2 AS sort_key, * FROM items WHERE name LIKE "a%"
UNION SELECT 3 AS sort_key, * FROM items WHERE name LIKE "%a%") ORDER BY sort_key ASC
SQL
とか。(てきとう)
トータルの該当検索件数が大したことないなら、
それぞれの一致方式で個別にfindした結果を連結し、そいつに、
will_paginateが必要とするメソッドを特異メソッドとして実装するという手もある。
(total_pages, current_page, previous_page, next_pageメソッドを定義すればいい)
あと、likeの引数に任意の外部入力文字列を安全に埋め込むのは結構面倒だと思うのでがんばって。
0982nobodyさん
2009/04/28(火) 03:22:51ID:???そのままだとaaaというnameを持つitemが3つのselectそれぞれから出てくるな。
要distinct?
0983nobodyさん
2009/04/28(火) 06:13:49ID:N2IsGKnPユーザ毎にカード型データベースを持たせたいと思っています。
自由にフィールド数を定義でき、入力フィールドも並び替えできるようにしたいと
思ってます(イメージ的には簡易的なデヂエみたいなの)
そこで質問ですが、ユーザ操作でtableを生成することはrails的作法で有りなのでしょうか?
ある程度入力値にルールを設けたいので、validateほにゃららを定義できれば..と
欲張っているんですが、modelに手をいれる必要がありますよね?
generatorとして作らないといけないのでしょうか?
0984nobodyさん
2009/04/28(火) 11:26:55ID:???1.ページごとのレコードをDBで絞り込んでRailsで表示させる
2.該当のレコードをすべて取得してRailsで表示させる
のどちらかだと思う
「1」はDB依存だからどのDBを使ってるかで答えは変わる
「2」は大量のレコードが返ってくるなら普通やらない
そもそも部分一致はインデックスを使えないから、
普通のRDBの使い方ではやるべきじゃないな。
全文検索機能を使ってるなら、また答えは変わる。
情報が不足しすぎて答えられないな
0985nobodyさん
2009/04/28(火) 21:47:12ID:???ユーザーのアカウントごとに構造の異なるARモデルを扱うアプリを運用しています。
テーブルスキーマ自体はいまのところユーザーの好き勝手ではなく、アカウント作成時に
カラムの型やオプションをYAMLファイルで定義したものを使っているので
>>983ほど柔軟ではないです。
AR::Base.connection.create_table {|t| ... } でそれらのカラム定義から t.column を呼び、
Class.new(AR::Base) して動的に作ったモデルクラスで set_table_nameすれば、ファイル
に書き出さずともモデルとして使用できます。
カラムの数や順序を自由に変更できるようにするには、ユーザーの変更操作に同期して
schema_statements.rbにあるメソッドを呼んで処理してやる必要があると思います。
0986nobodyさん
2009/04/29(水) 01:18:41ID:MR+/ICUP世界に羽ばたく
Ruby on Railsオフショアアジャイル開発
http://www.tech-arts.co.jp/news-and-topics/press-releases/20090427.html
0987nobodyさん
2009/04/29(水) 01:23:54ID:???しかもこれからってw
圧力釜もろくに作れない国に発注するって顧客に対する背信行為だと思う。
メーカーなみに製造管理するならいいけど、
工場ほど単純作業じゃないから無理だわな。
0988nobodyさん
2009/04/29(水) 01:34:38ID:???で、コストの高い日本の不勉強さん使うよりオフショアの方が質がいい。そんな感じだろーね。
けど、実際は難しいけど。上手くいかせたくない心理が働いてそう。
0989nobodyさん
2009/04/29(水) 01:48:39ID:???失敗すれば全部かぶるんだよ。幻想はおまえだ
0990nobodyさん
2009/04/29(水) 10:49:26ID:???きてるのかね。
個人的には、中国とかインドの新興国はJavaばっかりやってるイメージ
があるが。
0991980
2009/04/29(水) 11:25:21ID:???回答ありがとうございました。
>>981さんの方法が、自分でもわかりやすいかなという感じです。
>>982
まったくそのとおりで、要distinctです。
重複を省くための条件が長くなってしまうので、この方法でやるか悩んでいます。
>>984
実際には食品をDB(mysql5)から検索するシステムです。
DBに「牛乳」「牛乳(低脂肪)」「牛乳(濃厚)」「加工牛乳」というレコードがあった場合、
「牛乳」という検索ワードで上記4レコードは表示する必要があります。
なので、
select * from items where name like '%検索文字列%'
でも必要な情報は取れるのですが、完全一致したものは上に表示したいという
気持ちもあります。
ていうかlikeの部分一致ってINDEX使わないんですね・・・。
0992nobodyさん
2009/04/29(水) 11:57:35ID:???0993nobodyさん
2009/04/29(水) 14:00:00ID:???なるほど。likeの部分一致の遅さを許容できるならやり方はあるよ。
3回SQLを打つのは速度や負荷を考えるとやらない方がいいと思う。
すでに話題になってるように重複の問題もあるし。
やり方の一つとしては「ソートキーを作る」。
MySQLはほとんどやらないし、いま手元に環境はないから検証できないのだが、
case文はサポートされていたと思う。
select column_1, columnt_2, column_3,
case
when name = '牛乳' then 0
else 1
end match
from items
where name like '%牛乳%'
order by match, sort_key
などとやれば完全一致したものは「match」列に「0」が、そうでないものは「1」が返るはず。
これを第1ソートキーにすればいい。
部分一致や後方一致もちょっと調べたところ、
文字列比較関数なるものをを使えばできるんじゃないだろうか。
優先させたい条件順に番号をふればきれいに並ぶと思う。
これはSQLネタのように思うので、
これ以上知りたければSQLスレがいいだろう。
あるのか知らないけど。
あともし解決したら、差し支えない範囲で解決策をレスしてほしい。
ほかの人が参考にできるから。
聞いてわかってさよならが多くなってるからね。
0994nobodyさん
2009/04/29(水) 21:57:49ID:???ありがとうございます。
なるほど・・・。その方法はいいですね。
>あともし解決したら、差し支えない範囲で解決策をレスしてほしい。
了解です。該当機能が動くようになった時にでも。
0995981
2009/04/29(水) 23:40:19ID:???結論から言えば、sqlで解決しました。以下バージョン等・・・
Rails2.3.2
will_paginateは確か2.2.2か2.0.2だったような・・・。今日現在の「最新」です。
dbはmysql5.0.67
なおwill_paginateの文献をググると、paginate_by_sqlメソッドを自前で追加する
tipが良く見つかりましたが、最新ではソース追加なしでpaginate_by_sqlが使えました。
■牛乳の例でのsql分
select
*,
(
case
when name = '牛乳' then 0
else
case
when name like '牛乳%' then 1
else 2
end
end
) as sort_key
from
items
where
name like '%牛乳%'
0996981続き
2009/04/29(水) 23:45:05ID:???ほとんどないので、コレで意向と思います。
ソースは変えてありますが、下のような感じで対応しました。
#コントローラ
def コントローラのメソッド
search = params[:search] #検索画面から検索文字列を取得
sql = "select *,(case when name = \'#{search}\' then 0 else case when name like '\'#{search}\'%' then 1 else 2 end end) as sort_key from items where name like \'%#{search}\'%
@results = Item.paginate_by_sql(sql, :page => params[:page], :per_page => 30)
end
#ビュー
<% @results.each{|item| %>
<%= item.name %><br>
<% end %>
>>981,982,984,993
答えてくださった方、ありがとうございました。
0997981続き
2009/04/29(水) 23:53:52ID:???動いてるソースから書き換えたのでいろいろ間違えてます・・・><
order byがないと修正した意味ないっス〜・・・。そのあたりは流れから脳内変換してください><
すみません、スレ汚し失礼しました。
0998nobodyさん
2009/04/30(木) 00:17:59ID:???フィードバックありがとう。強要してすまんね。
paginate_by_sqlは知らなかったから参考になった。
0999nobodyさん
2009/04/30(木) 23:12:06ID:???【Ruby】Ruby on Rails Part7
http://pc11.2ch.net/test/read.cgi/php/1241100447/
1000nobodyさん
2009/04/30(木) 23:18:02ID:???10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。