我是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 :subjects
考試有以下欄目:
t.date "start_date"
t.string "department"
t.integer "professor_id"
t.integer "subject_id"
及其與主題的關係:belongs_to :subject
及其與教授的關係:belongs_to :professor
及其與註冊關係:
has_many :signups
has_many :signupers, through: :signups, class_name: 'User'
has_many :exams
及其與主題的關係
註冊有以下列:
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 %>
我也想有教授的名字(教授模型)和主題名稱(主題模型)。
這是我的申請人數控制器:
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