Я думаю, что ваш вопрос слишком общий, но вот некоторые мысли ... при условии, что вы создаете обычное приложение Rails
«Должен ли я рассмотреть возможность использования представлений?»
Представления - это то, что пользователи видят в обычных приложениях rails. Поэтому, если вы хотите отображать данные для своих пользователей, используйте представления для отображения данных, доступных в контроллерах. Каждое действие в контроллере будет получать данные из моделей и иметь соответствующий вид.
Таким образом, для отображения книг, принадлежащих пользователю, у вас может быть контроллер Books. После того, как пользователь войдет в систему, у вас будет действие «index» в контроллере «Books», которое говорит: @user_books = @ user.books. В этом случае @user будет объектом пользователя вашей системы аутентификации. У пользователя будет много книг, и вполне возможно, что у книги будет много пользователей. Затем в вашем файле views / books / index.html.erb есть что-то вроде:
<ul>
<% @user_books.each do |b| %>
<li> <%= b.name %> </li>
<% end %>
</ul>
для распечатки списка названий книг.
Объединения выполняются Rails автоматически, поэтому вам пока не нужно об этом беспокоиться. Но если ваше приложение становится действительно большим, а запросы сложными, вам, возможно, придется переписать операторы SQL, чтобы улучшить масштабируемость ... но это, очевидно, хорошая проблема.
Надеюсь, это поможет!