0
- 我使用acts_as_list寶石在一個Rails應用程序
- 我的職位表中有一個位置列
- 位置被分配在我的模型中的before_create回調中:
這是代碼爲我發表的模型:
class Post < ActiveRecord::Base
acts_as_list
before_create :set_position
attr_accessible :title, :description, :category_id
validates :position, :presence => true, :uniqueness => true
protected
def set_position
self.position = Post.all.size + 1
end
end
我的問題: 我不希望用戶能夠設置的位置,所以我從發佈形式取出位置字段。當我提交新帖子時,驗證失敗,並且我被告知該位置不能爲空。
我意識到我的驗證失敗了,因爲用戶並沒有自己輸入位置,但是我已經在before_filter中設置了位置,所以如何在執行驗證時獲得rails的使用信息?
獎金問題 表單提交,當我刪除了驗證,但我不知道爲什麼這樣的作品,因爲我沒有通過位置到attr_accessible?我將其他一些符號傳遞給它,如下所示:attr_accessible :title, :description, :category_id
但我沒有通過:position
。那裏可能有問題嗎?應該採取attr_protected?
感謝返回任何錯誤,這是完美的。 – stephenmurdoch 2010-12-14 18:16:14
我所有的榮幸 – codevoice 2010-12-14 18:21:19