私有方法`select'调用“Walt”:String

时间:2013-12-24 15:50:47

标签: ruby-on-rails

我正在尝试遍历一个块,它会查看短语并查看推文是否包含它们。如果推文包含短语,他们应该收到'编辑'div类。但是,我一直收到private method select called for "Walt":String错误。我是新手,所以请耐心等待我的代码。

查看:

<section id="tweets">
  <ul>
<% tweet = @tweets.each do |tweet| %>
@<%= tweet.user.screen_name %>
<%= image_tag(tweet.user.profile_image_url) %>
  <li><%= link_to tweet.text, "https://www.twitter.com/#{tweet.user.screen_name}=twitter&include_entities=true" %></li>

     <% for blockedshows in current_user.blockedshows %>
        <%= blockedshows.phrases %>
        <% for phrases in blockedshows.phrases %>
            <%= blocked = phrases.text %>
            <%= result = blocked.select do |b| %>
                <%= tweet.include? b %>
            <% end %>

        <% end %>

        <% if result.empty? %>
            <%= tweet %>
        <% else %>
            <%= content_tag(:div, class: 'redacted') {tweet} %>

        <% end %>

    <%end %>

 

模型

class Phrase < ActiveRecord::Base
  belongs_to :tvshow
  belongs_to :blockedshow

  def select

  end
end

1 个答案:

答案 0 :(得分:1)

您阻止的变量已经包含您要与推文进行比较的文本,并且您正在尝试对其执行select方法(这是字符串类的私有方法)。

稍微重构一下代码

<% current_user.blockedshows.each do |blockedshow| %>
     <% blockedshow.phrases.each do |phrase| %>
          <% if tweet.text.include? phrase.text %>
               <%= content_tag(:div, class: 'redacted') {tweet} %>
          <% else %>
               <%= tweet %>
          <% end %>
     <% end %>
<% end %>