почему hobby_posts_path не распознается системой, пока она есть в маршрутах rails - PullRequest
0 голосов
/ 02 июля 2019

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

код для этогостраница, на которой я использовал эту переменную:

<% branch_path_name = "#{params[:action]}_posts_path " %>
<div class="col-sm-12">
    <ul class="categories-list">
        <%= render all_categories_button_partial_path, branch_path_name: branch_path_name %>
        <%= @categories.each do |category | %>
        <li class="category-item">
            <%= link_to category.name, send(branch_path_name, category: category.name), :class => ("selected-item" if params[:category] == category.name) %>
        </li>
        <% end %>
    </ul>
</div>

мой вспомогательный метод all_categories_button_partial выглядит следующим образом

def all_categories_button_partial_path
        if params[:category].blank?
            'posts/branch/categories/all_selected'
        else
            'posts/branch/categories/all_not_selected'
        end
    end

, а часть, которую я использовал внутри вспомогательного метода, выглядит как _all_selected.html.erb

<li class="category-item">
    <%= link_to "All", send(branch_path_name), :class => "selected-item" %>
</li> 

и _all_not_selected.html.erb частичное равно

<li class="category-item">
    <%= link_to "All", send(branch_path_name) %>
</li>

но когда я нажимаю на ссылку, я получаю эту ошибку

undefined method `hobby_posts_path ' for #<#<Class:0x000000000e32de40>:0x000000000d3e1810>
Did you mean?  hobby_posts_path
               hobby_posts_url
Extracted source (around line #2):
1
2
3

<li class="category-item">
    <%= link_to "All", send(branch_path_name), :class => "selected-item" %>
</li>

, где я сделал неправильно

1 Ответ

0 голосов
/ 02 июля 2019

В вашем определении пути есть дополнительный пробел.В настоящее время оно равно <% branch_path_name = "#{params[:action]}_posts_path " %>, а должно быть <% branch_path_name = "#{params[:action]}_posts_path" %> (обратите внимание, что пробел удаляется после пути)

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