関連するモデルから別のモデルに値の配列を配置したいと考えています。生徒が 1 日到着したかどうかを登録するサイトを作成しています。だから私は多くの「学生モデル」を持つ「日モデル」を持っています。同僚が学校にいる生徒を確認し、多くの生徒がいる 1 日インスタンスを作成できるようにしたいと考えています。
複数のパラメータを取得できますが、複数の学生 ID を日モデルに保存できません。これは私が今持っているものです。
デイコントローラー
class DaysController < ApplicationController
def new
@days = Day.new
@students = Student.all
end
def create
@day = Day.new(params[:days])
if @day.save
redirect_to @day, :notice => "Successfully created student."
else
render :action => 'new'
end
end
def show
@day = Day.find(params[:id])
end
end
デイモデル
class Day < ActiveRecord::Base
attr_accessible :student_id
has_many :students
end
学生モデル
class Student < ActiveRecord::Base
attr_accessible :name, :group_id, :phone, :parentsphone
validates :phone, :numericality => {:only_integer => true}
belongs_to :days
end
ビュー/日/new.html.erb
<%= simple_form_for @days do |f| %>
<%= f.collection_check_boxes :students,
Student.all,
:id,
:name,
:input_html => { :class => 'checkbox' },
:checked => @days.students %>
<%= f.submit "Skapa dag" %>
<% end %>
痕跡
Started POST "/days" for 127.0.0.1 at 2013-04-12 22:52:11 +0200
Processing by DaysController#create as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"yCwSiZCVR2Cy9qDMnQtPfQt9hysl975pqjW8nFPI828=", "day"=>{"students"=>["5", "14", "15", ""]}, "commit"=>"Skapa dag"}
(0.1ms) begin transaction
SQL (18.3ms) INSERT INTO "days" ("created_at", "student_id", "updated_at") VALUES (?, ?, ?) [["created_at", Fri, 12 Apr 2013 20:52:11 UTC +00:00], ["student_id", nil], ["updated_at", Fri, 12 Apr 2013 20:52:11 UTC +00:00]]
(1.3ms) commit transaction
Redirected to http://localhost:3000/days/5
Completed 302 Found in 25ms (ActiveRecord: 19.7ms)