2015-04-14 10 views
15

Ich habe den folgenden Code in SchienenWie behebe ich diese lästigen syntastic Schienen Fehler

<% @post.errors.full_messages.each do |msg| %>                          
      <li><%= msg %></li>                                
<% end %> 

SyntasticCheck VIM stecken hält

diesen Fehler angezeigt

app/views/posts/new.html. erb [Syntax: Zeile: 12 (1)]
1 App/Ansichten/Beiträge/new.html.erb | 12 Warnung | möglicherweise nutzlos Verwendung eines Variable in leeren Kontext

+2

Ich bin nicht sicher, es gibt viel, was Sie tun können, besonders, da es nur eine Warnung ist, die Ihnen sagt, dass Sie "msg" möglicherweise nicht wirklich verwenden. Hat wahrscheinlich etwas damit zu tun, wie es Rubinblöcke analysiert und den Unterschied zwischen '<%' und '<% =' -Tags. Um ehrlich zu sein, würde ich dies als '<%' erwarten, was nichts bedeutet, was bedeutet, dass es im Kontext des Parsers sehr wahrscheinlich ist, dass diese Zeile nutzlos ist. Offensichtlich ist es nicht in diesem Anwendungsfall, aber ich kann die Warnung verstehen, dass ** es möglich ist **. – engineersmnky

+0

@engineersmnky ja ich denke, das macht Sinn. Es ist einfach nervig, in einer Datei zu arbeiten, wenn dieser Fehler auftritt. Selbst wenn Sie "schließen", wird es verschwinden, aber wenn Sie eine andere Datei öffnen und zurückgeben, erscheint sie wieder. – CodeCrack

+0

solche Tools können ausgewählte Warnungen überspringen. ansonsten solltest du dieses Tool patchen, aber es wird schwieriger – beornborn

Antwort

19

Wenn alles, was Sie wollen nicht, dass diese Meldungen wieder zu sehen ist:

let g:syntastic_eruby_ruby_quiet_messages = 
    \ {'regex': 'possibly useless use of a variable in void context'} 
+0

Verbesserung: unter CentOS 5.8 gibt es keine "möglicherweise" am Anfang der Nachricht. Wenn die Nachricht weiterhin angezeigt wird, entfernen Sie das erste Wort aus dem regulären Ausdruck. –

+0

'möglicherweise nutzlose Verwendung von. * Im void Kontext' entspricht anderen ähnlichen Warnungen –

+0

@lluis Dann müssen Sie ein spezifischeres Muster verwenden. – lcd047

14

Wenn es eine posibility ist, dass die Warnung in der Zukunft helfen wird, die Das Beste, was Sie tun können, ist .to_s zu msg hinzuzufügen, damit die Warnung verschwindet, aber Sie filtern keine zukünftigen Warnungen.