这是在 views/posts/show.html.erb 文件中对我有用的代码:
<% require 'rmmseg' %>
<% RMMSeg::Dictionary.load_dictionaries %>
<% text = "你好" %>
<% algor = RMMSeg::Algorithm.new(@post.content) %>
<% loop do %>
<% tok = algor.next_token %>
<% break if tok.nil? %>
<% text2 = tok.text.force_encoding('UTF-8') %>
<%= "#{text2}" %>
<% end %>
我是 Rails 新手,所以我需要帮助知道在框架中放置此代码或类似代码的位置,以便将帖子与数据库中的空间一起保存。它应该在控制器中吗?如果是这样,我会怎么做?
我正在尝试并失败了:
def create
@post = Post.new(params[:post])
require 'rmmseg'
RMMSeg::Dictionary.load_dictionaries
algor = RMMSeg::Algorithm.new(@post.content)
loop do
tok = algor.next_token
break if tok.nil?
text2 = tok.text.force_encoding('UTF-8')
@post.content = "#{text2}"
end
respond_to do |format|
if @post.save
format.html { redirect_to @post, notice: 'Post was successfully created.' }
format.json { render json: @post, status: :created, location: @post }
else
format.html { render action: "new" }
format.json { render json: @post.errors, status: :unprocessable_entity }
end
end
end
我显然知道我在做什么。