AdilA
@AdilA
Нравится кодить, изучаю go c echo

Как правильно написать условие, используя params[params]?

В тупике!
не могу понять как лучше реализовать задачу
Есть посты, у постов есть категории у категорий есть подкатегории они лежат в табличке Category но у них есть parent_id при создании поста с определенной категорией необходимо юзеру показывать блок с популярными названиями постов

Как лучше это реализовать?

и как использовать <% if params[:category_id] %>
может как то базу переделывать?

Помогите как лучше сделать указывать кучу кода на вьюхе

пытался сделать как то так:
@leftblock = Category.where(parent_id: 1)
<% if @leftblock.ids.to_s.include?(params[:category_id]) %>

но как быть с другими категориями... и он не работает даже если true всё показывает и даже если false тоже всё показывает
может кто сталкивался...
  • Вопрос задан
  • 2349 просмотров
Пригласить эксперта
Ответы на вопрос 3
Вообще эту логику нужно запихнуть в модель.

Если у вас дерево категорий могу порекомендовать гем awesome_nested_set. Он организует работу с деревом.
Ответ написан
Комментировать
FanKiLL
@FanKiLL
Показывать посты из категории в которой человек создаёт пост?
Post.where(category_id: params[:category_id]) #или откуда вы там получаете id категории
Ответ написан
Комментировать
AdilA
@AdilA Автор вопроса
Нравится кодить, изучаю go c echo
<% if @category.id > 13 %>
    <% Category.where(id:params[:category_id]).each do |c| %>
    <% Category.where(parent_id:c.parent_id).each do |cc| %>
    <ul>
    <li>
      <div class="pop_task_block">
      <%=link_to cc.name, new_category_post_path(cc) %>
      </div>
    </li>
    <% end %>
    <% end %>
    <% end %>
    </ul>


Получилось сделать так, но это всё на view не кошерно но работает мож кто подскажет как это запихнуть в контроллер или модель)))
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы