对于视图中的此代码,
f = open('stack.txt')
s = open('save.txt','w')
for i in f.read().split(' '):
if(len(i)!=8):
continue
else:
try:
print(int(i))#if not number,int() will make an error
s.write(i)
except:
pass
f.close()
s.close()
我有时会收到模板错误:
<%= @activity.destination.try(:name) %>
有时没有。
这是什么类型的错误?
答案 0 :(得分:1)
ActionView::Template::Error (undefined method `destination' for nil:NilClass)
这意味着@activity是零。所以你可以这样做
<% if @activity.present? %>
<%= @activity.destination.try(:name) %>
<% end %>
这将解决您的问题。
答案 1 :(得分:0)
它与模板没有任何关系。您的@activity
有时是nil
,有时不是,就像错误消息所说的那样。
答案 2 :(得分:0)
我不理解有时出现的错误的异常行为,而不是其他时候。为了安全起见,我认为你应该做以下事情之一:
<%= if @activity.destination %>
<%= @activity.destination.try(:name) %>
<%= end %>
或者
<%= @activity&.destination.try(:name) %>
答案 3 :(得分:0)
我不理解有时出现的错误的异常行为,而不是其他时候。为了安全起见,我认为你应该做以下事情之一:
<%= @activity.try(:destination).try(:name) %>