我使用的是Rails 4,並且有一個Article
模型,它具有answer
,side_effects
和benefits
作爲屬性。在保存之前對屬性的鍵進行插值
我正在嘗試創建一個before_save
方法,該方法會自動查看副作用和優點,並創建與該網站上另一篇文章相對應的鏈接。
而不是寫兩個幾乎相同的方法,一個用於副作用和一個好處,我想使用相同的方法並檢查以確保該屬性不等於answer
。
到目前爲止,我有這樣的事情:
before_save :link_to_article
private
def link_to_article
self.attributes.each do |key, value|
unless key == "answer"
linked_attrs = []
self.key.split(';').each do |i|
a = Article.where('lower(specific) = ?', i.downcase.strip).first
if a && a.approved?
linked_attrs.push("<a href='/questions/#{a.slug}' target=_blank>#{i.strip}</a>")
else
linked_attrs.push(i.strip)
end
end
self.key = linked_attrs.join('; ')
end
end
end
但鏈上一樣,關鍵給了我一個undefined method 'key'
。
我該如何去插入屬性?
這正是我需要的..非常感謝你。我想在除了答案之外的所有屬性上執行此方法...這就是爲什麼我正在循環。 Thx再次! @Taryn – Kathan
啊很酷的權利 - 這是從給出的代碼不清楚。很高興幫助:) –
在我接受答案之前,您還有一個問題需要解決......我如何爲這些屬性指定一個新值? 'self.send(key)=「新值」不起作用。 – Kathan