Tôi đang sử dụng Ruby on Rails 3 và tôi muốn ghi đè (có thể trong tệp mô hình) phương thức as_json
hoặc to_json
để yêu cầu HTTP respond_to
mà không bao gồm một số thông tin.Cách ghi đè phương thức 'as_json' hoặc 'to_json' để 'respond_to' mà không bao gồm thông tin được chỉ định?
Trong Tài khoản của tôi mô hình Tôi có
def as_json(options = {})
super(
:except => [
:password
]
)
end
Trong điều khiển của tôi, tôi có
format.json {
render :json => @account, :status => 200
}
Khi tôi thực hiện một yêu cầu, ví dụ, để /account/1.json
tôi có trở lại cũng là mật khẩu thuộc tính đó vì lý do an ninh, tôi không muốn.
Vì vậy, làm cách nào để ngăn chặn bao gồm thông tin được chỉ định?
tôi có thể làm điều này và nó hoạt động
format.json {
render :json => @account.to_json(:except => [:password]), :status => 200
}
nhưng nó tôi cần phải Refactor.
các giải pháp sau đây của tôi đang làm việc cho tôi mà không cần tái cấu trúc. Họ không làm việc trong môi trường của bạn? – tommasop