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 %>

私はレールに慣れていないので、このコードまたは同様のコードをフレームワークのどこに配置すればよいかを知る助けが必要です。これにより、データベースにスペースを含む投稿が保存されます。コントローラーに入れるべきですか?もしそうなら、どうすればいいですか?

私はこれを試みて失敗していました:

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 に答える