我正在尝试遍历一个块,它会查看短语并查看推文是否包含它们。如果推文包含短语,他们应该收到'编辑'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
答案 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 %>