Я получаю ошибку в названии. Я не уверен, как точно писать маршруты, контроллер и индекс.undefined method `refreshProfile_affinity_path 'для # <# <Класс: 0x8daee70>: 0x8dbdc30>
Я пытаюсь создать кнопку «Обновить» в качестве index.html.erb
вида, показанной ниже:
...
<td><%= link_to 'Refresh', refreshProfile_affinity_path(a), method: :put %></td>
...
Он использует этот маршрут в routes.rb
:
resources :affinities
put 'affinities/refreshProfile/:id' => 'affinities#refreshProfile'
Он пытается получить доступ к следующему в affinities_controller.erb
:
...
def refreshProfile
@affinity = Affinity.find(params[:id])
new_profile_affinity = User.find(@affinity.user_A_id).profile_affinity_with(User.find(@affinity.user_B_id))
if @affinity.update_attributes(:integer, new_profile_affinity)
redirect_to @affinity
end
end
...
Что может быть неправильным? Любая помощь очень ценится!
Это было! Что именно делает «как:»? Еще раз спасибо! – user107680
Используется для указания имени, используемого для генерации вспомогательных методов маршрутизации. Если вы запускаете «рейк-маршруты» из командной строки, вы увидите все маршруты для своего приложения. Постоянные маршруты получают вспомогательные методы по умолчанию, например. 'affinity_path', но если вы добавите настраиваемый маршрут с помощью' put ... ', вам нужно указать, какой префикс для вспомогательных функций будет для этого маршрута. Надеюсь, это поможет! – mikej
Это определенно проясняет ситуацию! Спасибо :) – user107680