@Kizuchan:
Turns out Sanji is a character with these things called feelings. No matter how rational people are feelings are kind of a troublesome thing and Sanji can't stay rational and calm when it comes to this.
Exactly. You can't, as a reader who "knows" a lot more than the characters and that can see things from a totally different perspective, think of a more "rational" reaction (or a reaction that would lead to a better outcome?) and blame a character for not following it.
Sanji has been under insane amount of pressure: he was beaten by his father, beaten up by his brothers, saw a woman get beat pretty bad by his fault (indirectly), and blackmailed by this whole lot (his family) that traumatized him as a kid. While he was willing to resist a few chapters ago, he isn't anymore. I'm guessing he considers that the best thing to do in order to save those he loves is to give up, himself. Currently, trying to run away would only lead to his hands, and Zeff, blowing up.
This is why he tried to make Luffy go away, instead of """discretely""" showing him why he couldn't flee himself (discretely? what if his family had had doubts about anything? can he take such a risk when Zeff's life is on the line? what if Luffy had tried getting the key from Big Mom!?).
Plus, with the alert going on, he may have understood that if they stay, his friends may get slaughtered.
So as he was trying to sacrifice himself, was willing to live a life he didn't choose just to protect those he cares about, Luffy reminded him that he as a person was important, and that he needed him. Maybe he felt bad for having hit Luffy? Felt bad for insulting his friends, that he loves above all? Or maybe it's just the result of all the stuff he's going through, maybe he feels like he's facing a terrible dilemma, etc.
I don't get how we can blame Sanji for doing what he did in this chapter. Things really aren't as easy as they seem to be. I'm loving how things turned out.