Я новичок в кодировании.Извиняюсь, если это простой ответ, но я искал пару часов и не повезло.
Текущая проблема: май 2018 существует с 1 прогоном.
На моей странице индекса / месяцев есть ссылка на страницу май 2018 , где я мог бы создать свои будущие прогоны в этом месяце.
Однако, если я создам2-й прогон, когда я возвращаюсь на свою индексную страницу / месяцы, появляется ДВЕ ссылки по май 2018 (не та, на которую я рассчитывал).В БД есть только один объект май 2018 года, и он владеет обоими прогонами.(Затем я создаю 3, 4, 5, 6 и т. Д. Ссылки, когда я создаю больше прогонов ...)
Краткий обзор: Это приложение с журналом запусков.Месяц has_many работает.Когда я создаю пробег, он привязан к месяцу.runs_controller.rb
def create
@run = @month.runs.build(run_params)
@run[:user_id] = current_user.id
@run[:pace_per_mile] = @run.format_pace_per_mile
if @run.save
redirect_to month_path(@month)
else
@month = Month.find(params[:month_id])
@runs = @month.runs
render 'months/show'
end
end
Вот мой / месячный индекс index.html.erb, в котором происходит ошибка:
<strong><h2>Your Previous Runs</h2></strong>
<% @months.each do |month| %>
<%= link_to(month) do %>
<h3><%= month.name %> <%= month.year %></h3>
<% end %>
<% end %>
Вот мой месячный # индекс, чтобы вы могли видеть область действия.
def index
@months = current_user.months
@month = Month.new
end
Я могу предоставить больше кода, если я чего-то не включаю!
@ xploshioOn, @ fool-dev и @moveson, Спасибо за ваши ответы.
Я включаю модель месяца и пользователя, а также код, в котором создается месяц...
month.rb
class Month < ApplicationRecord
has_many :runs
has_many :users, through: :runs
validates :name, :year, presence: true
def month_mileage
self.runs.collect {|run| run.distance}.sum
end
end
user.rb
class User < ApplicationRecord
has_secure_password
validates :email, presence: true
validates :email, uniqueness: true
validates :password, presence: true
validates :password, confirmation: true
has_many :runs
has_many :months, through: :runs
end
В настоящее время я создаю месяцы из months_controller .Я начинаю чувствовать, что в этом моя ошибка?
def create
@month = Month.new(month_params)
if @month.save
redirect_to month_url(@month)
else
@months = current_user.months
render :index
end
end
Еще раз спасибо за любой совет!