Не могу получить доступ к моему приложению с URL в ruby ​​на рельсах - PullRequest
0 голосов
/ 24 апреля 2019

Я пытаюсь получить доступ к моему приложению напрямую с url , но столкнулся с этим сообщением об ошибке. Я не знаю, почему я получаю эту ошибку ниже. Мои маршруты установлены правильно

NoMethodError in CategorsController#show
    undefined method `set_categor' for #<CategorsController:0x07087410> Did you mean? set_trace_func

Request

Parameters:

{"id"=>"viewnow"}

настройки маршрутов

resources :categors, only: [:index, :new, :create, :destroy, :show, :viewnow]

файлы контроллера

class CategorsController < ApplicationController
  before_action :set_categor, only: [:show, :edit, :update, :destroy, :viewnow]

 def viewnow
   @categors=Categor.all
 end
end

viewnow

h1>This is view now page</h1>
<h1>Categors</h1>

<table>
  <thead>
    <tr>
      <th>Id</th>
      <th>Cat name</th>
      <th>Car label</th>
      <th colspan="3"></th>
    </tr>
  </thead>

  <tbody>
    <% @categors.each do |categor| %>
      <tr>
        <td><%= categor.id %></td>
        <td><%= categor.cat_name %></td>
        <td><%= categor.car_label %></td>
        <td><%= link_to 'Show', categor %></td>

      </tr>
    <% end %>
  </tbody>
</table>

<br>

вот как я получаю к нему доступ по URL

localhost:3000/categors/viewnow

1 Ответ

1 голос
/ 24 апреля 2019

Добавить в ваш файл маршрутов

routes.rb

resources :categors, only: [:index, :new, :create, :destroy, :show]
match 'categors/viewnow' => 'categors#viewnow', via: :get

resources имеют пути по умолчанию, и вы можете удалить этот путь по умолчанию из ресурсов, добавлен этот флаг «только:», но если вам нужно добавить какой-то новый маршрут, вы можете написать новый маршрут с помощью «match»!

или вы можете написать то же самое в routes.rb другим способом

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