との二重管Iここに戻って空白くるとされているオブジェクトが、私はそれがif文がっしりした体格せずに動作させる方法についてルビー/ Railsの - 空白のデータセット
@photo = [] # this is coming back blank, but it won't do the correct comparison in the ||
@sanitized_photos = PhotoPresenter.new(@photo).to_json || PhotoPresenter.default_layout.to_json
任意の考えをやりたいものです持っています
更新日:::ここに、私の発表者のコピーがあります。私は私が内部にここに収集ロジックを入れている知っているが、それはあなたがPhotoPresenterクラス初期化子にこのロジックを移動するはるかに優れているとされていることが最もきれいな方法
class PhotoPresenter < Presenter
def initialize(photo)
@photo = photo
end
def to_gallery
{
"thumb" => @photo.image.url(:thumb),
"image" => @photo.image.url(:large),
"big" => @photo.image.url,
"title" => @photo.attachable.name
}
end
def self.blank_gallery
{
"thumb" => help.polymorphic_photo_url(nil, :large),
"image" => help.polymorphic_photo_url(nil, :large),
"big" => help.polymorphic_photo_url(nil, :large),
"title" => "No photo provided"
}
end
def self.as_gallery(photos)
unless photos.blank?
photos.collect{|object| self.new(object).to_gallery}.to_json
else
blank_gallery.to_json
end
end
end
写真のリストが空の場合は 'default_layout'を返すメソッドですか?その後、 'PhotoPresenter.x(@photo).to_json'を実行することができます。 –
muが短すぎます。私はas_galleryで何をしたのかの違いを私が確信していません。何かが欠けているはずです。初期化でblank_galleryを返すために何かを設定するだけです。あなたはたぶんその例に答えてもらえますか?私はそれがスーパー素晴らしい場合は、私は答えを受け入れることができる:)今これをやっています。 PhotoPresenter.as_gallery(@photos)、セットが空の場合はデフォルトを返します。それはあなたが意味することですか? – bokor
はい、あなたの 'as_gallery'は私が考えていたものだと思います。ロジックをモデルに押し込んで、1か所で心配するだけです。 –