ActionController :: UnknownFormat в UsersController # show_friend

Завожу друга, кстати. Вместо создания контроллера дружбы я решил добавить в ресурсы пользователей действия для передачи данных в таблицу дружбы. Странно то, что после того, как я настроил маршруты и добавил метод show_friend в свой пользовательский контроллер, ссылки в моих представлениях не могут направить меня на отображение частичного шаблона на моей странице user.show. Он отметил эту ошибку:

ActionController :: UnknownFormat в UsersController # show_friend

Я проделал то же самое с другими моими действиями: show_reply / show_draft / show_collect, поэтому я не совсем понимаю, почему это не работает.

Это мой первый вопрос, размещенный здесь. Пожалуйста, дайте мне знать, если я не исправил. (мой гитхаб, если нужно ...)

routes.rb

resources :users do
  member do
    get :show_reply
    get :show_draft
    get :show_collect
    get :show_friend

    post :invite_friend
    post :accept_friend
    post :ignore_friend
  end
end

user_controller.rb

def show_friend
  @user = User.find(params[:id])
end

просмотры / пользователи / show.html.erb

<li class = "nav-item">
    <%= link_to "My Friends", show_friend_user_path(@user), class: "nav-link #{'active' if action?('show_friend')}" %>
</li>

#...left out...

<div class = "row">
  <div class = "col">
    <% if action?('show_draft') %>
      <%= render partial: 'drafts' %>
    <% elsif action?('show_reply') %>
      <%= render partial: 'replies' %>
    <% elsif action?('show_collect') %>
      <%= render partial: 'collection' %>
    <% elsif action?('show_friend') %>
      <%= render partial: 'friends' %>
    <% else %>
      <%= render partial: 'posts' %>
    <% end %>
  </div>
</div>

просмотры / пользователи / _friends.html.erb

<div class = "big-yellow-light">
  <h1>Here's the FRIENDSHIP info</h1>
</div>

Ваше действие - show_friend, поэтому, когда Rails обрабатывает его, он отображает шаблон show_friend.html.erb (если не указан другой шаблон, но вы не укажете его). Можешь показать свой show_friend.html.erb?

Ilya Konyukhov 03.11.2018 04:42

Я не готовил show_friend.html.erb, потому что хочу, чтобы он рендерил частичную: _friends.html.erb на моей странице пост-шоу. Но да, после того, как я добавил новый файл show_friend.html.erb в папку моих пользователей, соединение работает нормально. И я внезапно нашел ключ: в моем def show_friend мне пришлось добавить эту строчку: render :show. В этом вся разница! Спасибо за вашу помощь! Ответ просто поражает меня ...

Jie-Yun Ling 03.11.2018 05:10
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
2
52
0

Другие вопросы по теме