Как решить сломанные маршруты? - PullRequest
0 голосов
/ 22 июня 2019

Я работаю в проекте, в котором есть функция дружбы между пользователями. Я не знаю, что происходит с моими маршрутами, но это мой вывод в html:

/ friends.Friends -> это должна была быть ссылка «друзья», но когда я нажимаю на нее, ничего не происходит

и

/ friend_requests.Friend% 20requests -> это также должна была быть ссылка "friend_requests"

Rails.application.routes.draw do
  root "events#index"
  devise_for :users
  devise_scope :user do
    get "login", :to => "devise/sessions#new"
    get "logout", :to => "devise/sessions#destroy"
    get "signup", :to => "devise/registrations#new"
  end
  resources :users, :only => [ :index, :show ]
  resources :friendships, :only => [:create, :update, :destroy]
  get '/friend_requests', to: 'friend_requests#index'
  get '/friends', to: 'friends#index'
  resources :events
end

и вот что я сделал на мой взгляд:

<%= link_to friends_path "Friends" %>
<br>
<%= link_to friend_requests_path "Friend requests" %>

Это выходные данные Buke Exec Rake Route

Prefix Verb   URI Pattern                                                                              Controller#Action
                     root GET    /                                                                                        events#index
         new_user_session GET    /users/sign_in(.:format)                                                                 devise/sessions#new
             user_session POST   /users/sign_in(.:format)                                                                 devise/sessions#create
     destroy_user_session DELETE /users/sign_out(.:format)                                                                devise/sessions#destroy
        new_user_password GET    /users/password/new(.:format)                                                            devise/passwords#new
       edit_user_password GET    /users/password/edit(.:format)                                                           devise/passwords#edit
            user_password PATCH  /users/password(.:format)                                                                devise/passwords#update
                          PUT    /users/password(.:format)                                                                devise/passwords#update
                          POST   /users/password(.:format)                                                                devise/passwords#create
 cancel_user_registration GET    /users/cancel(.:format)                                                                  devise/registrations#cancel
    new_user_registration GET    /users/sign_up(.:format)                                                                 devise/registrations#new
   edit_user_registration GET    /users/edit(.:format)                                                                    devise/registrations#edit
        user_registration PATCH  /users(.:format)                                                                         devise/registrations#update
                          PUT    /users(.:format)                                                                         devise/registrations#update
                          DELETE /users(.:format)                                                                         devise/registrations#destroy
                          POST   /users(.:format)                                                                         devise/registrations#create
                    login GET    /login(.:format)                                                                         devise/sessions#new
                   logout GET    /logout(.:format)                                                                        devise/sessions#destroy
                   signup GET    /signup(.:format)                                                                        devise/registrations#new
                    users GET    /users(.:format)                                                                         users#index
                     user GET    /users/:id(.:format)                                                                     users#show
              friendships POST   /friendships(.:format)                                                                   friendships#create
               friendship PATCH  /friendships/:id(.:format)                                                               friendships#update
                          PUT    /friendships/:id(.:format)                                                               friendships#update
                          DELETE /friendships/:id(.:format)                                                               friendships#destroy
          friend_requests GET    /friend_requests(.:format)                                                               friend_requests#index
                  friends GET    /friends(.:format)                                                                       friends#index
                   events GET    /events(.:format)                                                                        events#index
                          POST   /events(.:format)                                                                        events#create
                new_event GET    /events/new(.:format)                                                                    events#new
               edit_event GET    /events/:id/edit(.:format)                                                               events#edit
                    event GET    /events/:id(.:format)                                                                    events#show
                          PATCH  /events/:id(.:format)                                                                    events#update
                          PUT    /events/:id(.:format)                                                                    events#update
                          DELETE /events/:id(.:format)                                                                    events#destroy
                     page GET    /*id                                                                                     high_voltage/pages#show
       rails_service_blob GET    /rails/active_storage/blobs/:signed_id/*filename(.:format)                               active_storage/blobs#show
rails_blob_representation GET    /rails/active_storage/representations/:signed_blob_id/:variation_key/*filename(.:format) active_storage/representations#show
       rails_disk_service GET    /rails/active_storage/disk/:encoded_key/*filename(.:format)                              active_storage/disk#show
update_rails_disk_service PUT    /rails/active_storage/disk/:encoded_token(.:format)                                      active_storage/disk#update
     rails_direct_uploads POST   /rails/active_storage/direct_uploads(.:format)                                           active_storage/direct_uploads#create

Когда я получаю доступ, набрав localhost: 300 / friends или localhost: 300 / friend_requests, это работает но когда я пытаюсь использовать ссылку на, она не работает: /

Ответы [ 2 ]

3 голосов
/ 22 июня 2019

Порядок ваших аргументов неверен.

Из Документов

link_to (name = nil, options = nil, html_options = nil, & block) public

Создает элемент привязки с заданным именем, используя URL-адрес, созданный с помощью набора параметров. Смотрите действительные опции в документации для url_for. Также возможно передать строку вместо хэша опций, который генерирует элемент привязки, который использует значение строки в качестве ссылки для ссылки. Использование символа: back вместо хэша опций сгенерирует ссылку на реферер (обратная ссылка JavaScript будет использоваться вместо реферера, если ее не существует). Если в качестве имени передано nil, значением самой ссылки станет имя.

Имя должно быть передано в качестве первого аргумента, но вы передаете его как второй.

Попробуйте поменять аргументы так:

<%= link_to "Friends" ,friends_path %>
<br>
<%= link_to "Friend requests", friend_requests_path %>
1 голос
/ 22 июня 2019

Ваш помощник link_to в представлении не в порядке,

link_to (name = nil, options = nil, html_options = nil, & block)

<%= link_to "Friends", friends_path %>
<br>
<%= link_to "Friend requests", friend_requests_path  %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...