這是我的控制器:
class RegularController < ApplicationController
before_filter :find_student
def regular_student
session[:page] = 'regular_student'
end
def generate_regular_student
@regular = RegularStudent.new()
@regular.codtitulo = params[:academic_title_id]
render :template => 'regular/_regular_student_output'
end
end
這是此問題的重要途徑:
get '/regular_student' => 'regular#regular_student'
post '/generate_regular_student' => 'regular#generate_regular_student'
這是我的regular_student.html.rb表格:
<%= form_for :generate_regular_student, url: "generate_regular_student" do |f| %>
<%= f.collection_select :id, @student.academic_titles, :academid_title_id, :name, {}, {class: "form-control
screen-only"} %>
<%= f.submit "Generar constancia", {class: 'btn btn-default'} %>
<% end %>
這是我的部分_regular_student_output.html.erb,我想在其中顯示academic_title_id作為引數來的@regular.codtitulo,以確保我得到正確:
<h1>Generated!</h1>
<h2>Title: <%= @regular.codtitulo %></h2>
問題是引數永遠不會到達控制器。當我按下表單中的提交按鈕時,終端輸出以下內容:
Started POST "/generate_regular_student" for 172.16.2.67 at 2022-04-26 09:00:44 -0300
Processing by RegularController#generate_regular_student as HTML
Parameters: {"utf8"=>"?","authenticity_token"=>"QjHc7k7NXlYgL1XlTiy6rYGgSvID 5II YusNm7n i3XT6vNwUzLUxmjG6aTEqAQP6zIKNsetAKpg2L3Qip4AA==", "generate_regular_student"=>{"academic_title_id"=>"221"}, "commit"=>"Generar constancia"}
所以引數生成正確,但由于某種原因從未到達控制器。當我使用@regular.codtituloin_regular_student_output.html.erb我只是得到一個空白<h2> </h2>.
uj5u.com熱心網友回復:
正如除錯器所評論的那樣,引數到達了控制器。我的錯誤是在使用它時。而不是使用:
params[:academic_title_id]
我應該使用:
params[:generate_regular_student][:academic_title_id]
歸功于 dbugger。非常感謝你!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/468138.html
