這是我的數據庫結構。 AccountGrade.rb MODEL其連接表帳戶&檔次機型通過關聯在Rails 4中發佈連接表和has_many
class AccountGrade < ActiveRecord::Base
belongs_to :account
belongs_to :grade
attr_accessor :grade
attr_accessor :section
end
我account.rb模型
class Account < ActiveRecord::Base
has_many :grades, :through => :account_grades
has_many :account_grades
belongs_to :user
validates :school_name,:line_1,:city,:state,:country,:pincode,:phone_number, :presence => true
validates :pincode,:phone_number,numericality: { only_integer: true }
end
我grade.rb模型
class Grade < ActiveRecord::Base
has_many :accounts, :through => :account_grades
has_many :account_grades
attr_accessor :account_grades
end
我grades_controller.rb
class GradesController < ApplicationController
def index
@grades = Grade.all
render json: {
Grades:@grades
}.to_json
end
def add_class_sections
# unless params[:section]
@account_grades = AccountGrade.new class_sections_params
puts "Grades are #{@account_grades}"
@grades.each do |grade|
@account_grades = grade
puts grade
puts @account_grades
end
# end #unless ends here
end #function add_class_sections ends here
private
def class_sections_params
params.permit!
# params.require(:gardes).permit(:section)#, :email, :password, :salt, :encrypted_password)
end
end #class ends here
我在終端跟蹤中收到下面的錯誤。
Started POST "/add_classes?grade_id[0]=1§ion[0]=2&grade_id[1]=2§ion[1]=1&grade_id[2]=3§ion[2]=1" for 127.0.0.1 at 2015-11-17 12:43:47 +0530
ActiveRecord::SchemaMigration Load (0.1ms) SELECT `schema_migrations`.* FROM `schema_migrations`
Processing by GradesController#add_class_sections as */*
Parameters: {"grade_id"=>{"0"=>"1", "1"=>"2", "2"=>"3"}, "section"=>{"0"=>"2", "1"=>"1", "2"=>"1"}}
Completed 500 Internal Server Error in 10ms (ActiveRecord: 0.8ms)
ActiveRecord::UnknownAttributeError (unknown attribute 'controller' for AccountGrade.):
app/controllers/grades_controller.rb:11:in `add_class_sections'
Rendered /home/anjan/.rvm/gems/ruby-2.2.1/gems/actionpack-4.2.4/lib/action_dispatch/middleware/templates/rescues/_source.erb (11.0ms)
Rendered /home/anjan/.rvm/gems/ruby-2.2.1/gems/actionpack-4.2.4/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.7ms)
Rendered /home/anjan/.rvm/gems/ruby-2.2.1/gems/actionpack-4.2.4/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (0.9ms)
Rendered /home/anjan/.rvm/gems/ruby-2.2.1/gems/actionpack-4.2.4/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout (24.8ms)
哎你的散列即參數結構,新的'AccountGrade'是錯誤的,因爲你有一個像'controller'和'action'這裏沒有必需的,這樣它可以讓你給錯誤 –
嗨@VishalJAIN內容屬性,謝謝。 請你詳細說明一下,因爲我是一個鐵軌noob它不是很清楚我在哪裏worng? – Anjan
目前還不清楚你在'add_class_sections'操作中要做什麼。但根據你的代碼片段,你正試圖創建'AccountGrade'在線沒有-11這是錯誤的,你提供了'class_sections_params'其中包含屬性名稱'controller',所以它給你上面提到的錯誤 –