我从字典 API 中得到了一个非常复杂的对象,所以我很困惑如何在 vue js 中使用 v-for 渲染它。 下面是对象 我的目标很简单,在 vue js 中使用 v-for 渲染对象中每个含义的每个定义。 对象结构如下 数据 -> 含义 -> 定义 -> 定义(多个定义) ...
提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供 中文繁体 英文版本 中英对照 版本,有任何建议请联系yoyou2525@163.com。
我的rails应用程序成员可能具有两种不同的角色之一:vip_lite和vip。 他们可以订阅续订授权的计划。
我们还有四种类型的计划:vip_lite /每月,vip_lite /每年,vip /每月,vip /每年。
VIP用户可能正在订购四个计划之一,vip_lite也是如此。 具有不同角色和不同计划的会员可以在计划页面中看到不同的按钮(例如,vip_lite和订阅vip_lite /每月会员可以在VIP计划页面中看到“升级”按钮)。
请参见下面的示例代码:(当前写在帮助器中)
def plan_action_button(user)
if user.vip? && user.subscribing_plan?(:vip_lite, :monthly)
'button_a'
elsif user.vip? && user.subscribing_plan?(:vip_lite, :yearly)
'button_b'
elsif user.vip? && user.subscribing_plan?(:vip, :monthly)
'button_c'
elsif user.vip? && user.subscribing_plan?(:vip, :monthly)
'button_d'
elsif user.vip_lite? && user.subscribing_plan?(:vip, :monthly)
'button_e'
elsif user.vip_lite? && user.subscribing_plan?(:vip, :yearly)
'button_e'
... and so on...
end
end
因此,对于这些页面中的每个按钮,我必须处理2 * 4 = 8个条件。 Rails中是否有处理这种情况的良好模式? 谢谢
您可以在此处使用一些有趣的模式。 让我们看看最常重复的内容: user.vip?
让我们从Guard子句开始
def plan_action_button(user)
return 'whatever you need to return' unless user.vip?
if user.subscribing_plan?(:vip_lite, :monthly)
'button_a'
[...]
然后,由于存在很多组合,因此很难说出这些按钮的变化和保持不变。 是I18n钥匙吗? 按钮标签的链接是否不同? 您是否可以分别访问user.plan_name
和user.plan_frequency
等这些部分?
回答这些问题将有助于您发现一种模式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.