【Ruby】Ruby on Rails Part7
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2009/04/30(木) 23:07:27ID:???http://pc11.2ch.net/test/read.cgi/php/1224838013/
■参考サイト
<英語>
本家: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 35
http://pc12.2ch.net/test/read.cgi/tech/1238194350/
Ruby 初心者スレッド Part 27
http://pc12.2ch.net/test/read.cgi/tech/1238632943/l50
0277nobodyさん
2009/06/10(水) 13:04:17ID:???どうもです。
↓とりあえずこれでファイルの種類特定するようにしますた。
validates_inclusion_of :content_type, :in => ["image/pjpeg", "image/jpeg", "image/gif", "image/png"]
ファイルサイズもsave前に取れる(windowsだと取れません。)のでこれでいこうかとおもってる。
しかし、windowsだとアップロードファイルのsize取れなくて、わざわざlinuxでテストしないといけない・・・。
こういうの続くと、開発環境をlinuxしたいな〜って思うようになってきたんですが、
慣れればwindows並の作業効率出せるもんなんでしょうか。
今のwin環境は秀丸+grepツール+windows付属品。
0278nobodyさん
2009/06/10(水) 13:34:23ID:???なんか違う意味でのバリデーションなんだろうか。
0279nobodyさん
2009/06/10(水) 13:53:55ID:???入力→確認→登録、というテンプレートないものかな。
0280nobodyさん
2009/06/10(水) 14:04:01ID:???ネット系なら確認画面は必須だが。
0281nobodyさん
2009/06/10(水) 14:19:46ID:???入力→確認 のときにvalidationかけてセッションに入れる。
エラーが出たら、入力に戻す。
確認→登録 のときは、すでにvalidationが通ってるから大丈夫。
登録から入力に戻すってのは、一画面余計に通ることになるので避けたい。
0282nobodyさん
2009/06/10(水) 15:32:42ID:???まあ、そう単純じゃない場合も良くあるんだよねえ。
すると、テンプレにしてもプラグインにしてもすべてのケースを網羅
できそうもないわけですね。
> 登録から入力に戻すってのは、一画面余計に通ることになるので避けたい。
redirect_toするだけじゃないの?
0283nobodyさん
2009/06/10(水) 15:43:46ID:???入力→確認→登録(エラー)→入力
よりは、
入力→確認(エラー)→入力
の方が、余計な確認画面とおらなくて良いって話でしょ。
0284nobodyさん
2009/06/10(水) 16:25:24ID:???<% if 入力画面 %>
<%= f.text_field :foor %>
<% else %>
<%= params[:foo] %>
<% end %>
0285nobodyさん
2009/06/11(木) 00:59:09ID:???当然、テンプレートも別。
デザインも別で上がって来るし、別の方が楽。
0286nobodyさん
2009/06/11(木) 11:11:55ID:???入力と確認に手を入れないといけないのが DRY じゃなくて何か嫌。
YAML からでも入力と確認画面を自動生成する仕組みがあるといいのだけど。
0287nobodyさん
2009/06/11(木) 14:27:20ID:???結局は手動で直すしか…。
仕事でやってると、デザイナの上げてきたデザインはめるのが辛い。
0288nobodyさん
2009/06/11(木) 14:43:46ID:???あとサーバ不要でpartialできる仕組みを各ブラウザに持たせてデザイナの
成果物をそのまま使えるようにできないものだろうか。
<include partial="./footer.html" />
それか、Rails実行環境とSVNクライアントを
ブラウザのプラグインレベルで提供。でざいなさんもerbやってもらう。
0289nobodyさん
2009/06/11(木) 15:13:57ID:???そんなに複雑なロジックをテンプレートに埋め込んでるの?
0290nobodyさん
2009/06/11(木) 17:25:37ID:???Railsだとフォーム関連のタグが全部ヘルパになってるし、
タグにclass一個付けるにも引数にしなきゃいけないので
その辺でダメだったみたい。
他にも便利な独自ヘルパ作ってる場合(ビューの一部がヘルパに行ってる)や、
Ajaxでコントローラ内にRJSを入れていて、
そこにHTMLが入って来たりすることもある。
別にテンプレートにロジックが入ってる訳じゃなくても
デザイナには難しいみたいよ。
0291nobodyさん
2009/06/11(木) 18:31:40ID:???あと、たとえやってくれても、
erb のタグとか消してしまっていて、
確認をしないといけないから
開発者の手間があんまり変わらないし。
0292267
2009/06/11(木) 19:47:21ID:???悩んでたんだけど2.0から変わってたのね・・・情報古いわ・・・
0293nobodyさん
2009/06/11(木) 20:12:53ID:???ところで、RESTfulな編集系actionって
http://guides.rubyonrails.org/routing.html#crud-verbs-and-actions
によると
new/create
edit/update
destroy
だけど、
確認画面が必要となると
new_1
new_2
new_confirm
new_commit
edit_1
edit_2
edit_confirm
edit_commit
delete_confirm
delete_commit
とかしたくなりませんか?
new
new_confirm
create
がいいのかなあ。
皆様どうしてますか?
0294nobodyさん
2009/06/12(金) 00:58:46ID:???DWで対応してるPHPのほうが、まだ抵抗が少ない。
いまやHTMLと画像が用意出来れば十分な時代でもないのに。
0296nobodyさん
2009/06/12(金) 09:02:22ID:???相手が理解できないならまず自分の教え方に問題がないか振り返らないと
代入のやり方とヘルパーの機能をまとめたものを渡せばある程度なんとかなるんじゃないだろうか
あとは分岐と繰り返しだけど、繰り返しは自動生成されるやつそのままでいけるだろうし
分岐も何回かやれば、簡単なIF文は身につくような
まあ、デザイナーに教えたことないから完全に脳内シミュレーションで
実際はイライラするのかもしれないけど
0297nobodyさん
2009/06/12(金) 12:39:20ID:???>>290 みたいにデザインすべき要素があちこちに分散していて
全体の把握がしずらいみたい。
開発側でデザインはめて、はめた後のものを少し修正ならできた。
あと開発側としても、デザイナにerb触らせて動かなくなったりするのが
怖いというのがある。
0298nobodyさん
2009/06/12(金) 13:04:00ID:???ほんとに。Smartyわかってもダメなのか。
ヘルパーって調べるのとか結構時間がかかって
面倒とか思ってるのはおれだけだろうか。
でもあると使いたくなるし、後で使ってないところを見つけると直したくなる。
いっそごそっとなくなってくれれば楽なのかもとたまに思う。
相当役に立つやつは残してほしいが。
0301nobodyさん
2009/06/13(土) 03:57:58ID:???HTMLのタグとかも理解せずにDW弄ってる奴らだし。
ちゃんとALTタグ設定してるの見た事無い。orz
0302nobodyさん
2009/06/13(土) 05:18:17ID:???0304nobodyさん
2009/06/13(土) 21:38:32ID:eLQY8eGW0305nobodyさん
2009/06/13(土) 22:13:41ID:???lib/string_ext.rb
かな。
0306nobodyさん
2009/06/13(土) 22:51:14ID:???vendor/plugins/string_ext/init.rb → (require 'string_ext'って書くだけ
vendor/plugins/string_ext/lib/string_ext.rb → Stringの拡張処理
0307nobodyさん
2009/06/13(土) 23:08:45ID:???「初期化」じゃないからきっと行儀が悪い気がする。
0308nobodyさん
2009/06/13(土) 23:35:49ID:???おれならたぶんそこに置く。というか実際置いてる。
使うときに何の宣言もいらないし。
初期化って「本処理が始まる前にやっておくべきもの」だから、
それほど行儀が悪いということはないんじゃないだろうか。
0309nobodyさん
2009/06/15(月) 11:54:46ID:???はやくしてくれ〜
0312nobodyさん
2009/06/15(月) 14:08:27ID:???3.0 系列になったら、またごっそり変わるのか・・・・
0313nobodyさん
2009/06/15(月) 14:09:49ID:???自分は、config/environment.rb に、
class << String
〜
end
みたいに再定義していたんだけど、この方法はお行儀悪いでしょうか?
0314nobodyさん
2009/06/15(月) 14:16:41ID:???おれは歓迎だけど。ただ1.9.1が出て少したったし、
Railsも3で少し落ち着いてほしいな。もうかなり充実してるし。
0315nobodyさん
2009/06/15(月) 14:28:22ID:???# Rails 3.0のRuby 1.9対応がひどい件
0316nobodyさん
2009/06/15(月) 14:53:49ID:???http://weblog.rubyonrails.org/2008/12/23/merb-gets-merged-into-rails-3
> The probably-overly-optimistic goal is to have at least a beta version ready
> for RailsConf 2009 in Las Vegas.
probably-overly-optimistic
beta
なお、RailsConf 2009 in Las Vegas は5月アタマだった。
0317nobodyさん
2009/06/15(月) 16:53:13ID:???environmentの意味を考えれば、
行儀が悪いというよりやってはいけないんじゃないだろうか。
それだったら最初に読むファイルは1個でいいように思う。
0318nobodyさん
2009/06/15(月) 18:48:13ID:???Capistranoのwin32での円記号が置換される問題ですが
結局、以下のようにパッチあてました。(全角空白を半角空白に置換してください)
--- base.org.rb 2009-06-08 17:12:53.187500000 +0900
+++ base.rb 2009-06-08 17:13:44.515625000 +0900
@@ -50,7 +50,12 @@
def system(*args)
cmd = args.join(' ')
if RUBY_PLATFORM =~ /win32/
- cmd.gsub!('/','\\') # Replace / with \\
+ parts = cmd.split(' ')
+ parts.collect! do |part|
+ part.gsub!('/','\\') unless /\/\// =~ part # if the string has // is probably a url, don't change.
+ part
+ end
+ cmd = parts.join(' ')
cmd.gsub!(/^cd /,'cd /D ') # Replace cd with cd /D
cmd.gsub!(/&& cd /,'&& cd /D ') # Replace cd with cd /D
logger.trace "executing locally: #{cmd}"
余裕があったら、githubでリクエストしとけばいいのかな…。
つかCapistranon メインの開発リポジトリってどこなんでしょ?たぶんgithubのどこかだとは思うのですが…
0319nobodyさん
2009/06/15(月) 18:59:00ID:???複数行のmysqlコマンドを実行したいものなのですが…
とりあえず、思いついたのは、ファイルにいったん出力する方法です。
sql = <<-
(sqlいろいろ)
EOF
put sql, "#{shared_path}/db/tmp.sql"
run "mysql hage_db -u hoge -p unkopass << #{shared_path}/db/tmp.sql"
見たいにする方法です。
しかし、何かスマートじゃないような…。
もっとスマートな方法はないものでしょうか?
0320319
2009/06/16(火) 07:26:15ID:???ごめんなさい。
x run "mysql hage_db -u hoge -p unkopass << #{shared_path}/db/tmp.sql"
o run "mysql hage_db -u hoge -p unkopass < #{shared_path}/db/tmp.sql"
でした。
よく考えたら、<<で後ろに文字列つければいけるのかな…
0323nobodyさん
2009/06/16(火) 15:34:20ID:???こんなに便利だとは・・・。
今までajaxやるときは鯖からxml返して、ブラウザ側でxmlをパースしてたよ・・・。
0325nobodyさん
2009/06/16(火) 18:39:01ID:???*_before_type_castを使うとデシリアライズされているかどうかによって
動作が変わってしまうのが気持ち悪いです。
Loading development environment (Rails 2.3.2)
>> User.create(:data=>{:a=>1}); u=User.last; u.data_before_type_cast.class
=> String
>> User.create(:data=>{:a=>1}); u=User.last; u.data; u.data_before_type_cast.class
=> Hash
シリアライズ後のサイズを見たいのです。
0326nobodyさん
2009/06/16(火) 19:21:35ID:???マイクロソフト涙目w
0327319
2009/06/16(火) 19:25:39ID:???runメソッドの2番目の引数のハッシュで :data で指定してやればいいみたいでした。
ソースのドキュメントに記述がありました。
( lib/capistrano/configuration/actions/invocation.rb の Capistrano::Configuration::Actions::Invocation.run)
task :hello do
s = <<-EOF
show databases;
exit
EOF
run "mysql -u root -pfuckmyhead", :data => s do |ch, stream, out|
STDOUT.print out
STDOUT.flush
end
end
0328nobodyさん
2009/06/16(火) 20:30:24ID:???↓こちらのサイトではtmp/restart.txtを生成して再起動しているのですが、必要ないものなのでしょうか?
PassengerとcapistranoでのデプロイTips - diaの備忘録
http://d.hatena.ne.jp/DianthuDia/20080829/1219969683
0329nobodyさん
2009/06/16(火) 20:35:03ID:???capistrano は使ったことがないので知らないが、
生(?)で Passenger を使っている。
ソースを更新したとき、Passenger は、Apache の再起動はいらないけど、
RAILS_ROOT/tmp/restart.txt を touch してタイムスタンプを変えておく。
すると、次回の http request 時に、ソースを再読み込みする。
>>328 のページを斜め読みしたけど、なかで touch tmp/restart.txt をやっているようだけど?
0330nobodyさん
2009/06/16(火) 20:43:09ID:???unserializeを通ると@attributesの中身自体が差し替えられてしまう。
で、読み取り系はことごとくunserialzieを通ってしまう。
そうなる前に
u.instance_variable_get(:@attributes)[:data]
でどうか。
行儀よくないけど。
0331nobodyさん
2009/06/16(火) 21:58:34ID:???バックアップとかも同時に出来るの?
0332nobodyさん
2009/06/16(火) 22:20:53ID:???というディレクトリに配置され、currentという名前で最新バージョンに
シンボリックリンクが張られる。
で、rollbackというタスクで前のバージョンに戻せる。
まー、これで不足ならタスク書けばだいたいのことはできるよ。
0333nobodyさん
2009/06/17(水) 10:23:35ID:???「再起動はいらない」ってapacheの再起動のことなんですね。
Passengerは touch tmp/restart.txt で再起動させるようにしてみます。
0334nobodyさん
2009/06/17(水) 16:39:38ID:???ruby script/generate migration AddAsToBsId b_id:text
すると、rake db:migrate で bs_id というテーブルに追加しようとします。
どのように書けばいいでしょうか。
0335334
2009/06/17(水) 16:53:33ID:???ruby script/generate migration AddBsIdToAs b_id:text
と書くべきでした。
0336nobodyさん
2009/06/17(水) 18:16:17ID:???You have a nil object when you didn't expect it!
You might have expected an instance of ActiveRecord::Base.
The error occurred while evaluating nil.[]
テーブルを削除せず、うまくやる方法はないものでしょうか。
0337nobodyさん
2009/06/18(木) 10:58:31ID:???WEBアプリケーションの開発を楽にしてくれるだけで
基本的にRubyなんですか?
rubyに出来ないことはRailsにも出来ないということでしょうか?
Railsはjavascriptとかajaxとか
ウェブアプリを開発する上で
rubyとほかの言語も一緒に書くように出来るプラットフォームみたいな物なのでしょうか?
rubyという言語がjavascriptとかの言語も一緒に使える物なのか?
それとも
railsがほかの言語も使えるようにプラットフォームが整備されている物なのか
どうなんでしょうか?
0338nobodyさん
2009/06/18(木) 11:02:06ID:???0339nobodyさん
2009/06/18(木) 11:23:55ID:???0340nobodyさん
2009/06/18(木) 14:48:28ID:???関連するモデルが存在する場合に、モデルの削除を禁止したのですが何か方法はありますか?
例えば、自分のモデルのデータを削除したい時、関連相手が自分に対してbelongs_toしている場合は
削除できないようにしたいのです。
0341nobodyさん
2009/06/18(木) 14:53:02ID:???DBの制約でいいならDBMSを追記・・・というかDBスレへ
アプリの制御なら普通にIFじゃダメなのか?
0342nobodyさん
2009/06/18(木) 17:02:39ID:ZZEBh1ddシステムを更新するたびに、面倒くさい思いをするんだけど、みんなどう更新してるの?
俺は今FTPサーバを構築して、サーバのファイルをそのまま上書きuploadしてるw
そしてapache再起動(passengerです。)
tracとかsvn使ったことないんだけど、ブラウザ上でソース変更して、保存してapache再起動したら
OK!みたいなことできるんだろうか。
0344nobodyさん
2009/06/18(木) 17:18:35ID:???ActiveRecordの機能としてあるかどうか知りたかったんです。
削除対象のオブジェクトに関連しているモデルの存在チェックを行ってから
何も無ければ削除するようにしたいんです。
0345nobodyさん
2009/06/18(木) 17:27:31ID:???ffmpegを使いたいのですが、ffmpegのパスを定数として
MyFfmpeg::BIN = '/usr/local/bin/ffmpeg'
このように設定したいのです。
これをどのファイルに書けばいいのですか。
initializers の下に ffmpeg_helper.rb を作ってそこに書いてみたのですが
test のときはいいのですが development ではロードされませんでした。
0346nobodyさん
2009/06/18(木) 17:32:31ID:???ググってみた。
Railsアプリケーションをデプロイしようとするとさまざまな問題が生じるため、
Railsアプリケーションの開発は好きだけれどもデプロイは嫌いという技術者は少なくありません。
本書はアプリケーションのデプロイ時に技術者が直面するさまざまな問題の解決策を体系的にまとめた
Railsデプロイガイドです。
本書ではまずRailsアプリケーションのデプロイを家探しにたとえて解説します。
そして、一連のデプロイ処理の中で、Railsアプリケーションのホスティング方式の選択、デプロイの自動化、
サーバ管理、クラスタリング手法といった高度なトピックについて詳しく解説します。
3000円。
欲しいな〜これ。でもデプロイに1冊の本はやや大げさなきもするなぁ。
0347nobodyさん
2009/06/18(木) 18:14:38ID:???その行の id を取得するにはどうしたらいいでしょうか?
0348nobodyさん
2009/06/18(木) 18:28:09ID:???has_many と belongs_to が適切に設定されていれば、
categories(1) - items(N)だとすると
category.itemsでモデルの配列を取得できるはずだけど
itemsがあまりにも膨大なレコードの場合は気をつけてね
has_many の before_removeと組み合わせるといいのかも
と思ったら、has_many に :dependent => restrict っていつの間にか増えてるな
これでできるんじゃないだろうか
教えたのだからもし試すのなら報告を義務としたい
そうすることでスレが良くなるから
>>346
おれはそれ買ってデプロイしてるよ。
薄い本だけど3000円は安いと思う。
Subversionなんて古いというやつは少し価値が落ちるかもしれんが。
あとMongrelが中心な感じかな。
0350nobodyさん
2009/06/18(木) 19:31:33ID:???0351nobodyさん
2009/06/18(木) 22:26:17ID:???デプロイ面倒なら
クラウドコンピューターでもつかえよ
googleとかaptenaとかamazonとか
アップロード先の設定をしなくてもいいクラウド技術があるだろ
0352nobodyさん
2009/06/18(木) 22:44:49ID:???言ってる意味がわからん。
クラウドって、WebAPIでシステム間を繋ぐような、そんなイメージなんだが・・・。
0353nobodyさん
2009/06/18(木) 23:21:25ID:???ちょっと違う。
Web API でシステムをまたいで、ひとつの大きなシステムをかんがえたときに、
たとえば、システムA とシステムB とシステムC を、SOAP なりの web API で連携するが、
すべて社内の自鯖の場合(社内じゃなくてもいいけど):
→これは、web API でつないでいるけど、クラウドとは言わないよね。
クラウドとは、
・自分で作ったプログラムを、自鯖じゃないところで運用できる
→駅前探検倶楽部の API とか楽天の API を呼び出すのは、クラウドとは言えないの?
→この場合、自分で作ってリリースしたプログラムを呼び出しているのではなく、
他の人が作ったサービスを呼び出しているだけなので、
Web 2.0 的とは言ってよいが、クラウドとは言えない
・運用をホストしているところが、特にこちらがなにもしてくれなくてもスケールしてくれる。
→レン鯖を借りて、そこでプログラムを動かすのとは違うの?
→レン鯖を借りて、自分が作ったプログラムをリリースして動かせるが、
そのプログラムの負荷が大きくなっても、基本的にレン鯖業者は台数を増やしてくれないし、
お金を払って増やしてくれたとしても、それを活かすにはこちらがプログラム改修が必要。
→クラウドコンピューティングの場合、データストアが Bigtable など、もともとサーバが増えたら
自動的にスケールしてくれるような仕組みがある。
0354nobodyさん
2009/06/18(木) 23:41:49ID:???Subversionはあると便利だよ。
1. 開発環境でテストを十分にやってからコミット。
2. 本番環境でsvn up→touch tmp/restart.txt
個人でやる分にはこれで十分な気がする。
サーバの台数も少ないだろうし。
0355nobodyさん
2009/06/19(金) 01:37:02ID:???オプションはないんだろうか。
数字のIDは味気ないからユーザアカウント名にしたいんです。
パスは/users/:nameで、
link_to(h(@user.name), @user)
としたときに
link_to(h(@user.name), :name=>@user.name)
と同じ結果になるイメージです。
/users/newはどうするんだって問題があるのか・・・
0356nobodyさん
2009/06/19(金) 02:06:18ID:???class User < AR::Base
alias to_param name
end
でどうだろう。
0357nobodyさん
2009/06/19(金) 06:54:41ID:???GitかMeなんとかを覚えた方がいい
0358nobodyさん
2009/06/19(金) 09:45:43ID:???0359nobodyさん
2009/06/19(金) 09:49:12ID:???実用的な理由でsubversionではとても不便な何かが改善されてるのか?
流行始めてるのはわかるが、流行で飛びつくのってもううんざりだし。
0360nobodyさん
2009/06/19(金) 10:07:37ID:???取得元に反映せずに済む。
# svk終了しちゃったしな。
0362nobodyさん
2009/06/19(金) 10:14:00ID:???う〜ん、おれとしては特に魅力を感じないなあ
結局なんだかんだCSVがSubversionに置き換えられたように、
gitだのマーシャル?だのになるんだろうが今はいいや
0363nobodyさん
2009/06/19(金) 10:18:15ID:???Mercurialのことなら、「マーキュリアル」(mercuryの形容詞形の名詞的用法)
でも普通は hg って表記する。
0364nobodyさん
2009/06/19(金) 10:50:03ID:???は
T.create data
と書けますが、PostgreSQL 8 からの
insert into t(c1, c2, c3) values('b', 'a', 'r') RETURNING id;
はどう書けばいいでしょうか。
( RETURNING id は、insert した id を返してくれます )
execute で SQL を書けば可能ですが、
Rails 風に短縮して書けると嬉しいです。
0366nobodyさん
2009/06/19(金) 12:31:56ID:???ttp://blog.tkmr.org/tatsuya/show/247-rails-37signals-url
これで妥協かも。
/users/123-tomo
って感じで「数字-名前」になる。
数字だけよりだいぶましです。
0367nobodyさん
2009/06/19(金) 12:36:44ID:???ttp://d.hatena.ne.jp/chyk/20090211/1234362408
これでビンゴっぽい。
to_paramでnameを返すようにしておいて、
コントローラでは
User.find(params[:id])
のところを
User.find_by_name(params[:id])
で良さそう。
試してないけど。
>356 ありがとう。
0368nobodyさん
2009/06/19(金) 13:26:06ID:???ようわからんが、
model = TModel.new
model.c1 = 'b'
model.c2 = 'a'
model.c3 = 'r'
foo = model.create!
で、foo に insert した時のオブジェクトが入るから、
foo.id で取り出せばいいんじゃないの?
0369nobodyさん
2009/06/19(金) 13:31:36ID:???Subversion と Gitなどの分散バージョン管理システムの話が出ているが、
くわしくはム板の該当スレのほうが詳しいが、
別に Git/Mercurial は、Subversion の置き換えではない。
中央集中型のほうが便利なときもあれば、分散型のほうが便利なときもある。
個人で使うのだったら、Git の方が速いなどのという理由や、web 上でも取り上げられることが多くなってきたので
移行している人も多いけど、
大規模プロジェクトで、スキルレベルの低い人もいるような場合は、Subversion のほうがいい。
そんなひとが hg push とか hg pull とか絶対覚えてくれない。
だから要所要所で使っていけばよい。
0371nobodyさん
2009/06/19(金) 13:46:42ID:???結局、専任で必死にマージしてバージョン管理する人間が居たほうがうまく逝く罠。
二人以上がお互いに自分のソースの記述をマージし合って停滞したりもするし。
0372nobodyさん
2009/06/19(金) 14:08:46ID:???バージョン管理の場合はスキルレベルじゃなくて物事を整理する能力だと思う
それをスキルと言ってしまえばスキルなんだが
おれはPCのデスクトップがごちゃごちゃのやつに
バージョン管理システムはいじらせたくない
0373nobodyさん
2009/06/19(金) 14:20:03ID:???VCS を使わせて整理の大切さを教える派
0374nobodyさん
2009/06/19(金) 15:25:38ID:???■ books テーブル
id|title
--+-----
10|foo
11|bar
■ records テーブル
id|books_id|comment
--+--------+-------
20| 10|good!!
21| 11|bad...
model/record.rb に「belongs_to :book」を追加しました。
view/records/show.html.erb に
<%=h @memo[:title] %> とした場合は空欄だし、
<%=h book[:titl] %> やm
<%=h record[:title] %>
としてもタイトルが取得できず、
You have a nil object when you didn't expect it!
The error occurred while evaluating nil.title
と出ます。DB を見てもデータは入っています。
どうすれば title が引けるでしょうか。
0375nobodyさん
2009/06/19(金) 16:07:00ID:???3*3は何ですかと質問して
Subversionは3が3つだから3+3+3=9と答えて
Git/Mercurialは3*3=9と九九を暗記している
■ このスレッドは過去ログ倉庫に格納されています