我收到错误:syntax error, unexpected keyword_end, expecting end-of-input
。通常我会问这样的问题,但我根本不能错误!这是我的完整型号代码:
错误出现在方法add_gelesen第48行:end
感谢社区!
class Message < ActiveRecord::Base
attr_accessor :current_user, :current_department
before_save :set_sender, :add_gelesen
def set_sender
self.sender_username = @current_user.username
self.sender_model = @current_user.class.to_s
self.sender_id = @current_user.id
if (recipient_username != @current_department.username) && (recipient_model == 'Department')
self.privat = 0
if Object.const_get(recipient_model).find(recipient_id).has_kontakt?(@current_department.id) == false
Object.const_get(recipient_model).find(recipient_id).kontakt(@current_department.id)
end
end
end
def add_gelesen
if self.privat == true
if recipient_username == @current_department.username
f = JSON.parse(@current_department.gelesen)
@current_department.employees.each.do |c|
w = f["#{c.username}"].nil? ? 0 : f["#{c.username}"]
f["#{c.username}"] = w + 1
end
@current_department.update_column(:gelesen, f.to_json)
else
f = JSON.parse(@current_user.gelesen)
w = f[self.recipient_username].nil? ? 0 : f[self.recipient_username]
f[self.recipient_username] = w + 1
@current_user.update_column(:gelesen, f.to_json)
end
else
u = Object.const_get(self.recipient_model).find(self.recipient_id)
f = JSON.parse(u.gelesen)
@current_department.employees.each.do |c|
w = f["#{c.username}"].nil? ? 0 : f["#{c.username}"]
f["#{c.username}"] = w + 1
end
Department.find(self.recipient_id).employees.each.do |g|
w = f["#{g.username}"].nil? ? 0 : f["#{g.username}"]
f["#{g.username}"] = w + 1
end
u.update_column(:gelesen, f.to_json)
end
end
end
答案 0 :(得分:8)
其中带有do
的行不应该包含.
@current_department.employees.each.do |c|
应该是
@current_department.employees.each do |c|
do
是开始一个块的关键字,而不是each