次のコードはエラーになります
例 1
if params[:id] == '2' || params.has_key? :id
abort('params id = 2 or nothing')
end
syntax error, unexpected tSYMBEG, expecting keyword_then or ';' or '\n'
if params[:id] == '2' || params.has_key? :id
ただし、条件文を切り替える|| 括弧を追加すると 100% 機能します。
例 2
if params.has_key? :id || params[:id] == '2'
abort('params id = 2 or nothing')
end
例 3
if (params[:id] == '2') || (params.has_key? :id)
abort('params id = 2 or nothing')
end
例 1 でエラーが発生する理由を説明できる人はいますか?
ありがとう