我正在尝试创建一个帮助函数,从数据的内容字段中删除所有停用词。我已经使用了基本的脚手架,如下所示:
rails generate scaffold MyData pageId:integer content:text
我在控制器中添加了一个私有方法:
private
STOP_WORDS = %w{a am an as at be by do go he i if in is it me my no of on or so to un up us we}
def remove_stop_words(lowercase_string)
lowercase_string.gsub(/\b(#{STOP_WORDS.join('|')})\b/mi, '')
end
现在我想知道,因为控制器是
def index
@tube_data = TubeDatum.all
respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @tube_data }
end
end
,相应的视图是
<% @tube_data.each do |tube_datum| %>
<tr>
<td><%= tube_datum.pageId %></td>
<td><%= tube_datum.content %></td>
....
如何去除每个tube_data.content?
谢谢!
答案 0 :(得分:4)
在以下位置添加该功能:app / helpers / application_helper.rb
STOP_WORDS = %w{a am an as at be by do go he i if in is it me my no of on or so to un up us we}
def remove_stop_words(lowercase_string)
lowercase_string.gsub(/\b(#{STOP_WORDS.join('|')})\b/mi, '')
end
在视图中:
<%= remove_stop_words(tube_datum.content) %>
答案 1 :(得分:0)
将代码从Controller中移动到app / helpers文件夹中的application_helper.rb中,并将其包装在名为stripstopwords的方法中。
然后在你的视图中去stripstopwords tube_datum.content