В настоящее время я изучаю Rails и следовал руководству "Начало работы с Rails" http://guides.rubyonrails.org/getting_started.html. Мой вопрос: как мне проверить длину статьи и, если она превышает определенную длину, добавить три точки в конце?
У меня есть страница, которая показывает все статьи без комментариев, и у меня есть страница, которая показывает каждую конкретную статью с комментариями. Если кто-то хотел увидеть остальную часть статьи и комментарии, он щелкнул ссылку, чтобы увидеть эту конкретную статью.
Мой index.html.erb показывает каждую статью, но я хочу, чтобы она показывала только до 200 слов каждой статьи и добавляла три точки.
<% @articles.each do |article| %>
<h1><%= article.title %></h1>
<p><%= article.text %></p>
<%= link_to 'Show full post', article_path(article) %>
<% end %>
show.html.erb показывает полную статью с комментариями
<h1>
<%= @articles.title %>
</h1>
<p>
<%= @articles.text %>
</p>
<h2>Comments</h2>
<%= render @articles.comments %>
<h2>Add a comment:</h2>
<%= render 'comments/form' %>
а вот и контролер статьи
class ArticlesController < ApplicationController
def index
@articles = Article.all
end
def show
@articles = Article.find(params[:id])
end
def new
@articles = Article.new
end
def edit
@articles = Article.find(params[:id])
end
def create
@articles = Article.new(articles_params)
if @articles.save
redirect_to @articles
else
render 'new'
end
end
def update
@articles = Article.find(params[:id])
if @articles.update(articles_params)
redirect_to @articles
else
render 'edit'
end
end
def destroy
@articles = Article.find(params[:id])
@articles.destroy
redirect_to articles_path
end
private
def articles_params
params.require(:articles).permit(:title, :text)
end
end
<h2>Comments</h2>
<%= render @articles.comments %>
<h2>Add a comment:</h2>
<%= render 'comments/form' %>