我在.haml文件中有以下代码:
.row-fluid.page-header
%h2 My Programs
- if @program.students(:confirmed).first
- if !@program.students(:confirmed).first.fees_info['has_info']
.alert.alert-danger
We do not have your information on file!
如果我们没有为在程序中注册的学生设置“has_info”标记,则此代码会尝试打印警报消息。
我的问题是,编写上述两个if语句的更好方法是什么。
我尝试/想在if语句中分配一个变量,但无法使其工作:例如我试过:
- if first_record = @program.students(:confirmed).first
- if first_record.fees_info['has_info']
但是这没用。如何声明一个我可以在这些if语句中重用的变量?
答案 0 :(得分:1)
我会做这样的事......
将此代码放入控制器:
first_record = @program.students(:confirmed).first
@has_first_record_info = first_record && first_record.fees_info['has_info']
将@first_record_alert
放在视图中以替换if
语句:
- unless @has_first_record_info
.alert.alert-danger
We do not have your information on file!
您想要显示学生是否有记录和信息,因此请先测试。然后,在视图中,您希望在其信息不存在时显示提醒,因此请使用等同于unless
的{{1}}。