我试图根据数据库中的某些字段有条件地显示链接,但是,根据IF语句设置的链接都没有,并且无论如何链接都在显示。
<% if :mobile.present? && :mobile_verified != true %>
<%= link_to "(Verify Mobile)", :controller => 'users', :action => 'resend_verification', :method=> :post %>
<% end %>
有什么不对吗?
答案 0 :(得分:1)
这些是符号,而不是变量。您可能想要删除:
。也许你的意思是用@
作为前缀,如果它们是实例变量就是这种情况。
答案 1 :(得分:1)
当您使用:
时,它会声明ruby symbol。当变量以符号@
开头时表示它们是instance variables。
在一般情况下,我们在控制器中定义实例变量,然后在视图文件中使用它们。所以我想你的代码应该是这样的:
<% if @mobile.present? && @mobile_verified != true %>
<%= link_to "(Verify Mobile)", :controller => 'users', :action => 'resend_verification', :method=> :post %>
<% end %>
在上面的代码中使用它们之前,请不要忘记设置这些变量@mobile
和@mobile_verified