나는 누군가가 이것을 빨리 볼 수 있는지 궁금해했다. 나는 측정 단위를 변환하는 간단한 변환 응용 프로그램을 만들고 있습니다. 각 테이블 사이의 관계와 함께 각각의 관계를 저장하는 조인 테이블을 사용하여 테이블을 자체 참조 할 수 있어야합니다. 이것은 관계의 어느 한 쪽에서 참조 될 것입니다. 예를 들어, 1cm = 10mm 및 10mm = 1cm. 이 작품을 좋아 대부분의 경우ROR 자체 참조 has_many through with accept_nested_attributes_for
#migrations
create_table :measures do |t|
t.string :name
end
create_table :measure_measures do |t|
t.integer :measure_id
t.integer :related_measure_id
t.integer :conversion
end
class Measure < ActiveRecord::Base
has_many :related_measures,
:foreign_key => 'measure_id',
:class_name => 'MeasureMeasure',
:dependent => :destroy
has_many :measures, :through => :related_measures
accepts_nested_attributes_for :related_measures,
:reject_if => proc { |attrs| attrs['related_measure_id'].blank? ||
attrs['quantity'].blank? },
:allow_destroy => true
end
#controller
@measure = Measure.find params[:id
#form
<% form_for @measure do |f| %>
<% fields_for :related_measures do |f_r_m| %>
<%= f_r_m.text_field :related_measure_id -%>
<%= f_r_m.text_field :quantity -%>
<% end %>
<% end %>
:
그래서 지금까지 나는이 있습니다. 단, 관련 측정의 이름은 소유자 만 액세스 할 수 있습니다. 내 최선의 노력 내가 그것을 설정하고 오류를받을 수 없습니다에도 불구하고
f_r_m.object.related_measure.name
하지만 명확하게 :
나는 이런 식으로 어떻게 든 그것을 얻을 필요가있다.
undefined method `owner_measure' for #<MeasureMeasure:0x1053139a8>
도움을 주시면 대단히 감사하겠습니다. :)
오류가 있습니까? 그렇다면 질문에 추가 할 수 있습니까? – marcgg
답장을 보내 주셔서 감사합니다. 끝에 오류 메시지가 추가되었습니다. – mark