Администратор Rails выдает ошибку «Нет совпадений маршрута»

У меня есть эта конфигурация:

вопрос.рб

class Question
    belongs_to :asker
    belongs_to :expert
end

пользователь.rb

class User
  has_one :asker
  has_one :expert
end 

Я настроил rails_admin и не могу редактировать ни один вопрос из-за ошибки.

ActionController::UrlGenerationError at /question/764/edit
No route matches {:action=>"show", :controller=>"rails_admin/main", :id=>nil, :model_name=>"asker"}

Я пытался добавить метод show в askers_controller.rb, но это все равно не имеет никакого значения.

Спасибо.


person Alagu    schedule 09.03.2017    source источник


Ответы (1)


  1. У вас есть метод edit в askers_controller?
  2. Когда вы пытаетесь что-то отредактировать, он должен иметь такой путь: edit_admin_news_letter GET /admin/news_letters/:id/edit
person VK29    schedule 09.03.2017
comment
Привет, я добавил метод редактирования также в аскеры gist.github.com/alagu/60e876fa33cbf830b816d878b9afa71c - person Alagu; 09.03.2017
comment
Разве вы не предполагаете найти ту конкретную запись, которую хотите отредактировать, как в def edit @question = Question.find(764) end ?? - person VK29; 09.03.2017
comment
Извините, я не понял, что вы говорите. Должен ли я делать в askers_controller#edit @question = Question.find(764) ? - person Alagu; 09.03.2017
comment
Я думаю, проблема в том, что идентификатор равен нулю. - person Alagu; 09.03.2017
comment
Да, проблема связана со ссылкой, которую вы создаете для просмотра страницы редактирования. Вы должны проверить свои рейк-маршруты и использовать путь редактирования в теге link_to, и с этим вы можете передать id , этот идентификатор вы можете получить в def edit ... конец предположим, что ваш путь - это edit_path, поэтому, пример: ‹%= f.link_to 'Edit ' , edit_path(@object) %› Это запросит метод редактирования для @object - person VK29; 09.03.2017
comment
Я не понимаю, но ошибка относится к методу показа, а не к методу редактирования. - person Alagu; 16.03.2017
comment
Просто добавить. Это проблема rails_admin. не обычная проблема с рельсами. - person Alagu; 16.03.2017