如果句子 Rails
If sentence on Rails
此代码来自控制器(class MainController < ApplicationController
)在控制台上我可以查看来自 puts wallMessage.messagedestiny
和 puts current_user.id
的内容但在下一行中不显示句子中的任何内容值相同的地方,代码如下:
Message.each do |wallMessage|
puts wallMessage.messagedestiny
puts current_user.id
if wallMessage.messagedestiny == current_user.id # <-- from here don't show anything from the following content in the sentence
puts "*** entra en el each y devuelve el wallMessage"
puts wallMessage
@wallMessages.push(wallMessage.messagecontent)
User.find_by(id: wallMessage.messagesender) do |messageSender|
@messageSenders.push(messageSender.username)
end
end
end
如果 if
语句没有被执行,很明显 type
的值不匹配。
试试这个,你可以自己检查一下。
puts wallMessage.messagedestiny.class # displays the type of object
puts current_user.id.class
或
puts wallMessage.messagedestiny.class == current_user.id.class
您可以将其中一个值的 type
转换为另一个值并进行比较。
已解决!
if wallMessage.messagedestiny == String(current_user.id) # <-- Solution is convert to String cause current_user.id.class on console returned a BSON object
puts "*** entra en el each y devuelve el wallMessage"
puts wallMessage
@wallMessages.push(wallMessage.messagecontent)
User.find_by(id: wallMessage.messagesender) do |messageSender|
@messageSenders.push(messageSender.username)
end
end
此代码来自控制器(class MainController < ApplicationController
)在控制台上我可以查看来自 puts wallMessage.messagedestiny
和 puts current_user.id
的内容但在下一行中不显示句子中的任何内容值相同的地方,代码如下:
Message.each do |wallMessage|
puts wallMessage.messagedestiny
puts current_user.id
if wallMessage.messagedestiny == current_user.id # <-- from here don't show anything from the following content in the sentence
puts "*** entra en el each y devuelve el wallMessage"
puts wallMessage
@wallMessages.push(wallMessage.messagecontent)
User.find_by(id: wallMessage.messagesender) do |messageSender|
@messageSenders.push(messageSender.username)
end
end
end
如果 if
语句没有被执行,很明显 type
的值不匹配。
试试这个,你可以自己检查一下。
puts wallMessage.messagedestiny.class # displays the type of object
puts current_user.id.class
或
puts wallMessage.messagedestiny.class == current_user.id.class
您可以将其中一个值的 type
转换为另一个值并进行比较。
已解决!
if wallMessage.messagedestiny == String(current_user.id) # <-- Solution is convert to String cause current_user.id.class on console returned a BSON object
puts "*** entra en el each y devuelve el wallMessage"
puts wallMessage
@wallMessages.push(wallMessage.messagecontent)
User.find_by(id: wallMessage.messagesender) do |messageSender|
@messageSenders.push(messageSender.username)
end
end