이 내 협회 위치 :필터 - 레일 3
class Activity < ActiveRecord::Base
has_many :infos, :dependent => :destroy
has_many :events, :dependent => :destroy
accepts_nested_attributes_for :infos
end
class Event < ActiveRecord::Base
belongs_to :activity
has_many :infos, :through => :activity
end
class Info < ActiveRecord::Base
has_one :language
belongs_to :activity
end
지금 내가 모든 이벤트와 함께 XML을받을 수 있으며, 자신의 정보를 정기적으로 사용 :
@Events = Event.all
respond_to do |format|
format.xml { render :xml => @events.to_xml(:include => [:infos ]) }
end
문제는 모든 언어의 정보를 얻을 수 있다는 것입니다.
각 이벤트에 대해 language1 정보 만 XML에 표시되도록 필터 ("info.language.id == 1"과 같이)를 사용할 수 있습니까?
감사
UPDATE :
안녕 마이크, 당신의 대답을 주셔서 감사합니다.
undefined method `eq' for nil:NilClass Rails.root: /Users/abramo/village
Application Trace | Framework Trace | Full Trace app/controllers/events_controller.rb:29:in
block (2 levels) in locale' app/controllers/events_controller.rb:28:in
locale'
과 선 (28, 29) 내 로케일 방법의 마지막 줄은 다음과 같습니다 :
def locale
@events = Event.joins(:infos => :language).where("languages.id = 2")
respond_to do |format|
format.xml { render :xml => @events.to_xml(:include => [:infos ]) }
end
end
난 정말 이해가 안 ... 무엇을
불행하게도 나는이 오류를 받고 있어요 개체가 Nil입니까?
답장을 보내 주셔서 감사합니다. 문제는 아직 해결되지 않았습니다. (내 업데이트 된 게시물을 좀 봐) – Abramodj