关于 RoR 的关闭声明
Close statements on RoR
我正在尝试使用 Mongoid 在 Rails 上的用户之间创建联系人。控制台显示一个语法错误:
MyApp/app/controllers/contact_controller.rb:18: syntax error, unexpected end-of-input, expecting keyword_end
这是控制器:
class ContactController < ApplicationController
def addNew
@newFriend = params[:username]
puts "***value of @newFriend***"
puts @newFriend
puts "***end****"
Contact.where(owner: current_user).where(friendlist: params[:username]) do |contact|
puts "***value of @contactAlreadyExists***"
puts contact
puts "***end****"
if contact == nil
Contact.find_or_create_by(owner: current_user) do |contact|
contact.push(friendlist: params[:username])
end
redirect_to "/"
end
end
这是模型:
class Contact
include Mongoid::Document
include Mongoid::Timestamps
field :owner, :type => String
field :friendlist, :type => Array
embedded_in :users
end
您的控制器中缺少 end
。检查下面的语法。
class ContactController < ApplicationController
def addNew
Contact.where(owner: current_user).where(friendlist: params[:username]) do |contact|
....
if contact == nil
Contact.find_or_create_by(owner: current_user) do |contact|
<-- missing end Contact.find_or_create_by ... do |contact|
end <--- Okay with if block
<-- missing end Contact.where ... do |contact|
redirect_to "/"
end <--- Okay with fucntion addNew
end <--- Okay with ContactController
我正在尝试使用 Mongoid 在 Rails 上的用户之间创建联系人。控制台显示一个语法错误:
MyApp/app/controllers/contact_controller.rb:18: syntax error, unexpected end-of-input, expecting keyword_end
这是控制器:
class ContactController < ApplicationController
def addNew
@newFriend = params[:username]
puts "***value of @newFriend***"
puts @newFriend
puts "***end****"
Contact.where(owner: current_user).where(friendlist: params[:username]) do |contact|
puts "***value of @contactAlreadyExists***"
puts contact
puts "***end****"
if contact == nil
Contact.find_or_create_by(owner: current_user) do |contact|
contact.push(friendlist: params[:username])
end
redirect_to "/"
end
end
这是模型:
class Contact
include Mongoid::Document
include Mongoid::Timestamps
field :owner, :type => String
field :friendlist, :type => Array
embedded_in :users
end
您的控制器中缺少 end
。检查下面的语法。
class ContactController < ApplicationController
def addNew
Contact.where(owner: current_user).where(friendlist: params[:username]) do |contact|
....
if contact == nil
Contact.find_or_create_by(owner: current_user) do |contact|
<-- missing end Contact.find_or_create_by ... do |contact|
end <--- Okay with if block
<-- missing end Contact.where ... do |contact|
redirect_to "/"
end <--- Okay with fucntion addNew
end <--- Okay with ContactController