Я новичок в rails 5 и работаю над проектом, в котором есть страница для каждой категории, и я буду показывать только элементы блога с определенными или одинаковыми категориями.
Например: Название блога 1 для блогаТитул 5 имеет категорию «Технология», а заголовок блога 6 для блога 8 имеет категорию «Бизнес».
Если я нажму на http://localhost:3000/blogs/tech, то будут показаны заголовки блога с 1 по 5, и еслиЯ нажимаю http://localhost:3000/blogs/business, и там будет отображаться заголовок блога с 6 по 8.
Для этого я попытался создать настраиваемую область на контроллере блогов:
class BlogsController < ApplicationController
def index
@blogs = Blog.all
end
def business
@blogs = Blog.business
end
end
И затем в моей модели блога:
class Blog < ApplicationRecord
def self.business
where(post_category: 1)
end
end
Я также создал новое представление для моего бизнес-метода, чтобы показать все элементы блога категории бизнес-типа, и просто скопировал то же содержимое в мой файл index.html.erb.:
<p id="notice"><%= notice %></p>
<h1>Post Category 0</h1>
<table>
<thead>
<tr>
<th>Title</th>
<th>Body</th>
<th colspan="3"></th>
</tr>
</thead>
<tbody>
<% @blogs.each do |blog| %>
<tr>
<td><%= blog.title %></td>
<td><%= blog.body %></td>
<td><%= link_to blog.status, toggle_status_blog_path(blog) %></td>
<td><%= blog.post_category.title %></td>
<td><%= link_to 'Show', blog %></td>
<td><%= link_to 'Edit', edit_blog_path(blog) %></td>
<td><%= link_to 'Destroy', blog, method: :delete, data: { confirm: 'Are you sure?' } %></td>
</tr>
<% end %>
</tbody>
</table>
<br>
<%= link_to 'New Blog', new_blog_path %>
И наконец я обновил свои маршруты:
get 'blogs/business', to: 'blogs#business'
Пока это будет работать для отдельных предметов.Помещать его вручную не получится, если каждый раз, когда я создаю новую категорию, плюс я не знаю точно, что будет добавлять пользователь приложения в заголовок категории.Как я могу сделать это программно, чтобы он создавал новые страницы каждый раз, когда создается новая категория вместо того, чтобы вручную добавлять и создавать представления каждый раз?
Есть ли способы сделать это?
Заранее спасибо!
Примечание: Блог и таблица PostCategory связаны друг с другом через post_category_id.