考虑以下代码,它响应 GET '/venues/:id':
func venueShow(w http.ResponseWriter, req *http.Request) {
// get ID from params
vars := mux.Vars(req)
id := vars["id"]
// initialise new struct
var venue Venue
// select by id and scan into struct
db.First(&venue, id).Scan(&venue)
// turn it to json
response := structToJSON(&venue)
// write headers and provide response
w.Header().Set("Content-Type", "application/json")
w.Write(response)
}
Run Code Online (Sandbox Code Playgroud)
和:
func structToJSON (s interface{}) (response []byte) {
// turn it into pretty-ish json
response, err := json.MarshalIndent(&s, "", " ")
if err != nil …Run Code Online (Sandbox Code Playgroud) 我无法让Rails立即向多个用户发送电子邮件.我正在尝试向与我们网站签名的多个场所发送通知,以便与其匹配的查询获得批准.
待定查询必须由管理员批准.邮件被传递@enquiry,即电子邮件被触发时.在我这里显示Enquiries controller:
def approve
@enquiry.approve
redirect_to [:admin, @enquiry], notice: 'Enquiry is approved.'
SupplierMailer.new_enquiry(@enquiry).deliver
end
Run Code Online (Sandbox Code Playgroud)
在我Supplier_mailer.rb,我有这个方法:
def new_enquiry(enquiry)
@enquiry = enquiry
@enquiry.venues.each do |venue|
mail(to: venue.supplier.user.email, subject: 'You have a new enquiry')
end
end
Run Code Online (Sandbox Code Playgroud)
目前,它只发送到1个电子邮件地址,因此不能正常循环.
楷模:
Enquiry
has_and_belongs_to_many :venues
Supplier
has_many :venues
has_one :user
Run Code Online (Sandbox Code Playgroud)
我做错了什么?
谢谢