Я новичок в Rails. Я пытаюсь создать приложение, в котором учащиеся могут войти в систему и зарегистрироваться на экзамене. У меня есть следующие модели и контроллеры, которые связаны с тем:Как автоматически заполнить форму данными с других моделей автомобилей Rails
Тема имеет следующие столбцы:
t.string "name" t.integer "ects"
t.integer "year" t.integer "professor_id"
Его отношения с экзаменом: has_one :exam
Его отношения с профессором: belongs_to :professor
Профессор имеет следующие столбцы:
t.string "first_name"
t.string "last_name"
t.string "title"
Свое отношение к экзамену: has_many :exams
Его отношения с темой: has_many :subjects
экзамен имеет следующие столбцы:
t.date "start_date"
t.string "department"
t.integer "professor_id"
t.integer "subject_id"
Его отношения с темой: belongs_to :subject
Его отношения с профессором: belongs_to :professor
Его отношения с Signup:
has_many :signups
has_many :signupers, through: :signups, class_name: 'User'
Регистрация содержит следующие столбцы:
t.integer "exam_id"
t.integer "user_id"
Его отношения с экзаменом: belongs_to :exam
Его отношения с пользователем: belongs_to :user
Я уже подключили все и сделал кнопку Регистрация на экзамен шоу зрения, который связан с new_signup_path. Я хочу, чтобы данные отображались в форме, когда пользователь перенаправляется на нее. Я хотел бы, чтобы имя субъекта, имя профессора и дата начала были показаны в форме. Таким образом, пользователь должен нажать кнопку «Отправить» только.
Я сделал эту форму, которая работает, но он пуст:
<%= form_for @signup do |f| %>
<%= f.fields_for :exam do |e| %>
<%= e.label :start_date %>
<%= e.date_field :start_date %>
<% end %>
<%= f.submit "Submit", class: "btn btn-large btn-primary" %>
<% end %>
Я также хочу иметь имя профессора (профессор модели) и имя субъекта (Subject модель).
это мои регистрации контроллер:
before_action :signed_in_user, only: [:index, :new, :create]
def index
if current_user.role == 1
@signups = Signup.all
else
@signups = Signup.where(user_id:current_user.id)
end
end
def new
@signup = Signup.new
end
def create
@signup = Signup.new(signup_paramas)
@signup.user_id = current_user.id
if @signup.save
flash[:success] = "You signed up for the exam."
redirect_to @signups
else
render :new
end
end
private
def signup_paramas
params.require(:signup).permit(:user_id).merge(exam_id: @exam.id)
end
Я прибегая к помощи этому вопросу в течение 2 недель, но я не смог найти решение. Я ценю любую помощь.Заранее спасибо :)
http://apidock.com/rails/ActionView/Helpers/FormHelper/text_field см. Первый комментарий – Fallenhero