Мне нужно отобразить другой текст, основанный на количестве комментариев, и я поместил логику в контроллер. Но наличие длинного метода в контроллере не кажется очень сухим, где я должен его использовать?Где я могу поместить логику отображения (а не контроллер)?
example_controller.rb:
def index
.
count_dependent_message
.
end
def count_dependent_message
case @user.comment.count
when 0
@strong = "example Strong 0"
@paragraph = "example paragraph 0"
when 1
@strong = "Jon Smith is called Smith"
@paragraph = "example paragraph 1"
when 2...10
@strong = "Once upon a time...Steve Jobs... "
@paragraph = "example paragraph 2"
when 11...40
@strong = "Wow you have many counts"
@paragraph = "example paragraph 3"
else
@strong = "exciting"
@paragraph = "example paragraph 4"
end
end
вид:
<h3>
<strong>
<%= @strong %>
</strong>
</h3>
<p>
<%= @paragraph %>
</p>
Я думал о вводе логики в частичной, но это не кажется очень эффективным, так как текст, который я хочу render - это просто предложение.
Спасибо Фиона! Мало того, что это обеспечило ответ, который я искал, но вы также показали мне, как использовать помощника! Теперь это выглядит намного лучше! Спасибо. Наслаждайся своей жизнью! – jaqbyte