簡體   English   中英

如果條件在RABL

[英]If condition on RABL

我的關系中有兩個屬性-Flyer和Flyer_url。 我想放置一個if條件,該條件根據不為null的情況將flyer或flyer_url分配給flyer_image_url。 所有記錄都將其中一個設置為null。 我已經嘗試了以下代碼,但是即使它為null,它也只是將flyer_url分配給flyer_image_url:

attribute :flyer => :flyer_image_url
attribute :flyer_url => :flyer_image_url, :if => lambda { |flyer_url| !flyer_url.nil? }

請幫忙! 謝謝!!

感謝RABL的創建者Nathan Esquenazi,我終於找到了答案。

這是RABL的限制(盡管有一定的故意),對於給定的鍵名“ flyer_image_url”,應該永遠只與它關聯一個語句。 試圖將兩個與單個鍵相關聯的語句造成了混亂。

他建議使用具有自定義邏輯的單個節點來代替: https : //github.com/nesquena/rabl#custom-nodes

node :flyer_image_url do |object|
   object.flyer_url.nil? ? object.flyer : object.flyer_url
   # This is just ruby, put whatever you want that ends up as a string
end

那就像一個魅力! 希望這個答案能找到人!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM