Projeto: Vermelho

logs of development
スポンサーサイト

一定期間更新がないため広告を表示しています

| - | | - | -
[Rails]file_columnプラグイン利用時の注意
viewで表示するときに画像が空だとエラーになるそうなので,以下のように記述
<%= image_tag url_for_file_column(@user, :image, "large") unless @user.image.blank? %>

もしくは
<%= image_tag url_for_file_column(@user, :image, "large") if @user.image %>
| - | 09:27 | comments(0) | trackbacks(0)
[Rails]gem install RMagickでエラーになるとき.
file_columnプラグインを使うには,RMagickが必要.

yum install ImageMagick
yum install ImageMagick-devel
gem install rmagick
※gem install RMagickとすると「could not find Rmagick locally or in a repository.」というエラーがでる場合あり.注意.

この場合にgem install rmagickが失敗する場合,ImageMagickのバージョンがRMagickが求めるバージョンより低い可能性がある.古いバージョンのImageMagickをアンインストールし,そのあとに,新しいバージョン用ソースをダウンロードし
http://www.imagemagick.org/script/install-source.php#unix
を参考にインストールする.

そのあとにgem install rmagickをすると成功する.
| - | 19:26 | comments(0) | trackbacks(0)
[Rails]自己参照結合のアソシエイションを図式化
自己参照結合が分からない。右脳派の私はとにかく図式化して理解したい。
ということで、
http://blog.hasmanythrough.com/2007/10/30/self-referential-has-many-through
を参考に図で表した。
結論は…「Pursuit」とか「Escape」とかを、なぜ、経由させる必要あるのか腑に落ちない。Messageを経由させればいいじゃないか。…と思ったりするし、それをどうやって試せばいのかも分からない。とうことで、追求すると先進まないので、「こういうものだ」と丸暗記することにした。
create_table :animals do |t|
t.string :species
end
create_table :hunts do |t|
t.integer :predator_id
t.integer :prey_id
t.integer :capture_percent
end

class Animal < ActiveRecord::Base
has_many :pursuits, :foreign_key => 'predator_id',
:class_name => 'Hunt',
:dependent => :destroy
has_many :preys, :through => :pursuits
has_many :escapes, :foreign_key => 'prey_id',
:class_name => 'Hunt',
:dependent => :destroy
has_many :predators, :through => :escapes
end
class Hunt < ActiveRecord::Base
belongs_to :predator, :class_name => "Animal"
belongs_to :prey, :class_name => "Animal"
end


Ruby on Railsの自己参照結合がわからない
Ruby on Railsの自己参照結合がわからない posted by (C)AtsuSacaqui
| Pg_Rails | 13:34 | comments(1) | trackbacks(0)
[Rails]外部キーの意味
Userモデル
class User < ActiveRecord::Base
has_many :messages
end

idname
1"ME"

Messageモデル
class Message < ActiveRecord::Base
belongs_to :user
end

iduser_idmessage
11"メッセージです"


このとき、Messageモデルのuser_idは、Userモデルのidを参照している。
このときのuser_idを「外部キー」と呼ぶ(合ってる?)
| Pg_Rails | 10:33 | comments(0) | trackbacks(0)