我有一個Message
模型,其布爾型from_posting?
屬性默認爲false
。更新boolean attr?保存之前
在某些情況下,我希望在保存消息之前將此屬性設置爲true
。
def create
@message = current_user.sent_messages.build(message_params)
if params[:reply] == 'true'
@message.from_posting? = true
end
if @message.save
render json: @message, status: 200, serializer: MessageSerializer
else
render json: @message.errors, status: 400
end
end
但@message.from_posting? = true
拋出一個unexpected =
錯誤。我可以做@message.title ='something'
,但爲什麼我不能使用attr_accessor
設置布爾值,當attr在?
結束?
我想過保存記錄,然後更新from_posting?
如果我需要,但這只是看起來像一個額外的數據庫寫入。我嘗試使用@posting.toggle(from_posting?)
,但也會在from_posting?
上拋出錯誤。
是屬性名稱from_posting還是from_posting ?,通常應該將屬性from_posting命名爲不以問號結尾。 – Thresh 2014-09-23 13:46:03
這是from_posting?與問號。我認爲最好的做法是用問號來命名boolean attr? – user2936314 2014-09-23 13:46:45
不是最好的做法是結束方法返回帶有問題的布爾值,順便說一句,這是通過rails自動添加的。所以如果你有一個名爲from_posting的布爾字段(不帶尾隨問號),rails會添加from_posting的助手嗎?這是您可以使用的一種方法(在控制檯中嘗試它)。 – Thresh 2014-09-23 13:50:08