私はキャンペーンと素材モデルです。子モデル内で親オブジェクトIDを取得するにはどうすればよいですか?入れ子式
class Campaign < ApplicationRecord
has_many :materials
accepts_nested_attributes_for :materials, reject_if: :all_blank, allow_destroy: true
end
と
class Material < ApplicationRecord
belongs_to :campaign
def code=(val)
new_code = val
suffixes = %w(.png .jpg .jpeg .gif .bmp)
urls = URI.extract(new_code, ['http', 'https'])
urls.each do |url|
new_code = new_code.gsub(url, "#{url}&var1=#{self.campaign.id}") unless url.ends_with? *suffixes #<--- (this is not working
end
write_attribute(:code, new_code)
end
end
材料は属性コードを持っており、それを作成している間、私は、関連キャンペーンのIDが含まれているリンクで、この属性のコードを記入したいです。
キャンペーンのはの中身のモデルですか?
UPDATE
申し訳ありませんが、私は非常によく説明していませんでした。各材料は、1つのキャンペーンのためであるので、上記材質モデルでは、私は中にコード属性を移入する親IDを取得することはありません:campaigns
belongs_to :campaign
だ
申し訳ありませんが、問題は非常にうまく説明できませんでした。私は質問を更新しました。 –
あなたの質問に私の編集がお役に立てば幸いです。 – SteveTurczyn