У меня есть ссылка link_to
на моей странице статуса:
<%= link_to 'New Ping Check', controller: "checks", action: "new", subcategory_id: @subcategory.id, type: "PingCheck" %>
Все работает, кроме subcategory_id
. Он просто не заполняет форму, но тип предварительного заполнения, например, работает.
Я использую @subcategory.id
, потому что эта ссылка находится на сайте #show
в подкатегории. И если я просто использую @subcategory.id
, чтобы отобразить его на веб-сайте, он появляется, но почему-то он просто не go с помощью метода link_to
.
Мой контроллер проверки выглядит следующим образом:
class ChecksController < ApplicationController
before_action :set_check, only: [:show, :edit, :update, :destroy]
# GET /checks
# GET /checks.json
def index
@checks = Check.all
end
# GET /checks/1
# GET /checks/1.json
def show
end
# GET /checks/new
def new
@check = Check.new( type: params[:type])
end
# GET /checks/1/edit
def edit
end
# POST /checks
# POST /checks.json
def create
@check = Check.new(check_params)
@check.subcategory = @check&.subcategory
respond_to do |format|
if @check.save
format.html { redirect_to check_path(@check), notice: 'Check was successfully created.' }
format.json { render :show, status: :created, location: @check }
else
format.html { render :new }
format.json { render json: @check.errors, status: :unprocessable_entity }
end
end
end
# PATCH/PUT /checks/1
# PATCH/PUT /checks/1.json
def update
respond_to do |format|
if @check.update(check_params)
byebug
format.html { redirect_to check_path(@check), notice: 'Check was successfully updated.' }
format.json { render :show, status: :ok, location: @check }
else
byebug
format.html { render :edit }
format.json { render json: @check.errors, status: :unprocessable_entity }
end
end
end
# DELETE /checks/1
# DELETE /checks/1.json
def destroy
@check.destroy
respond_to do |format|
format.html { redirect_to checks_url, notice: 'Check was successfully destroyed.' }
format.json { head :no_content }
end
end
private
# Use callbacks to share common setup or constraints between actions.
def set_check
@check = Check.find(params[:id])
end
# Never trust parameters from the scary internet, only allow the white list through.
def check_params
params.require(:check).permit(:name, :subcategory_id, :type, :input)
end
end
Кто-нибудь знает, почему это не сработает?