Мой rails link_to вызывает другое действие контроллера, чем должно.У меня есть выпадающее меню, которое я хотел бы связать с другой частью сайта.Однако он вызывает метод контроллера, который помог построить страницу вместо фактического метода контроллера.Это вызывает проблему, потому что я не передаю правильную информацию в вызов метода, чтобы правильно выполнить это.Я получил эту точную вещь для работы на других частях моего сайта, но не могу здесь.
Точная проблема возникает, когда вызывается метод setup
и который затем по очереди вызывает другой метод, который опирается на идентификатор, которыйЯ не передаю идентификатор, когда у меня есть link_to в раскрывающемся меню, потому что я не хочу вызывать установку.
Вот соответствующий код:
setup.html.erb:
<div class="dropdown-menu aria-labelledby="dropdownMenuButton"" >
<% @days.each do |d|%>
<%= link_to "Go to #{d}", weeks_draw_day_path(:test => d), :class=>'dropdown-item' %>
<% end %>
</div>
days_controller.rb: Я удалил большую часть кода setup
, потому что он не был 'т полезно.Я сохранил поиск параметров с идентификатором и последующим вызовом вспомогательного метода, который вылетает, потому что я никогда не передаю этот идентификатор в link_to в представлении выше.
class WeeksController < ApplicationController
before_action :set_week, only: [:show, :edit, :update, :destroy]
def schedule
week, start, finish = get_set_of_weeks()
for i in 0...week.length
Week.check_insert_week(week[i], start[i], finish[i])
end
end
def setup
# Gets the id of the current week
@w = Week.find_by_id(params[:id])
# Gets a DB friendly start of week
end
def draw_day
byebug
logger.info "Sup"
end
def week_lookup_controller(id)
Week.week_lookup_model_lit(id)
end
helper_method :week_lookup_controller
private
# Never trust parameters from the scary internet, only allow the white list through.
def week_params
params.fetch(:week, {})
end
end
rout.rb: У меня есть только «недельные» маршруты контроллеров, перечисленные здесь, так как я не считаю, что остальные имеют значение.
########### Week actions #############
get 'weeks/schedule'
get '/weeks/:id', to: 'weeks#setup', as: 'weeks_setup'
get 'weeks/draw_day'
resources :weeks, only: [:schedule, ] do
get :schedule, on: :collection
end
Как видите, у меня есть byebug
в методе контроллера draw_day.Это никогда не выполняется.Дайте мне знать, если я могу предоставить более полезную информацию, спасибо за помощь!