Rails link_to вызывает неправильное действие контроллера - PullRequest
0 голосов
/ 23 мая 2018

Мой 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.Это никогда не выполняется.Дайте мне знать, если я могу предоставить более полезную информацию, спасибо за помощь!

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