2014-12-05 3 views
1

У меня есть функция в рубине.each возвращение всего массива после перебора каждого элемента

def words 
    ret ="" 

    res = Net::HTTP.start(url.host, url.port) {|http|http.request(req)} 

    res.body.each_line do |line| 
     words = line.split("\"") 
     ret << words[1] << " " 
    end 

    return ret 
end 

говорят RET возвращает «Билл Дана Mike Sarah».

на мой взгляд, я делаю

<%= @class.words.split(" ").each do |name| %> 
     <p><%= name %></p> 
<% end %> 

Вместо того, чтобы просто отображать каждое имя на линии, это делает

Билл

Dan

Майк

Сара

[ «Билл», «Дан», «Майк», «Сара»] # Эти не должны быть напечатаны

Что является причиной того, чтобы отобразить весь массив там в конце? Как я могу это предотвратить?

+0

A Rails тег, пожалуйста. –

+0

Всего пару часов назад я хотел написать забавный комментарий о том, как я устал от этого одного и того же вопроса, появляющегося снова и снова каждые пару часов, но потом я подумал, что «каждые пару часов» немного суровый ... и что вы знаете, всего через 9 часов, кто-то на самом деле * делает это снова. –

ответ

2

Удалить дополнительный = из первой строки в each:

<% @class.words.split(" ").each do |name| %> 
    <p><%= name %></p> 
<% end %> 
+0

ничего себе я чувствую себя немым ... спасибо, вздох. не могу поверить, что я не мог понять это, посмотрев на это в течение 30 минут – parameter

Смежные вопросы