0

这是在 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

我显然知道我在做什么。

4

1 回答 1

0

我打电话给Rails 热线,他们提示我使用回调(before_save、after_save 等)将其放入模型中

这对我有用。

于 2012-12-16T13:26:34.957 回答