【发布时间】:2018-04-03 09:12:35
【问题描述】:
我的目标是在视图中填充一个 html 表格(schedule.html.haml):
- if @plans != nil
%p display this if plans is not null
- if @plans == nil
%p= action_name
在控制器中使用来自@plans 的数据:
def schedule
@plans = Order.all
end
我确定Order.all 会返回数据。路由文件是:
get 'schedule', to: 'order_articles#schedule'
当我尝试执行此操作时,计划为空。输出是:
schedule
我尝试使用视图中的代码检查 plans 是否为 null。我做错了什么?
【问题讨论】:
-
请提供minimal reproducible example。什么是路由和控制器动作?你怎么称呼它?正在渲染什么?您的代码 sn-p 没有为任何人提供足够的信息来提供帮助。
-
以上代码中没有任何内容表明
@plans将是nil。它应该始终是一个(可能为空的)数组。因此,您调用控制器操作/设置变量的方式一定有有问题,但我不知道是什么。 -
@Elyasin 这不会有什么不同。
nil是NilClass的单例实例;检查#nil?与检查== nil完全相同。 -
@F. LK,我认为使用
nil进行评估不会有效,请参阅下面的回答说明。
标签: ruby-on-rails ruby haml