即時嘗試聲明一些虛擬屬性,將用於將日期和時間組合在一起給予我日期時間,但我不斷收到以下錯誤。正如您從下面的代碼示例中看到的那樣,如何設置屬性以及傳遞給它們的信息。ActiveModel :: MassAssignmentSecurity :: SchedulesController中的錯誤#創建
ActiveModel::MassAssignmentSecurity::Error in SchedulesController#create
{"utf8"=>"✓",
"authenticity_token"=>"j4V6DAqK5U/+ZGaSKDlrEoOBqXu3pEq/FM51ingi2sg=",
"schedule"=>{"event"=>"1",
"result_id"=>"",
"date"=>"04/11/2012",
"arrival_time"=>"08:00 PM",
"time"=>"08:00 PM",
"duration"=>"1800",
"location_id"=>"11",
"selected_players"=>["",
"41",
"38"],
"team_id"=>"1",
"opponent_id"=>"1",
"home_or_away"=>"Home"},
"commit"=>"Save Event"}
控制器
# POST /schedules
# POST /schedules.json
def create
params[:schedule].delete(:date)
params[:schedule].delete(:time)
@user = User.find(current_user)
@players = User.where(:team_id => current_user[:team_id]).all
params[:schedule][:selected_players].compact
#params[:schedule][:selected_players].reject!{|selected_players| selected_players==""}
#@availabilities = @user.availabilities.create(:unique_id => params[:schedule][:id])
@schedule = Schedule.new(params[:schedule])
respond_to do |format|
if @schedule.save
#Notifier.event_added(@user,@schedule).deliver
format.html { redirect_to(schedules_url,
:notice => "#{event_display_c(@schedule.event)} vs #{@schedule.opponent.name} was successfully created.") }
format.json { render :json => @schedule, :status => :created, :location => @schedule }
else
format.html { render :action => "new" }
format.json { render :json => @schedule.errors, :status => :unprocessable_entity }
end
end
end
模型
class Schedule < ActiveRecord::Base
belongs_to :location
belongs_to :opponent
belongs_to :team
belongs_to :result
has_many :availabilities, :dependent => :destroy
attr_accessible :location_id, :user_id, :opponent_id, :datetime, :score_for, :score_against, :event,
:team_id, :home_or_away, :arrival_time, :duration, :selected_players, :result_id
attr_accessor :date, :time
'date'和'time'?他們是OP發佈的代碼中的attr_accessors。 –
似乎仍然給我同樣的錯誤:S –
是否有可能錯誤是關於'可用性'模型,而不是'Schedule'模型?在'@availabilities = @ user.availabilities.create(:schedule_id => params [:schedule] [:id])這一行中,將'schedule_id'分配給新創建的記錄,如果' 「schedule_id」不在「可用性」模型的「attr_accessible」列表中。 –