0

今回は、テキスト記事をより小さな部分に分割する際に問題が発生しました。単語カウントなどに基づく「自動」アルゴリズムを理解する必要はありません。必要なのは、組み込みの Wordpress WYSIWYG エディター (特別な改行ページ タグ) である関数に似たものだけです。

これまでに考えた解決策は1つだけです。データベース内で特定の記事を分割したくありません。記事内にいくつかのタグを配置し、それを show メソッドで配列に分割したいだけです。

サンプルコード:

#controller
@art = Article.find(:id)
if @art.value.contains?('<breaker>')
  @parts = art.value.split('<breaker'>)
end

session[:current_part] = params[:current_part] ? params[:current_part] : @parts.first
...
render 

#view
<%=h @parts[session[:current_part]] %>

それはあなたにとってどのように聞こえますか?それは意味がありますか?アドバイスをお待ちしております。

4

1 に答える 1

1

ページの検証に影響を与えないように、HTML コメントを使用することをお勧めします。

Rails ビューでは、ブレーカーの前にテキストを表示するテンプレートで、サンプル コードのようにコンテンツを分割できます。再利用できるように、これを Rails ヘルパー モジュールで実行します。

記事全体を表示するには、パラメーター「more」が渡されると、ヘルパー メソッドが完全なコンテンツを返します。コードは次のようになります。

# controller
def show
  @article = 'Before the break<!--more-->After the break'
end

# app/helpers/application_helper.rb
def show_more(article)
  params[:more] ? article : article.split('<!--more-->').first
end

# show.html.erb
<%= show_more(@article) %>

一般に、アプリケーション ロジックをモデル ファイルとヘルパー ファイルに保持し、コントローラーをできるだけシンプルに保つことをお勧めします。

于 2011-07-12T01:27:26.500 に答える