Как заставить `link_to` корректно работать в Rails - PullRequest
0 голосов
/ 28 ноября 2018

У меня есть одна страница с кнопкой для создания нового альбома фотографий в моем приложении, например:

<span class="file-upload">
  <%= link_to '', new_album_path, class: "btn-upload trigger-file-upload"%>
</span>

Мой route.rb такой:

resources :albums do
  resources :photos
end

ЕслиЯ щелкаю прямо на своей странице, как это, это работает:

https://localhost:3000/albums/new

Почему ссылка, сгенерированная <% = link_to '', new_album_path, класс: "btn-upload trigger-file-upload"%> не делаетработает?Я нажимаю на нее, и страница не перенаправляется

Отредактировано: Мои рейк-маршруты:

enter image description here

Ответы [ 5 ]

0 голосов
/ 29 ноября 2018

Попробуйте вот так

 <span class="file-upload">
<a class="btn-upload trigger-file-upload" herf=" <%=  new_album_path%>"</a>
 </span>
0 голосов
/ 28 ноября 2018

Это была проблема в моем JavaScript, из-за которой кнопка переопределения была переопределена

 $('.trigger-file-upload').click(function(event){
    form = $(this).parents('.file-upload').parent();
    field = $(this).parents('.file-upload').find('input[type="file"]');
    field.trigger('click');

    return false;
  });
0 голосов
/ 28 ноября 2018

Больше "научить ловить рыбу", но чтобы определить, какие маршруты доступны в вашем приложении и соответствующие пути, которые вы должны выполнить

rails routes | grep album

Это покажет вам всевозможные именованные маршруты вместе с их путем и соответствующим контроллером.Ваш, скорее всего, назван new_album_photo_path для получения ссылки для загрузки нового изображения.Всегда обращайтесь к маршрутам, если у вас есть вопрос.

0 голосов
/ 28 ноября 2018

Я думаю, что все хорошо, кроме одного текста для привязки, поэтому, когда вы нажимаете на этот текст, и он откроется https://localhost:3000/albums/new.

<span class="file-upload"> <%= link_to 'Create New Album', new_album_path, class: "btn-upload trigger-file-upload" %> </span>

Я надеюсь, что это поможетвы.

0 голосов
/ 28 ноября 2018

Если вы хотите использовать new_album_path, вам необходимо иметь ресурсы: фотографии в вашем файле rout.rb.Таким образом, вам нужно только сохранить:

resources :photos

вместо

resources :albums do
  resources :photos
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...