2
我對軌道相當陌生,並且通過我的Champion模型中的belongs_to創建了5個關聯,這些關聯連接到具有has_one關聯的Ability模型,返回到Champion模型。如何使用不同的foreign_key顯示與作爲JSON呈現時的關聯名稱進行自定義belongs_to關聯?
這5個關聯使用與關聯名稱和「_id」匹配的外鍵。當我去渲染頁面時,我將「_id」值看作整數出現,但希望這些值顯示爲實際記錄。因此,不是隻顯示一個整數,而是顯示完整的Ability記錄及其所有字段。
這裏是我的Champion.rb型號:
class Champion < ActiveRecord::Base
attr_accessible :q_id,
:w_id,
:e_id,
:r_id,
:passive_id
belongs_to :q, :class_name => "Ability", :foreign_key => "q_id"
belongs_to :w, :class_name => "Ability", :foreign_key => "w_id"
belongs_to :e, :class_name => "Ability", :foreign_key => "e_id"
belongs_to :r, :class_name => "Ability", :foreign_key => "r_id"
belongs_to :passive, :class_name => "Ability", :foreign_key => "passive_id"
end
而且ability.rb型號:
class Ability < ActiveRecord::Base
has_one :champion
end
而控制器顯示模式:
class ApplicationController < ActionController::Base
protect_from_forgery
def show_all
load_models
respond_to do |format|
format.json { render :json => { "champions" => @champions } }
end
end
protected
def load_models
@champions = Champion.all
end
end
那麼怎麼辦我將它設置爲使JSON顯示「q」,「w」,「e」,「r」和「被動」而不帶「_id」,並顯示整個能力線?現在它只顯示包含ID的實際數據庫字段,但不顯示我想要的記錄。任何幫助表示讚賞!